很多朋友在安装 ubuntu 之后因为种种原因需要重新安装 xp ,这样就会将硬盘的 mbr (主引导扇区)覆盖,导致 ubuntu 无法启动,网上对于这种情况提供了很多解决办法,但是有些复杂。经过参考网上的一些资料,以及自己的实践,提供给大家两种最简便的方法:
准备:
- 下载 grub4dos 文件,http://download.gna.org/grub4dos/ 将 grldr 、 grub.exe 、 menu.lst 三个文件放在 C 盘根目录下
- 打开我的电脑,选择工具 -> 文件夹选项 -> 查看 -> 选中显示所有文件和文件夹
- 将 c 盘根目录下的 boot.ini 文件只读属性去掉,在最后加上 c:\grldr="Start Grub4Dos" ,保存
- 重新启动计算机,进入 ”Start with GRUB4DOS”
方法一:
进入 ”Start with GRUB4DOS” 后,可以看见一个 “find and boot Linux with menu.lst already installed” 的选项了,选择它,就会自动去搜索机器上的 ubuntu ,然后选择 ubuntu 就可以正常启动 ubuntu 了
优点 :什么都不用做,简单方便
缺点 :每次都需要系统去搜索 ubuntu 所在的分区,不能一劳永逸
PS :关于那个 “find and boot Linux with menu.lst already installed” 的选项,其实是搜索磁盘里面的 ubuntu 分区,如果每一次进入都搜索分区未免有些多余。所以我们可以在进入 ubuntu 以后把 /boot/grub/menu.lst 文件拷贝到 c 盘根目录下,这样进入 ”Start with GRUB4DOS” 就不用在检测 ubuntu 的分区了。
方法二:
进入 ”Start with GRUB4DOS” 后,可以看见一个 "enter command line" 选项,选择它输入 root (hdX,Y) ,如果不知道 x 是多少先输入:
#> find /boot/grub/stage1
根据返回的具体结果再输入,我机器的返回结果是( hd0 , 2 ):
#>root (hd0,2)
执行成功之后,最后输入:
#> setup (hd0)
重启,可爱的 GRUB 启动栏又回来了!
优点 :不用每次都搜索硬盘
缺点 :需要敲两三条命令
PS : root 和( hd0,2) 之间是有一个空格的, setup 和( hd0 )之间也是有空格的。 root (hdX,Y) 中的 hdX 的这个 X ,是硬盘数,从零开始,如果是一个硬盘就是 hd0 。 Y 是根所在的分区,像我安装在 2, 这个 Y 就用 2 。