你的位置:首页 > 操作系统

[操作系统]CentOS系统修复模式


最近在一次调CentOS系统分辨率的时候出了意外,造成的结果就是登录后提示“Could not apply the stored configuration for monitors”,结果上网一搜,原来是我在改分辨率的时候被系统创建了显示器配置文件,等我一登录系统就读取配置文件,发现没有匹配的显示器,结果报错。网上的解决办法是删除那个显示器配置文件,也就是执行如下命令:

rm -f $HOME/.config/monitors.

可话虽如此,网上那些人还可以在提示此错误时打开shell,我这CentOS 7系统根本无法打开shell,就一整个错误提示窗口铺满整个屏幕,连关闭按钮都没有,快捷键也用不了,重启依旧无效。

这时我就想到了在开机时进入Linux的修复模式,可开机就俩菜单哪个都不是进入修复模式的。后来我在网上看到有人说可以修改启动菜单项以进入修复模式,于是我就试试,结果还真可以。其实修改起来很简单,当开机进入系统启动菜单选择时,按下“e”键以编辑该启动菜单,再将光标移动到“crashkernel=auto”项,将该项的值由“auto”改为“linux single”。


然后再按“Ctrl-x”重启系统就进入了修复模式,输入root用户密码即可以root用户登录shell。


那么这个“linux single”是何方神圣呢?其实它就是linux的单用户模式,也就是root用户模式,在引导项里面指定了这个值就表示让grub引导内核启动后以root用户模式登录。相应地,我们也可以在“/etc/inittab”配置文件里面指定系统的运行级别,如果指定为1即表示以单用户模式登录。

我们通过在启动菜单里面编辑引导项其实只是临时的,系统重启之后它们又会恢复原值,如果想永久改变它们的某些项,我们可以在grub的配置文件里面进行修改,如果不知道grub的配置文件在什么地方,可以使用命令“whereis grub”进行查找。在我的机子上它位于如下位置:

grub: /usr/lib/grub /etc/grub.d /etc/grub2.cfg /usr/share/grub

那么我们可以查看“/etc/grub2.cfg”文件,结果显示的内容跟我们在编辑启动菜单时看到的内容一样。当然,查看和修改该文件需要超级用户权限。不过,一般不建议修改。