从RHEL 7开始,运行级别(runlevel)概念不再存在,现在将以前称为运行级别1的概念称为emergency.target。
因此,我们将使用术语“emergency.target”来表示“运行级别1”
要进入应急目标级别(emergency.target)可能有两种情况
- 您有一个可以正常工作的shell环境
- 您的计算机无法启动
场景 1:当你有一个可以工作的 shell 时
在这种情况下,我们可以使用以下命令将现有的运行级别更改为“emergency.target”
我们可以使用以下命令切换到救援模式
[root@onitroad ~]# systemctl isolate rescue.target PolicyKit daemon disconnected from the bus. We are no longer a registered authentication agent.
或者
[root@onitroad ~]# systemctl rescue PolicyKit daemon disconnected from the bus. We are no longer a registered authentication agent. Broadcast message from root@onitroad.lab on pts/1 (Sun 2015-12-24 23:47:08 IST): The system is going down to rescue mode NOW!
重要说明:此命令类似于 systemctl isolate rescue.target
,但它还会向当前登录系统的所有用户发送一条信息性消息。
要防止 systemd 发送此消息,请使用 --no-wall 命令行选项运行此命令:
# systemctl --no-wall rescue
场景 2:当你无法使用shell时
如果我们遇到与启动相关的问题,那么很明显我们需要转到紧急目标以获取 shell 以进一步解决问题。
现在使用 RHEL 7,切换到emergency.target 的步骤与 RHEL 6 和更早版本中使用的步骤完全不同。
将运行级别切换到emergency.target的步骤:
- 在启动过程中出现 GRUB 菜单后,我们将看到一个闪屏,其中包含用于启动系统的可用内核列表,对于我的系统,我只安装了一个内核和一个救援镜像
- 使用箭头键选择要编辑的内核,以突出显示要用于进入 Emergency.target 的内核
- 然后按字母“e”键编辑启动项
Red Hat Enterprise Linux Server (3.10.0-693.el7.x86_64) 7.4 (Maipo) Red Hat Enterprise Linux Server (0-rescue-d6e5b9fa407542fcbcaa72e7e6b777e2) 7.4 (Maipo) Use the ^ and v keys to change the selection. Press 'e' to edit the selected item, or 'c' for a command prompt.
下一个屏幕应该类似于我选择 3.10.0-693.el7.x86_64 内核进行编辑的以下示例。
setparams 'Red Hat Enterprise Linux Server (3.10.0-693.el7.x86_64) 7.4 (Maipo)' load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' af0be92e-0721-46b8-affd-60f9baff3652 else search --no-floppy --fs-uuid --set=root af0be92e-0721-46b8-affd-60f9baff3652 fi linux16 /vmlinuz-3.10.0-693.el7.x86_64 root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet net.ifnames=0 systemd.unit=emergency.target initrd16 /initramfs-3.10.0-693.el7.x86_64.img Press Ctrl-x to start, Ctrl-c for a command prompt or Escape to discard edits and return to the menu. Pressing Tab lists possible completions.
- 使用箭头按钮查看屏幕上以“linux16”开头的行,在某些情况下,它也可以是linux和linuxefi
- 当闪烁的光标位于相应的行上后,按键盘上的“结束”键转到该行的结束处
- 按下“空格键”并提供您想将系统引导到的目标的详细信息,例如,要引导到紧急目标,请使用以下语法
systemd.unit=emergency.target
- 修改后,该行看起来像这样:
linux16 /vmlinuz-3.10.0-693.el7.x86_64 root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet net.ifnames=0 systemd.unit=emergency.target
- 下一步完成后,按“回车键”保存该行
- 最后按“Ctrl+x”以使用您所做的更改引导系统
- 接下来,您将看到屏幕下方,您必须输入“root”用户密码才能继续
- 在给出密码后,您将获得shell
日期:2020-06-02 22:16:54 来源:oir作者:oir