Boot

在另一個文件系統中更新 Grub

  • October 26, 2012

我在 Ubuntu 12.04 中安裝了一些 GUI 應用程序後,託管在 Rackspace 中的雲伺服器停止工作,該應用程序自動安裝了它的依賴包 ubuntu-desktop(或其他類似的(GUI)包)。

實際上,這發生在兩週前。

但是今天是我第一次在安裝 ubuntu-desktop(或類似的軟體包)後重新啟動伺服器,我意識到網路伺服器無法啟動,因為它沒有足夠的 RAM 來載入 GUI(而且它沒有圖形設備也不是) - 在將“載入啟動螢幕”(或類似的東西)列印到終端后它會凍結。

為了修復它,我可以訪問 Rackspace 中的救援模式,在那裡我可以訪問我的伺服器的文件系統而無需實際啟動它,因此我可以在打開它之前在這里和那裡調整配置。

我做了一些研究,發現我可以強制控制台模式將 Grub 配置從 GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash” 更改為 GRUB_CMDLINE_LINUX_DEFAULT=“text”。但是這個更改需要執行update-grub,而我不能,因為我只能訪問伺服器文件系統,但不能登錄它來執行命令。

你們明白我的問題嗎?我夠清楚嗎?對不起我的英語不好,我還在學習它。

所以,這是我的問題:

如何在不登錄伺服器的情況下更新 grub?這甚至可能嗎?如果沒有,是否有任何其他方法可以通過僅調整配置文件而無需登錄伺服器來強制啟動進入文本模式?

謝謝。

耶!

我通過在已掛載的文件系統上手動編輯 /boot/grub/grub.cfg 並將單次出現的“quiet splash”替換為“text”來使其工作。這樣,update-grub就不需要了。

這不是一個優雅的解決方案,但它確實有效。

現在我可以再次通過 SSH 正常連接到我的伺服器。我稍後會執行update-grub,以確保此手動文件編輯不會產生任何副作用。

所以,這就是我今天學到的:不要在那些廉價的低性能雲伺服器上安裝 GUI,因為它們沒有足夠的資源來啟動,這使得事情難以修復。

引用自:https://serverfault.com/questions/442793