Chinaunix首页 | 论坛 | 博客
  • 博客访问: 56374
  • 博文数量: 18
  • 博客积分: 658
  • 博客等级: 上士
  • 技术积分: 225
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-03 02:41
文章分类
文章存档

2011年(2)

2010年(16)

我的朋友
最近访客

分类: LINUX

2010-05-03 16:06:52

Ubuntu 10.04 LTS终于发布了,原来打算过一阵子再把9.10升一下的,但今天在update manager里,看到已经有提示说可以直接升到10.04,一时冲动没忍住,于是就升了,接着就碰到魔鬼了:重启后在grub那步出错,过不去了,提示 “GRUB loading error: the symbol ‘grub_puts_’ not found”,光标就停在grub rescue>后面,google找了一些文章,发现国内的几个都大同小异,后面有一些步骤根本没有交代清除,做到一半就进行不下去了,后来找到一个老外的帖子, 一步一步都很清楚,照着做下来,成功地把grub2修复了。

  1. Boot to the LiveCD Desktop (Ubuntu 9.10 or Ubuntu 10.04).
  2. Open a terminal – Applications, Accessories, Terminal.
  3. Determine your normal system partition – (the switch is a lowercase “L”) sudo fdisk -l
    • If you aren’t sure, rundf -Th. Look for the correct disk size and ext3 or ext4 format.
  4. Mount your normal system partition:
    • Substitute the correct partition: sda1, sdb5, etc.

    sudo mount /dev/sdXX /mnt # Example: sudo mount /dev/sda1 /mnt

  5. Only if you have a separate boot partition:
    • sdYY is the /boot partition designation (examply sdb3)
    • sudo mount /dev/sdYY /mnt/boot
  6. Mount devices:sudo mount --bind /dev/ /mnt/dev
  7. To ensure that only the grub utilities from the LiveCD get executed, mount /usrsudo mount --bind /usr/ /mnt/usr
  8. mount proc filesystemsudo mount --bind /proc/ /mnt/proc
  9. Chroot into your normal system device:sudo chroot /mnt
  10. If there is no /boot/grub/grub.cfg or it’s not correct, create one usingupdate-grub
  11. Reinstall GRUB 2:
    • Substitute the correct device – sda, sdb, etc. Do not specify a partition number.

    grub-install /dev/sdX

  12. Verify the install (use the correct device, for example sda. Do not specify a partition): sudo grub-install --recheck /dev/sdX
  13. Exit chroot: CTRL-D on keyboard
  14. Unmount devices:sudo umount /mnt/dev
    • If you mounted a separate /boot partition:sudo umount /mnt/boot
  15. Unmount last device:sudo umount /mnt
  16. Reboot.reboot

Post-Restoration Commands

Once the user can boot to a working system, try to determine why the system failed to boot. The following commands may prove useful in locating and/or fixing the problem.

To refresh the available devices and settings in /boot/grub/grub.cfg

  • sudo update-grub

To look for the bootloader location.

  • grub-probe -t device /boot/grub

To install GRUB 2 to the sdX partition’s MBR (sda, sdb, etc.)

  • sudo grub-install /dev/sdX

To recheck the installation. (sda, sdb, etc.) sudo grub-install --recheck /dev/sdX

Please check the following link for further details.


阅读(1981) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~