Ubuntu Grub u盤 LiveCD修復方法

From:http://wenku.baidu.com/view/ef78e110fe4733687e21aac3.html

LiveCD修復Grub2的具體方法如下:

1、用ubuntu9.10LiveCD光盤啓動系統;

2、打開終端,輸入終端命令: 
sudo fdisk -l (查看計算機分區列表)
請記錄下來根分區 / /boot 分區安裝的位置(我的根分區位於/dev/sda6/boot沒有單獨分區(若有則假設位於/dev/sda7)),
下面就以我的分區爲例說明,請大家根據自己的磁盤分區情況進行相應修改;

3、在終端輸入命令:   
sudo su -                                                        (or sudo -i 取得root特權) 
mount /dev/sda6 /mnt 
mount /dev/sda7 /mnt/boot                           (如果/boot沒有單獨分區則不要執行這個命令) 
grub-install --root-directory=/mnt/ /dev/sda   (注意此命令中root前面是兩個減號橫槓)

4、執行完以上步驟和命令,重新啓動系統。
此時出現雙系統啓動菜單,且可正常進入ubuntu9.10,卻無法進入windows xp了。

繼續修復如下:
進入Ubuntu9.10系統,打開終端,輸入命令:
sudo update-grub                         (重建GRUB列表,windows xp引導項修復)
sudo grub-install/dev/sda              (重新寫入第一分區mbr)

5、重新啓動系統,雙系統啓動應該恢復成功。
若還是無法進入windows xp,可以嘗試手動修改grub.cfg文件,
若想修改啓動順序的話,也要修改grub.cfg文件。

具體方法如下:
進入Ubuntu9.10系統,打開終端,輸入命令:
sudo-i                                        (取得root特權)
chmod   +w   /boot/grub/grub.cfg (修改grub.cfg文件的操作權限
gedit  /boot/grub/grub.cfg          (編輯grub.cfg文件,方法類似修改grubmenu.lst文件)

當無法進入windows xp時,若grub.cfg文件中windows引導相關的部分包含searchdrivemap的話,應該刪除其所在行。(這種情況比較少見)
例如,將以下內容                                 
menuentry "Microsoft Windows XP Professional" { 
set root=(hd0,1) 
search –no-floppy –fs-uuid –set 4a807ca0807c93e3 
drivemap -s (hd0) $root 
chainloader +1 

修改爲 
menuentry "Microsoft Windows XP Professional" { 
set root=(hd0,1) 
chainloader +1 
}

grub.cfg文件修改完畢後,爲了安全起見,應該恢復它的只讀權限,操作如下:
chmod   -w   /boot/grub/grub.cfg

 這裏介紹一個比較簡單的方法,利用Ubuntulive cd進行GRUB修復工作。(未測試)

#sudo grub

#find /boot/grub/stage1

  上面的命令會返回一個值(hd?,?)

#root (hd?,?)

#setup(hd0)

  以上命令執行完畢之後推出

#quit

  然後重啓你的計算機,你可以看到GRUB已經修復了

5.2. ubuntu grub 調整系統啓動順序

cd  /etc/grub.d

ls -l

-rwxr-xr-x 1 root root 6831 2010-10-06 20:23 00_header
-rwxr-xr-x 1 root root 1481 2010-10-06 20:05 05_debian_theme
-rwxr-xr-x 1 root root 4757 2010-10-06 20:23 10_linux
-rwxr-xr-x 1 root root 5028 2010-10-06 20:23 20_linux_xen
-rwxr-xr-x 1 root root 1588 2010-09-25 01:14 20_memtest86+
-rwxr-xr-x 1 root root 6933 2010-10-06 20:23 30_os-prober
-rwxr-xr-x 1 root root  214 2010-10-06 20:23 40_custom
-rwxr-xr-x 1 root root   95 2010-10-06 20:23 41_custom
-rw-r--r-- 1 root root  483 2010-10-06 20:23 README

30_os-prober即爲安裝的windows系統

cp 30_os-prober 02_os-prober 

這樣windows就在ubuntu啓動前面

再update-grub  或者 grub-mkconfig



6. 補充說明

使用天意U盤工具中的slitaz系統安裝grub後能啓動win8系統(顯示爲vista),不能啓動ubuntu系統。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章