Ubuntu Linux 在升級 9.10 時, 因為機器硬碟狀況比較複雜, 果然遇到 GRUB 開不了機的狀況.
GRUB 無法開機的錯誤訊息
GRUB loading
error: the symbol 'grub_puts_' not found
解法
- 重新安裝 GRUB, 詳細可參考此篇: Amministrazione Sistema / Grub / Ripristino
GRUB 重新安裝的步驟
- 用 Ubuntu 9.10 光碟開機, 或 隨身碟開機(只要可以 Mount 硬碟 的 Linux 即可), 開機完成做下述命令:
- sudo fdisk -l # 看硬碟分割狀況
- sudo mount /dev/sda1 /mnt # 假設是將 Linux 灌到 /dev/sda1
- sudo mount --bind /dev /mnt/dev
- sudo mount --bind /proc /mnt/proc
- sudo mount --bind /sys /mnt/sys
- sudo chroot /mnt
- mount /dev/sda2 /boot # 若有將 /boot 切出來, 然後是切到 /dev/sda2 的話, 要另外 Mount, 否則可跳過此步驟.
- grub-install /dev/sda
- update-grub
- grub-install --recheck /dev/sda
- exit # 離開 chroot
- cd ~
- sudo umount /mnt/dev
- sudo umount /mnt/proc
- sudo umount /mnt/sys
- sudo umount /mnt/
- reboot # 即 GRUB 重灌完成