Preface
此文章主要以 Things to Know About Grub2 為基礎,而對象是那些開啟 /etc/grub2.cfg(或 /boot/grub2/grub.cfg)編輯開機選單的用戶。
另外請參閱 上游關於 grub2 的文檔 和 grub 的使用手冊。
開機選單是自動建立出來的
請勿嘗試手動編輯開機選單,因為它是按照 /boot/ 目錄內的檔案自動建立出來的。然而你可以調整 /etc/default/grub 檔內定義的通用設定,及在 /etc/grub.d/40_custom 檔內加入個別自訂項目。/etc/default/grub 檔的內容如下:
- GRUB_TIMEOUT=5
- GRUB_DEFAULT=saved
- GRUB_DISABLE_SUBMENU=true
- GRUB_TERMINAL_OUTPUT="console"
- GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"
- GRUB_DISABLE_RECOVERY="true"
UEFI 系統上的指令是 grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
如何定義預設項目
若要列出系統開機時顯示的所有選項,請執行以下指令:
又或者:
預設的項目是透過 /etc/default/grub 檔內的 GRUB_DEFAULT 行來定義。不過,要是 GRUB_DEFAULT 行被設定為 saved,這個選項便儲存在 /boot/grub2/grubenv 檔內。你可以這樣檢視它:
/boot/grub2/grubenv 檔是不能手動編輯的。請採用以下指令:
留意上述 awk 指令輸出的第一個項目的編號是 0。
修復模式及緊急模式
Linux 0-rescue-... 這個選項會令系統進入修復模式。這等同於單獨用戶模式。此外,CentOS 並提供了一個緊急模式。在這模式下,systemd 啟動後便會立刻出現一個指令殼。其它程序都不會被啟動,而主檔案系統將會以唯讀模式掛載。其它檔案系統都不會被掛載。要進入緊急模式,請在 grub2 的選單按 e 鍵來編輯設定。然後在內核選項的末端加入 systemd.unit=emergency.target
Ps. 如果你與 systemd 關係良好 :-) 你可以在 /usr/lib/systemd/system/emergency.service 檔內檢視緊急模式時發生甚麼事情。
Stage 1.5(core.img)的收錄位置
grub/grub2 的檔案都位於 /boot 檔案系統內。在一個傳統(非 UEFI)的 BIOS 環境下,首先會載入一個開機映像(grub 是 stage1,grub2 是 boot.img),接著是載入 stage 1.5(grub2 是 core.img),它會啟動 /boot 檔案系統內的程式。stage 1.5 的收錄位置可以是緊接 MBR,或在 /boot 檔案系統的分割區內。在 CentOS 7,預設的位置是緊接 MBR。見 此圖像。
沒有留言:
張貼留言