2013年1月5日

即刻救援 Grub 無法開機的 Ubuntu Linux 系統

即使是地表最棒的 Ubuntu Linux 免費作業系統;
升級還是會有出槌的時候!
今天將手邊一台伺服器的 Ubuntu Linux Server 10.04 LTS 升級到 12.04,結果在 do-release-upgrade 指令跑完,重新開機後就出現 grub 開機程式掛點:

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

只要看到開機卡在 grub 然後就沒動作,這時候就需要用 Live 系統救援。

為響應環保就別燒光碟,先用 UNetbootin 製作 Ubuntu Desktop 版的 Live USB 開機隨身碟;為了保險起見選擇版號比較接近的 Ubuntu 版本,例如 Ubuntu Desktop 12.04。

開機之後先打開終端機「Terminal」,或使用 Ctrl + Alt + 1 切換到 Console 模式。

取得 root 權限好辦事。

sudo su -

先用 fdisk 確認系統磁碟的路徑(例如 /dev/sdf1)。

fdisk -l

掛載需要救援的系統磁碟。

mkdir /media/new
mount /dev/sdf1 /media/new

接著準備 chroot 到此系統磁碟。

mount -o bind /proc /media/new/proc
mount -o bind /dev /media/new/dev
chroot /media/new

然後重新安裝 grub 開機程式,這邊指定安裝到系統碟(如 /dev/sdf)的 MBR 磁區。

grub-install --root-directory=/ /dev/sdf --recheck
grub-mkdevicemap
update-grub2

開機程式裝好後,重新開機;記得在 BIOS CMOS 設定中,指定系統磁碟為開機順序的第一順位。

如果幸運的話,應該就能順利進入 Ubuntu 系統。

沒有留言:

張貼留言

lyhcode by lyhcode
歡迎轉載,請務必註明出處!