windows xp与ubuntu9.10双系统,由于windows重新安装,原来的grub2启动菜单不见了,如何修复?
用LiveCD修复Grub2的具体方法如下:
1、用ubuntu9.10的LiveCD光盘启动系统;
2、打开终端,输入终端命令:
sudo fdisk -l (查看计算机分区列表)
请记录下来根分区 / 和 /boot 分区安装的位置,
我的根分区位于/dev/sda6,/boot没有单独分区(若有则假设位于/dev/sda7),
下面就以我的分区为例说明,请大家根据自己的磁盘分区情况进行相应修改;
3、在终端输入命令:
sudo -i (取得root特权) mount /dev/sda6 /mnt mount /dev/sda7 /mnt/boot (如果/boot没有单独分区则不要执行这个命令) (注:运行到此处,可以使用命令: ls /mnt 查看该分区下的内容以确定 /dev/sda6 就是你要重新引导的Ubuntu9.10系统的根分区。 如果不是那就重新 mount 另一个分区。结合 "fdisk -l", "mount", "ls" 命令, 相信找到正确的Ubuntu9.10系统的根分区并mount上应该不成问题。) grub-install --root-directory=/mnt/ /dev/sda (注意此命令中root前面是两个减号横杠)
4、执行完以上步骤和命令,重新启动系统。此时出现双系统启动菜单,且可正常进入ubuntu9.10,却无法进入windows xp了。
继续修复如下:进入修复好了的的Ubuntu9.10系统,打开终端,输入命令:
sudo update-grub (重建GRUB列表,将windows xp引导项修复) sudo grub-install /dev/sda (重新写入第一分区mbr)
5、重新启动系统,双系统启动应该恢复成功。
若还是无法进入windows xp,可以尝试手动修改grub.cfg文件,
若想修改启动顺序的话,也要修改grub.cfg文件。
具体方法如下:进入Ubuntu9.10系统,打开终端,输入命令:
sudo -i (取得root特权) chmod +w /boot/grub/grub.cfg (修改grub.cfg文件的操作权限) gedit /boot/grub/grub.cfg (编辑grub.cfg文件,方法类似修改grub的menu.lst文件)
当无法进入windows xp时,若grub.cfg文件中windows引导相关的部分包含search或drivemap的话,
应该删除其所在行(这种情况比较少见)。
例如,将以下内容
menuentry "Microsoft Windows XP Professional" { set root=(hd0,1) search –no-floppy –fs-uuid –set 4a807ca0807c93e3 drivemap -s (hd0) $root chainloader +1 }
修改为
menuentry "Microsoft Windows XP Professional" { set root=(hd0,1) chainloader +1 }
grub.cfg文件修改完毕后,为了安全起见,应该恢复它的只读权限,操作如下:
chmod -w /boot/grub/grub.cfg