安装xp后恢复ubuntu11.04多引导菜单

先安装的ubuntu11.04,后安装xp。由于安装xp时重写了mbr,开机直接进入xp, ubuntu不能引导。解决过程走了不少弯路,主要是因为网上的很多方法是针对grub早期版本的。而ubuntu 11.04使用的是grub2,它的配置文件和处理过程和老grub有很大的不同。下面记录基于grub2的mbr重建过程。

1.使用live usb引导进入live ubuntu。

2.打开终端

   sudo mount /dev/sda1 /mnt  *挂载根文件系统,如果你的/boot目录位于单独的分区,则需要 sudo mount /dev/sdax /mnt/boot,x表示/boot所在的分区号。

3.sudo mount --bind /dev /mnt/dev

4.sudo mount --bind /sys /mnt/sys

    *3和4必须要,否则后面update-grub时会出错。

5.sudo chroot /mnt *切换根文件系统,即切换到硬盘上ubuntu的/环境。

6.cd /etc/grub.d

    vi 09_winxp_entry

   在其中加入如下内容:

   #!/bin/sh

   cat << EOF

  menuentry "WinXP" {

  set root=(hd0,3)

  chainloader (hd0,3)+1

 }

EOF

 其中set root=(hd0,3)表示xp安装在第一块硬盘设备的第3个分区。

7.chmod +x  09_winxp_entry *加上可执行标志。

8.update-grub *更新/boot/grub/grub.cfg

9.grub-install /dev/sda *将grub程序安装到/dev/sda的mbr。

10. exit  *退出root用户

11. exit  *退出chroot模式,即回到usb引导的ubuntu环境。

12. sudo umount /mnt/dev

      sudo umount /mnt/sys

      *如果/boot安装在单独分区,则需加上 sudo umount /mnt/boot

      sudo umount /mnt

13. sudo reboot

14. 系统重新启动后进入bios设置,将启动顺序改成硬盘优先。保存重启。一切正常的话就能看到grub的引导菜单了。

 

os的引导取决于mbr中放置的bootloader。安装winxp时写入到mbr的引导程序会根据分区表来找到第一个活动的主分区,并将该分区的系统引导代码载入内存, 然后执行。

安装ubuntu时写入到mbr的是grub程序,ubuntu 11.04用的是grub2。如果先安装ubuntu后安装xp,则grub被覆盖,不能引导ubuntu。如果先安装xp再安装ubuntu,grub能自动探测到xp的存在,并自动加入到引导菜单。


grub的原理和详细使用说明参考

http://www.dedoimedo.com/computers/grub.html  (旧版grub)

http://www.dedoimedo.com/computers/grub-2.html (grub2)




      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值