一、如何进入救援模式
二、进入救援模式后的一些小问题
0x1 如何进入救援模式
- 详细的救援模式和紧急模式可参考:
- https://linux/article-14709-1.html
1 什么是救援模式?
在 Linux 发行版中,救援模式等效于使用 SysV 作为默认的服务器管理器的 单用户(single user) 模式。在救援模式中,将挂载所有的本地文件系统,将仅启动一些重要的服务。但是,不会启动一般的服务(例如,网络服务)。
救援模式在不能正常引导系统的情况下是很有用的。此外,我们可以在救援模式下执行一些重要的救援操作,例如,重新设置 root 密码 。
2 在 Ubuntu 中引导到救援模式
我们可以使用两种方法来引导到救援模式。
方法 一
打开你的 Ubuntu 系统。在 BIOS 徽标出现后,按下 ESC
按键来显示 GRUB 菜单。
在 GRUB 菜单中,选择第一项,并按下 e
按键来编辑它。
GRUB Menu In Ubuntu 22.04 / 20.04 LTS
按下 ↓
按键,并找到以单词 linux
开头的一行代码,并在其结尾处添加下面的一行代码。为到达其结尾处,只需要按下 Ctrl + e
组合键,或使用你键盘上的 END
按键或 ←
/→
按键。
systemd.unit=rescue.target
Edit Grub Boot Menu Entries To Enter Into Rescue Mode In Ubuntu 22.04 / 20.04 LTS
在添加上面的代码行后,按下 Ctrl + x
组合键或按下 F10
按键来引导到救援模式。
数秒后,你将作为 root 用户来登录到救援模式(即单用户模式)。将会提示你按下回车键来进入维护。
下图是 Ubuntu 22.04 / 20.04 LTS 系统的救援模式的样子:
Boot Into Rescue Mode In Ubuntu 22.04 / 20.04 LTS
现在,在救援模式中做你想做的任何事。在救援模式中,在你执行任何操作前,你可能需要以 读/写模式来挂载根(/
)文件系统。
mount -n -o remount,rw /
Mount Root File System In Read Write Mode In Ubuntu 22.04 / 20.04 LTS
在完成后,按下 Ctrl + d
组合键来引导到正常模式。或者,你可以输入下面的任意一个命令来引导到正常模式。
systemctl default
或者
exit
如果你想重新启动系统,而不是引导到正常的模式,输入:
systemctl reboot
3 在 Ubuntu 中引导到救援模式
启动你的 Ubuntu 系统。当 GRUB 菜单出现时,选择第一项并按下按键 e
来编辑。(为到达其行尾处,只需要按下 Ctrl + e
组合键,或使用你键盘上的 END
按键或 ←
/→
按键):
Grub Menu
如果你没有看到 GRUB 菜单,只需要在 BIOS 徽标出现后,按下 ESC
按键来显示 GRUB 菜单。
找到以单词 linux
开头的一行代码,并在其结尾处添加下面的一行代码(为到达其行尾处,只需要按下 Ctrl + e
组合键,或使用你键盘上的 END按键或
←/
→` 按键):
systemd.unit=rescue.target
Edit Grub Menu
在添加上面的代码行后,只需要按下 Ctrl + x
组合键,或按下 F10
按键来引导到救援模式。数秒后,你将作为 root
用户进入维护(即单用户模式)。
下图是 Ubuntu 18.04 LTS 服务器系统的救援模式的样子:
Ubuntu Rescue Mode
接下来,输入下面的命令来挂载根(/
)文件系统为读/写模式。
mount -n -o remount,rw /
0x2 进入救援模式后遇到的一些问题
根据上面设置救援模式进入后,如果还需要输入账号密码,那么在后面继续加上下面这串,即可解决
init=/bin/bash
救援模式下进入无限制shell
lsblk
该命令列出所有可用的磁盘和分区,以及它们的挂载点。常见的输出示例:
fdisk -l
如何查看起始分区
mount /dev/vda1 /mnt
这条命令的意思是将磁盘分区 /dev/vda1
挂载到 /mnt
目录。
/mnt
是一个标准的 Linux 目录,通常用作临时挂载点。它的目的是为临时挂载的文件系统提供一个位置。在一些系统中,管理员可能会用它来挂载额外的磁盘或外部设备,以便访问其中的数据。
mount /dev/vda1 /mnt
命令的作用是将虚拟磁盘 /dev/vda1
挂载到 /mnt
目录。执行该命令后,/mnt
目录将变为 vda1
分区的访问入口,用户可以通过访问 /mnt
目录来查看和操作该磁盘分区中的文件。
挂载成功后
挂载成功后,您即可操作根分区中的数据。您也可使用 mount -o bind
命令,挂载原文件系统的一部分子目录,并通过 chroot
命令用来在指定的根目录下运行指令,具体操作命令如下:
mount -o bind /dev /mnt/vm1/dev
mount -o bind /dev/pts /mnt/vm1/dev/pts
mount -o bind /proc /mnt/vm1/proc
mount -o bind /run /mnt/vm1/run
mount -o bind /sys /mnt/vm1/sys
chroot /mnt/vm1 /bin/bash
设置密码 passwd。然后退出救援模式即可,使用设置的密码就可以正常登录到服务器。