在CentOS系统中,开机进入命令行模式(即文本模式)通常是为了节省系统资源、进行服务器管理或排查图形界面相关的问题,不同版本的CentOS(如CentOS 7、CentOS 8/Stream)和不同的启动场景(临时进入或永久设置)对应不同的操作方法,下面将详细说明具体步骤和注意事项。
临时进入命令行模式(无需修改系统配置)
如果只是临时需要进入命令行,不想改变系统的默认启动模式,可以通过以下两种方式实现:
通过GRUB引导菜单临时进入
在系统启动过程中,通过GRUB引导菜单手动编辑启动参数,即可临时进入命令行模式。
- 操作步骤:
(1)开机或重启系统,在出现GRUB引导菜单时(通常在POST自检后,显示CentOS启动选项的界面),快速按下键盘上的E
键,进入GRUB编辑模式。
(2)在编辑界面,使用方向键找到以linux16
或linuxefi
开头的行(不同版本可能略有差异,该行包含内核启动参数)。
(3)将光标移动到该行的末尾,输入systemd.unit=multi-user.target
(CentOS 7及以上版本)或init=/bin/bash
(旧版本,较少使用),然后按Ctrl+X
或F10
启动系统。
(4)系统将以命令行模式启动,登录后即可执行操作,但重启后会恢复默认的启动模式(图形界面或命令行)。
系统启动后切换到命令行模式
如果系统已启动到图形界面,可通过命令临时切换到命令行模式,但重启后仍会恢复默认设置。
- CentOS 7及以下版本:
执行命令init 3
,系统会立即切换到多用户命令行模式,关闭图形界面相关服务。 - CentOS 8/Stream版本:
执行命令systemctl isolate multi-user.target
,效果与init 3
相同。
若需从命令行切换回图形界面,可执行systemctl isolate graphical.target
(CentOS 7)或startx
(CentOS 8/Stream)。
永久设置默认启动为命令行模式
如果希望系统每次开机都直接进入命令行模式,需要修改系统的默认启动目标(target),以下是不同版本的具体操作:
CentOS 7系统
CentOS 7使用systemd
管理服务,默认启动目标为graphical.target
(图形界面),需修改为multi-user.target
(命令行)。
-
使用
systemctl
命令(推荐)
执行以下命令,将默认启动目标设置为命令行模式:systemctl set-default multi-user.target
执行后,系统会创建
/etc/systemd/system/default.target
文件,并指向multi-user.target
,重启系统即可生效。 -
直接修改配置文件
若systemctl
命令不可用,可手动修改/etc/inittab
文件(CentOS 7虽仍保留该文件,但优先级低于systemctl
):
(1)编辑文件:vi /etc/inittab
(2)找到id:5:initdefault:
这一行(5
代表图形界面),将其修改为id:3:initdefault:
(3
代表命令行模式)。
(3)保存文件后,执行init q
重新加载配置,或重启系统生效。
CentOS 8/Stream系统
CentOS 8/Stream已完全采用systemd
,不再推荐使用/etc/inittab
文件,需通过systemctl
设置默认目标。
- 设置命令行模式:
systemctl set-default multi-user.target
- 验证设置:
执行systemctl get-default
,若返回值为multi-user.target
,则表示设置成功。 - 恢复图形界面:
若需恢复默认图形界面,执行systemctl set-default graphical.target
即可。
不同版本CentOS设置命令行模式对比
版本 | 推荐命令 | 配置文件路径 | 验证命令 |
---|---|---|---|
CentOS 7 | systemctl set-default multi-user.target |
/etc/systemd/system/default.target |
systemctl get-default |
CentOS 8/Stream | systemctl set-default multi-user.target |
/etc/systemd/system/default.target |
systemctl get-default |
注意事项
- 权限问题:修改系统配置文件或执行
systemctl
命令需要root
权限,建议使用sudo
或直接切换到root
用户(su -
)。 - 配置文件备份:修改配置文件前,建议先备份原文件(如
cp /etc/inittab /etc/inittab.bak
),避免误操作导致系统无法启动。 - GRUB超时时间:如果GRUB引导菜单显示时间过短(默认3秒),可通过修改
/etc/default/grub
文件中的GRUB_TIMEOUT
值延长(如GRUB_TIMEOUT=10
),修改后执行grub2-mkconfig -o /boot/grub2/grub.cfg
(CentOS 7)或grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
(UEFI模式)使配置生效。 - 远程服务器操作:如果是远程服务器,建议通过SSH连接后再修改配置,避免因误操作导致无法进入图形界面而无法登录。
相关问答FAQs
问题1:修改默认启动模式为命令行后,如何重新进入图形界面?
解答:若已设置默认启动为命令行模式,可通过以下方式临时或永久进入图形界面:
- 临时进入:在命令行执行
startx
(CentOS 8/Stream)或init 5
(CentOS 7),但重启后会恢复命令行模式。 - 永久恢复:执行
systemctl set-default graphical.target
(所有版本),重启系统即可默认进入图形界面。
问题2:通过GRUB编辑参数进入命令行后,无法输入命令怎么办?
解答:若进入命令行后无法输入命令,可能是系统未正确挂载文件系统或内核参数错误,可尝试以下步骤:
- (1)检查是否为
read-only
文件系统:执行mount -o remount,rw /
重新挂载根目录为读写模式。 - (2)若仍无法输入,可能是内核参数错误,返回GRUB编辑界面,检查
linux16
或linuxefi
行末尾的参数是否正确(如删除多余的空格或错误参数)。 - (3)若问题依旧,可尝试恢复默认GRUB配置:执行
grub2-mkconfig -o /boot/grub2/grub.cfg
(CentOS 7)后重启。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/17087.html