Fedora25現在已經用上了grub2,雖在名稱上是grub的升級版,但其代碼實際上被完全重寫了。對於最終用戶來講,grub2帶來了若干改進,如:
- 自動搜索可用的內核和硬盤中的可用系統。
- 可支持NTFS等更多分區格式。
- 可啓動Windows、Mac OS X等多種系統。
- 更人性化的設計,如鍵入命令時TAB補全很強大,輸出很長時會分頁顯示等。
從配置的角度,grub2主要有以下幾點不同
- /boot/grub/menu.lst被/boot/grub/grub.cfg所取代
- 主配置文件grub.cfg不能直接被用戶修改,而是由系統自動生成
- 每當安裝內核、更新Grub 2或用戶主動運行grub-mkconfig -o /boot/grub/grub.cfg(曾經是update-grub)後,grub2會根據用戶配置文件重新生成grub.cfg。
- 可編輯的grub2配置文件主要包括/etc/default/grub、和/etc/grub.d/下的各文件。
- 分區命名方式有變,第一個分區現在是1而不是0,但第一個設備仍然以0開始計數,如(hd0, 1)表示第一塊硬盤上的第一個分區。
Warning!使用Grub 2時,不要手動編輯/boot/grub/grub.cfg!否則所做的修改在Grub更新或安裝內核等情況下消失。修改了配置文件後,一定要運行update-grub才能使新的配置生效。
如果grub2啓動失敗,會進入恢復模式,此時,屏幕上會顯示 grub rescue> 字樣。只要grub2還在硬盤上,就可使用該控制檯將其啓動。博主把fedora裝在了移動硬盤上,結果這個grub2裝在了windows這個盤裏,當啓動的時候沒有插移動硬盤就會出現這個模式。
# 在 grub rescue> 環境下輸入如下命令, (hdX,Y)爲包含Grub2的分區
set prefix=(hdX,Y)/boot/grub
insmod (hdX,Y)/boot/grub/normal.mod
normal
把(hdX,Y)換成Grub2所在的分區,執行後應該就能看到啓動菜單了。
常用命令如
# 重新生成配置文件
grub-mkconfig -o /boot/grub/grub.cfg
# 將grub2安裝到硬盤引導扇區
grub-install --root-directory=/ /dev/sda
當初想給grub加密的時候查了半天資料才找到的,源自各大維基以及GNU GRUB整理