之前先安裝的win7,然後安裝的Ubuntu,後來用ghost方式裝了個xp,xp無法啟動,通過尋找UUID,可以啟動XP,第二天,覺得E40安裝XP,AHCI驅動有問題,特別慢,又改回安裝win7,光碟片安裝的,但是看不到ubuntu了,通過安裝grub-pc來恢複MBR主引導記錄,然後回複到原先的雙系統。
一、修複ghost安裝的XP系統
環境:
Lenovo E40,垃圾本
win7+ubuntu10.10雙系統
重裝原因:E40毛病,無故睡眠,經常藍屏
從網上找了一個ghost版本的xp,製作成隨身碟啟動盤,安裝ghost,20分鐘後,重啟,進入xp,顯示找不到系統。
原因:
ghost版本的xp,只是將xp的系統拷貝到了系統硬碟C盤,並沒有修改MBR,所以,MBR裡還是原先的WIN7系統,MBR是Ubuntu的grub,裡面通過UUID來區分不同的分區,
如下表所示:
menuentry "Microsoft Windows 7 " {set root=(hd0,1)search –no-floppy –fs-uuid –set 4a807ca0807c93e3drivemap -s (hd0) $rootchainloader +1}
如果是這種情況,恢複系統很簡單,因為UUID不對,找不到XP系統所在分區,我們先找到XP所在分區的UUID。
步驟:
1. 重啟系統,進入Ubuntu選擇畫面,
2.輸入:C,進入grub>命令列,
3. 輸入:ls -l,查看並記住xp所在分區的UUID
4. 重啟進入Ubuntu,修改:/boot/grub/grub.cfg裡關於windows系統的選項資訊:
menuentry "Microsoft Windows XP " {set root=(hd0,1)search –no-floppy –fs-uuid –set xxxx-xxxx #輸入上一步查看的UUIDdrivemap -s (hd0) $rootchainloader +1}
這時就可以進入XP系統了。
二、安裝win7找回原先的ubuntu
環境:
Lenovo E40,垃圾本
XP+ubuntu10.10雙系統
重裝原因:XP沒有AHCI驅動,磁碟訪問速度非常慢,不知道是不是因為驅動的原因,時間有限,不管了,還是裝回win7吧,折騰吧~~
光碟片安裝win7,20多分鐘後,win7沒有問題了,但是沒有了啟動菜單,找不動原先的ubuntu
原因:
windows這個流氓內心一點都不寬容,在安裝的過程中,將MBR重寫了,完全不考慮ubuntu的存在,將其覆蓋了,所以,要想找到ubuntu要先安裝新的MBR,我們可以使用ubuntu的LiveCD來安裝grub,找到原先的ubuntu。
PS:windows的東西真的又霸道,又垃圾,用過MAC和ubuntu之後,你會覺得,對它真無語。。。。。。沒有辦法,天朝的外掛程式都支援IE,嵌入式開發IDE環境還是windows的。
首先找一張LiveCD,沒有的話可以下載個鏡像然後刻成光碟片或者裝到隨身碟裡,我是用隨身碟裝的,用UItraISO這個軟體就可以非常方便的刻盤或者製作優盤系統檔案,這裡不是重點。
假設您用優盤進入ubuntu,選擇第一項不安裝ubuntu直接試用系統。
1. 開啟終端,先更新一下apt源、
sudo apt-get update
2. 安裝grub-pc(如果是ubuntu9.04則安裝grub)
sudo apt-get install grub-pc
3. 開啟Disk Utilty,找到你的ubuntu所在分區,比如我的分區是:sda7,將其掛載到LiveCD的目錄中,準備安裝grub
sudo mount /dev/sda7 /mnt
4. 通過grub-install命令安裝新的grub過程MBR裡
grub-install --root-directory=/media/bootdir /dev/sda
如果出現 "Installation finished. No error reported!" 表示操作成功了。如果雖然有這句話,但是後邊還有幾行字,那就是沒成功,
說明你安裝的grub版本不對,應該安裝grub-pc
重啟電腦,成功出現grub菜單,但是沒有windows 7的選項,只有ubuntu的。這是因為你還沒更新菜單呢
進入ubuntu系統,終端下輸入 sudo update-grub
出現類似下面文字表示成功:
grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-15-generic
Found initrd image: /boot/initrd.img-2.6.31-15-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
done