這幾天把新硬碟裝上並安裝M$的windows 7且我又剛好把USB硬碟插著,似乎將我的USB開機資訊給弄壞了~
害我USB硬碟的 Ubuntu 10.04 開機時候 猛重開機,逛了一堆GOOGLE文章還是這篇快又有效~一下子將損壞的開機資訊給修正了回來!
以下文章轉載自: 手把手玩Ubuntu http://playubuntu.blogspot.com/2010/07/ubuntu-grub2.html
Ubuntu 9.10,10.04都能使用此方法修複Grub開機選單,此方法應能適用大部份的狀況。剛好不知怎麼了,我的的開機選單出現錯誤,正好驗證一下寫的是否會有問題。
請準備一片與出問題的系統相符合或高於安裝版本的Ubuntu Live CD,因為,舊的可能無法辨別新版本所使用的分割格式,Live CD可以用複寫片燒錄就行,就算我能用硬碟直接安裝,還是會準備一片以便不時之需。
打開選單「系統」、「管理」、「磁碟工具程式」我系統安裝在/dev/sda(SATA 第一顆硬碟,編號從A開始,第二顆就是B囉),所以我要在sda找出掛載/的裝置,先把所需要的資料找出來。
▼把這些抄起來:1.裝置:/dev/sda 2.已掛載於:/ 3.分割區類型:ext4 4.掛載點/dev/sda5
實作修複Grub2開機選單
插Ubuntu Live CD開機後,開啟終端機:
1、把原本系統的/掛載到到/mnt。
sudo mount -t ext4 /dev/sda5 /mnt
◎如果你/boot不是在/裡面,而是另外分割區,要先把/boot掛載到/mnt/boot在進行下一步。
2、安裝開機選單,我要裝到/dev/sda,root-directory為原來系統的/,安裝時/就指向/mnt。
sudo grub-install --root-directory=/mnt --recheck /dev/sda
手動比對是否正確
1、把/dev/sda5的uuid找出來。
sudo blkid -s UUID -o value /dev/sda5
2、列出/mnt/boot目錄內容。
ls -l /mnt/boot
3、打開grub.cfg搜尋10_linux,比對內容是否相跟所查到的資料一樣。
sudo gedit /mnt/boot/grub/grub.cfg
▼1.找出uuid 2.列出boot內容 3.比對grub.cfg
註解:
因為我裝了3.0.0-30 後開不了機,所以應該是將/dev/sda1 的 /boot下面 所有 3.0.0-30 相關檔案移到另一目錄(或全部移除)後,再用以下指令
sudo grub-install --root-directory=/mnt --recheck /dev/sda
當然,重開機後,再將/etc/default/grub的預設選項想要改的再改回來即可
沒有留言:
張貼留言