昨天將Ubuntu 10.04昇級至10.10重新開機後居然出現了以下訊息:

error:the symbol 'grub_puts_' not found
grub rescue>

還好萬能的天神還是給我指引了一條明燈..
否則我也無法在這裡寫這篇Blog了...

通常會出現這類訊息表示己經無法正常開機進入Ubuntu了...
此時必需先使用LiveCD開機...
開機之後首先要先確定要掛載的磁區...
因此先開啟終端機輸入以下指令:

sudo fdisk -l

輸入後會出現類似下列訊息:
所用裝置     Boot   Start          End            Blocks     Id  System
/dev/sda1   *           1             61           489951    83  Linux
/dev/sda2              62          6140     48829567+   83   Linux
/dev/sda3         30273        30515       1951897+   82  Linux swap / Solaris
/dev/sda4           6141        30272     193840290    83  Linux

藉由此訊息大概可以得知所使用的分割區的磁碟代號
在這裡每台電腦皫分割區會不太一樣...
這裡的分割區sda1為boot,sda2為root 
首先掛載/root:

sudo mount /dev/sda2 /mnt

若有將/boot另外分割出一個磁區則需再掛載/boot

sudo mount /dev/sda1 /mnt/boot 

若/boot沒有另外分割出一個磁區則不需要弄另外掛載/boot
接下來掛載/dev:

sudo mount --bind /dev /mnt/dev

在Ubuntu和Debian中尚需要掛載/proc和/sys:

sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

此時所需要掛載的磁區都己掛載完成
接下來就是切換根目錄(chroot): 

sudo chroot /mnt

在這裡我們假設gurb2都己安裝完成並完成設定所以直接執行以下指令:

grub-mkconfig -o /boot/grub/grub.cfg

若無出現錯誤訊息(基本上應不會有錯啦!)即完成grub設定檔的建立
接下來則是安裝grub:

grub-install /dev/sda

在此我們是將grub安裝在sda之MBR上,依每台電腦的設定不同可以自更改欲安裝的地方,只是大部份的電腦都是裝在sda
安裝完成後可以使用以下指令測試是否正常

grub-install --recheck /dev/sda

此時再重新啟動電腦並記得將LiveCD從光碟中取出即可看到Ubuntu的Logo又回來了....

 

參考網址:
GRUB 2: Live CD Install Guide

小必 發表在 痞客邦 PIXNET 留言(0) 人氣()