2010-09-22

Tags: 程式語言

如果裝了Ubuntu 10.04後,接著才裝Windows,硬碟的MBR總是會被Windows給你重寫。這時Ubuntu一開始幫你裝的Grub多重開機就被搞掛了。當然...免不了要手動修復 (至於那些說這種狀況下Ubuntu只能重裝的,就讓他們去當烈士吧) ,下面這些流程是目前Google到的方式中最簡單可行的,因此先把它Memo下來,免的哪天又需要了。

以下是流程摘要


  1. 用Ubuntu CD開機,進入Ubuntu live CD

  2. 開啟Termial輸入 sudo fdisk -l (此指令列出所有的disk跟partition明細,從這裡面我找到Ubuntu裝在dev/sda3)

  3. 輸入 sudo -i (用來取得Root的權限)

  4. 輸入 mount /dev/sda3 /mnt (sda3指的是Ubuntu安裝所在的partition,如果裝在其它位置,這個sda3要改成對應位置)

  5. 輸入 grub-install --root-directory=/mnt /dev/sda (sda指的是你要安裝Grub所在的那顆硬碟,在安裝後Grub會把安裝的資料寫到這顆硬碟的MBR裡面。如果你Ubuntu裝在sda3,安裝所在的硬碟當然就一定會是在sda)

  6. 重新開機,這時發現Grub選單出現了,進入Ubuntu

  7. 開啟Termial輸入 sudo update-grub

  8. 再次重新開機,這時你會發現Grub上面多了一些除了Ubuntu之外的OS選項可選。照理說你系統上有多少個OS,選單上就會抓到多少個。至此...Grub就修復完畢了


附註:

  1. 本篇資料來源在此

  2. Ubuntu 10.04的Grub是Grub2的版本,早期版本的Ubuntu是否可以用這招把開機選單救回來我不確定,這篇的方法我只在10.04版本試過,確實是簡單又可行