最近在一次調CentOS系統解析度的時候出了意外,造成的結果就是登錄後提示“Could not apply the stored configuration for monitors”,結果上網一搜,原來是我在改解析度的時候被系統創建了顯示器配置文件,等我一登錄系統就讀取配置文件,發現沒有匹配的顯示 ...
最近在一次調CentOS系統解析度的時候出了意外,造成的結果就是登錄後提示“Could not apply the stored configuration for monitors”,結果上網一搜,原來是我在改解析度的時候被系統創建了顯示器配置文件,等我一登錄系統就讀取配置文件,發現沒有匹配的顯示器,結果報錯。網上的解決辦法是刪除那個顯示器配置文件,也就是執行如下命令:
rm -f $HOME/.config/monitors.xml
可話雖如此,網上那些人還可以在提示此錯誤時打開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”文件,結果顯示的內容跟我們在編輯啟動菜單時看到的內容一樣。當然,查看和修改該文件需要超級用戶許可權。不過,一般不建議修改。