如何在RHEL/CentOS 7/8 Linux中引导进入单用户模式

时间:2020-01-09 10:37:31  来源:igfitidea点击:

如何在Linux中以单用户模式启动。在Red Hat 7/8 Linux中启动进入救援模式或者紧急模式。 Linux中抢救目标和紧急目标之间的区别。如何使用和不使用ISO CD-ROM引导到紧急目标(正式为单用户模式)。如何在Linux中启动进入维护模式。

"在CentOS/RHEL 6和更早的版本中使用了单用户模式术语,但现在在CentOS/RHEL 7和8中使用了紧急和紧急模式"。现在,在本文中,我将分享使用systemd.unit引导进入维护模式的步骤。

1.引导到单用户模式或者救援模式(rescue.target)

  • 救援模式提供了一个方便的单用户环境,并允许我们在无法完成常规启动过程的情况下修复系统。

  • 在救援模式下,"系统尝试挂载所有本地文件系统"并启动一些重要的系统服务

  • 尽管它不会激活网络接口,也不会允许更多用户同时登录系统。

  • 在Red Hat/CentOS 7/8中,救援模式等效于单用户模式,并且需要root密码。

1.1使用ISO进入维护模式

如何使用CentOS/RHEL 7/8 ISO DVD进入救援模式。

1.2将运行级别从有效的shell更改为rescue.target

如果我们已经具有有效的Shell,则可以从命令行使用systemctl更改运行级别并引导到单用户模式或者救援模式。

# systemctl isolate rescue.target

其中:"孤立"意味着启动在命令行上指定的单元及其依赖项,并停止所有其他单元

或者我们也可以使用

# systemctl rescue

接下来,检查CentOS/RHEL 7/8 Linux主机的图形控制台,它将提示输入" root"用户密码。提供" root"用户密码后,我们将获得一个有效的shell程序。

说明:

如果我们有任何与文件系统相关的错误,则应尝试引导至紧急模式,因为在这种情况下,引导至单用户模式或者救援模式也将失败。

1.3使用GRUB2进入救援模式

  • 现在,假设我们没有有效的Shell,则可以启动到单用户模式或者救援模式,然后可以使用GRUB2. 引导CentOS/RHEL 7/8主机,直到出现GRUB2菜单。

  • 在GRUB2菜单上,按任意按钮可停止启动。接下来,选择要用于引导到单用户模式或者救援模式的内核,然后按" e"编辑GRUB2菜单。

在CentOS/Red Hat 7中,请注意以linux16开头的行,如下所示

linux16 /vmlinuz-3.10.0-693.el7.x86_64 root=/dev/mapper/system-root ro rd.lvm.lv=system/root rd.lvm.lv=system/swap rhgb quiet

在CentOS/Red Hat 8中,请注意以linux开头的行。

linux ($root)/vmlinuz-4.18.0-80.el8.x86_64 root=/dev/mapper/system-root ro crashkernel=auto resume=/dev/mapper/system-swap rd.lvm.lv=system/root rd.lvm.lv=system/swap rhgb quiet
  • 根据环境,在" linuxd"或者" linux16"开头的行末添加" systemd.unit = rescue.target",例如,下面是CentOS/Red Hat 8节点的摘录

  • 按Ctrl + x将CentOS/RHEL 7/8 Linux节点引导到单用户模式或者救援模式,我们会得到相同的提示,以输入root用户密码

2.进入紧急模式(emergency.target)

  • 紧急模式提供了尽可能最小的环境,即使在系统无法进入救援模式的情况下,我们也可以修复系统。

  • 在紧急模式下,"系统仅装载用于读取的根文件系统",不尝试装载任何其他本地文件系统,不激活网络接口,并且仅启动一些基本服务。

2.1使用有效的shell将运行级别更改为Emergency.target

如果我们已经有一个有效的shell,并且希望将运行级别更改为紧急模式,则可以使用systemctl

# systemctl isolate emergency.target

或者

# systemctl emergency

接下来,检查Linux主机的控制台,并提供root用户密码以完成运行级别更改。

2.2使用GRUB2进入紧急模式

与引导到单用户模式下解释的步骤类似,对于Red Hat/CentOS 7,我们将在一行中以" linux16"开头,对于CentOS/Red Hat 8,我们将在一行中以Linux开头。 。

因此,根据环境,在" linux"或者" linux16"行的末尾添加" systemd.unit = emergency.target"。例如下面的截图是从CentOS/Red Hat 8 Linux节点启动进入紧急模式的

ctrl + x继续进行引导,最后,屏幕将再次提示输入root用户密码,如我先前所示。提供root用户密码来获取shell,我们可以其中进一步对环境进行故障排除。