[教學] 修復GRUB的方法
很多人再灌完Linux後又重新灌了Windows
這時候MBR就會被Windows的Loader覆蓋掉了
因為Windows預設會在MBR和SuperBlock上都安裝Bootloader
所以要恢復GRUB的話,就必須使用Live CD / USB
放入Live CD / USB後
打開Gnome-Terminal,輸入
輸入密碼後,會出現:
grub>
的提示字元,這時候輸入
應該會出現下面哪一行,其中x,y會根據系統不同而不同。如果沒有的話就要chroot,請先跳到後面看chroot的方法
(hdx,y)
以我的電腦為例,出現(hd0,4)
這個代表我的Linux安裝在第一顆硬碟的第五個分割區上。
接著
意思是將GRUB安裝在第一顆硬碟的MBR上,當然你也可以裝在分割區上,再利用chainloader的方式來Boot。
接著重新開機,就會發現GRUB選單又回來了!
* chroot 的方法
執行find /boot/grub/stage1沒成功的話
假設原本電腦裡那顆安裝Linux的硬碟叫作test
掛載檔案系統:
再來就是chroot
掛載proc,sysfs
這時候你的作業環境其實是你原來安裝的那個Linux了。接著回到上從重頭做一次,應該就可以成功了!
這時候MBR就會被Windows的Loader覆蓋掉了
因為Windows預設會在MBR和SuperBlock上都安裝Bootloader
所以要恢復GRUB的話,就必須使用Live CD / USB
放入Live CD / USB後
打開Gnome-Terminal,輸入
sudo grub
輸入密碼後,會出現:
grub>
的提示字元,這時候輸入
grub> find /boot/grub/stage1
應該會出現下面哪一行,其中x,y會根據系統不同而不同。如果沒有的話就要chroot,請先跳到後面看chroot的方法
(hdx,y)
以我的電腦為例,出現(hd0,4)
這個代表我的Linux安裝在第一顆硬碟的第五個分割區上。
接著
grub> root (hd0.4) # 以我的系統為例,你自己的可能不同
grub> setup (hd0)
意思是將GRUB安裝在第一顆硬碟的MBR上,當然你也可以裝在分割區上,再利用chainloader的方式來Boot。
接著重新開機,就會發現GRUB選單又回來了!
* chroot 的方法
執行find /boot/grub/stage1沒成功的話
假設原本電腦裡那顆安裝Linux的硬碟叫作test
cd /media/test
掛載檔案系統:
sudo mount --bind /dev /media/test/dev
再來就是chroot
sudo chroot /media/test
掛載proc,sysfs
mount -t proc none /media/test/proc
mount -t sysfs none /media/test/sys
這時候你的作業環境其實是你原來安裝的那個Linux了。接著回到上從重頭做一次,應該就可以成功了!
留言