天天看點

Grub error17:Cannot mount selected partition啟動錯誤的解決

下午在window下用pqmagic把移動硬碟重新分區後,重新開機選擇進入ubuntu的時候出現啟動錯誤:

Grub Error17:Cannot mount selected partition......

上網查詢發現,對雙系統,在window下pq調整分區大小很容易産生分區表重改等莫名其妙的問題。上述錯誤就是分區表被改寫,原有的linux boot分區号發生變化,是以grub引導錯誤。解決辦法有很多:

1.最快最簡單的

在啟動菜單選擇unbuntu後,不要回車進入,按e進入編輯grub模式。修改root(hd0,y)的y值(hd0表第一塊硬碟,y表硬碟分區号)。

如:将原有的root(hd0,7)改為(hd0,8)。然後安b重新開機,如果能進入系統則表示正确,如果同樣報錯,那麼重複上述步驟修改(hd0,y)為别的值,試幾次就能成功了。

成功登入linux後還要修改menu.lst達到一勞永逸的效果。打開終端:

sudo vi /boot/grub/menu.lst

如将root(hd0,7)修改為正确的值(hd0,y),同時将kernel行的root=/dev/sda8也修改為正确數值y+1(sda8對應hd0,7)。例子如下:

title            Ubuntu, kernel 2.6.17-10-generic

root             (hd0,8)

kernel           /boot/vmlinuz-2.6.17-10-generic root=/dev/sda9 ro quiet splash locale=zh_CN

initrd           /boot/initrd.img-2.6.17-10-generic

quiet

savedefault

boot

2.如果手頭有livecd(ubuntu的destop cd),可以通過livecd啟動linux,然後修改grub配置和menu.lst。

$sudo grub 進入grub                              

find /boot/grub/stage1 提示正确的boot位置,如(hd0,8)

root (hdX,Y)

setup (hdX)

quit

注意:其中的X、Y是執行find /boot/grub/stage1指令後系統提示的。或者執行$sudo fdisk -l根據各個分區顯示資訊判斷正确的boot分區号。

然後修改menu.lst,首先得将boot分區mount上。如:

$sudo mount /dev/sda9 /media

$cd /media

$sudo vi boot/grub/menu.lst 修改之。

重新開機ok。

3.假如boot下面的東西都損壞了,那還得麻煩點:

$sudo grep -v rootfs /proc/mounts >sudo tee /etc/mtab   生成/etc/mtab

$grub-install --no-floppy /dev/hda   安裝grub到mbr

然後建立menu.lst

繼續閱讀