Linux下通過GRUB2實現與Windows的雙啟動
前一篇文章介紹瞭如何在只有Windows系統可以啟動的情況下,通過BCDEdit和Grub4Dos來啟動Linux系統。可是這樣啟動Linux實際上運行了兩次Boot程式。既然通過上述方法已經可以進入Linux系統了,那麼不如重新設定和安裝Linux下原有的Grub。當前GRUB已經升級到GRUB2,其動作方式有很大的不同。menu.lst檔案沒有了(開始有點摸不著頭腦,有點像boot.ini沒有了換成BCD的感覺)。 其實GRUB2已經不再要手動配置啟動檔案,這樣也就不需要menu.lst檔案了[1]。
讓Linux下的GRUB2重新獲得mbr,而且還能夠Boot所有的系統的步驟如下:
1. 更新GRUB2的啟動配置檔案,探索系統中以存在的系統(包括Windows系統)
sudo update-grub
2. 將GRUB2重新安裝並載入為mbr
sudo grub-setup /dev/sdXX[2]
3. 重起系統,就可以通過Linux下的GRUB2啟動所有的系統了。
[1] GRUB2的配置檔案為/boot/grub/grub.cfg,通過update-grub程式將會自動跟新。不建議手動更新!
[2] /dev/sdXX為根檔案系統所存在的分割槽
[2] grub-install也可以用來重新安裝GRUB2,一般是從LiveCD中執行的時候,指定--root-directory選項。
補充:
從GRUB升級到GRUB2的步驟:
1. 安裝grub-pc, grub-common包,
sudo apt-get install grub-pc grub-common
安裝過程中會提示將GRUB2首先安裝到GRUB的chainloader中,進行GRUB2啟動測試。
2. 升級到GRUB2
sudo upgrade-from-grub-legacy
3. 察看一些GRUB2的基本資訊
sudo grub-install -v #獲得GRUB2版本, 1.96以後的版本均為GRUB2
sudo grub-probe -t device /boot/grub #獲得GRUB安裝的分割槽
sudo grub-probe -t fs_uuid /boot/grub #獲得GRUB安裝的檔案系統UUID
4. 探索主機中存在的系統,並且更新啟動配置檔案。
sudo update-grub