![从 Grub 提示符 RHEL/CentOS 7 引导至非图形模式](https://linux22.com/image/92403/%E4%BB%8E%20Grub%20%E6%8F%90%E7%A4%BA%E7%AC%A6%20RHEL%2FCentOS%207%20%E5%BC%95%E5%AF%BC%E8%87%B3%E9%9D%9E%E5%9B%BE%E5%BD%A2%E6%A8%A1%E5%BC%8F.png)
我知道如果添加“single”一词,您可以通过在 grub 提示符下编辑内核启动选项(按“e”进行编辑)来启动到单用户模式,但是如何启动到非图形模式,使用什么被称为init 3
?在 Ubuntu 上,您可以添加“文本”一词,但这在 CentOS 7 上似乎不起作用。
答案1
CentOS 7 使用 systemd,因此使用目标。
如果您永久想要纯文本模式(例如,您不关心图形的服务器),那么您可以告诉 systemd:
systemctl set-default multi-user.target
现在,在下次重新启动时,您将获得一个文本控制台。这与旧的id:3:initdefault:
设置/etc/inittab
默认运行级别相同。
如果您想从 grub 一次性重新启动(例如,由于您试图修复错误的视频驱动程序),那么添加到该kernel
行的选项是
systemd.unit=multi-user.target
答案2
按“e”编辑 GRUB 菜单后,找到以“linux16...”或“linuxefi...”开头的行,并将“3”附加到该行的末尾。
在重新启动之前,您可以通过键入以下内容了解该行中的其他内容:
$ cat /proc/cmdline
例如,我的例子的输出是:
BOOT_IMAGE=/vmlinuz-3.10.0-327.36.3.el7.x86_64 root=UUID=2cc29b16-fe2b-400f-a39f-3e9048784599 ro vconsole.keymap=us crashkernel=auto vconsole.font=latarcyrheb-sun16 rd.driver.blacklist=radeon LANG=en_US.UTF-8 3
您可以看到附加的“3”。
答案3
当您在控制台键入以下代码时:
cat etc/inittab
你会看到这个:
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#
这告诉我们如何更改默认运行级别。
答案4
虽然3
将作为向后兼容(并且更容易记住)的方法来进入纯文本模式,但“正确”的方法是附加rd.systemd.unit=multi-user.target
注意,这与上面提到的 @stephen-harris 不同(缺少rd.
which initrd 中需要)。如果您正在测试客户 systemd 目标并且想要启动到兼容性选项未涵盖的目标,这非常有用。请参阅此处的文档: https://www.freedesktop.org/software/systemd/man/systemd.html#Kernel%20Command%20Line