1. 程式人生 > >Windows7(MBR)與Ubuntu(GPT)雙分割槽表grub引導被刪除修復

Windows7(MBR)與Ubuntu(GPT)雙分割槽表grub引導被刪除修復

最近因工作需要安裝Ubuntu,電腦裝了一塊256G SSD和一塊3T HDD,Windows安裝在SSD中(因某些啟用需要,你懂的,所以只能用MBR分割槽表),Ubuntu就不得不裝在HDD中(MBR不支援3T的硬碟,故使用GPT)。後裝的Ubuntu自帶的grub已經能同時引導Windows7和Ubuntu啟動了(此時未用UEFI,是使用BIOS啟動到MBR與GPT磁碟),然而今天360修復了下MBR,導致grub被覆蓋。MBR的Windows7不能用EasyBCD引導GPT磁碟的Ubuntu啟動,在Ubuntu LiveCD模式下也不能用Boot Repair修復grub(提示GPT detected. Please create a BIOS-Boot partition” error when using boot-repair)。

本文就修復grub流程做一個說明:

1. 用Ubuntu的安裝盤(U盤或光碟均可)進入LiveCD模式。


上圖表明我的Ubuntu安裝的裝置位置為/dev/sdb4,由於沒有單獨為boot建立分割槽,故boot為“/”路徑下的一個目錄;同時啟動引導器安裝在裝置/dev/sda,這兩個位置依你初次安裝Ubuntu的配置來定,稍後需要這兩個引數,不知道的可以重新開啟安裝器看看,或者在root使用者(使用sudo -i進入)下使用parted -l命令(GPT磁碟用fdisk命令無效)檢視。

2. 切換為root使用者(sudo -i),掛載原來的Ubuntu“/”路徑


mount /dev/sdb4 /mnt(將前面的Ubuntu“/"路徑掛載到/mnt下,為方便操作就不必掛載到/mnt/sub1這樣的路徑了)。

3. grub-install --boot-directory /mnt/boot --target i386-pc /dev/sda


其中/dev/sda為前文提到的啟動引導器安裝位置,執行後提示Installation finished. No error reported.就表示成功,最後執行umount /mnt並重啟。