事件:一机子装xp与ubuntu双系统,重装xp或修复xp后,启动机子,原来的登陆选择操作系统不见了。
原因:重装xp后,MBR被xp写入信息导致grub无法工作。引导扇区在每个分区里都存在,但是我们常说的主引导扇区是硬盘的第一物理扇区。它由两个部分组成:即主引导记录MBR和硬盘分区表DPT。在总共512字节的主引导分区里其中MBR占446个字节(偏移0-- 偏移1BDH),DPT占64个字节(偏移1BEH--偏移1FDH),最后两个字节“55,AA”(偏移1FEH偏移1FFH)是分区的结束标志。主引导记录中包含了硬盘的一系列参数和一段引导程序。引导程序主要是用来在系统硬件自检完后引导具有激活标志的分区上的操作系统。
解决方案:
(1)从CD-ROM启动,从Live CD启动进入桌面。打开终端或者切换到一个tty(Ctrl+Alt+F1)。
- 输入:sudo -i ##获得超级用户权限
- 输入:grub
- 输入:find /boot/grub/stage1 ## 如果不知道x是多少,输入find命令反馈的数据
- 输入:root (hdX,Y) ##root和(hdX,Y)之间是有一个空格的。X是硬盘数,从零开始,Y是根所在的分区
- 输入:setup (hdX) ##如果想用xp进行多系统引导就写(hd0,x)
- 输入:quit ##退出grub。
重新启动,不出意外的话,可以看到XP和UBUNTU的双系统引导咯,不过在本人机子上行不通。下面介绍方法(2),本人实验成功。
(2) 利用grub4dos
第一步到下面这个网站上下载一个最新版的grub4dos:http://download.gna.org/grub4dos/ 。将文件夹里的grldr和grub.exe,及menu.lst拷贝到系统盘根目录下。其他的文件就暂时不用理会了,我们这里不需要。
第二步找到根目录下的boot.ini这个文件,右键单击去掉该文件的“只读”属性。用记事本打开boot.ini,在最后的空白行里添加 c:/grldr="Start with GRUB4DOS"
第三步、重新启动电脑,选择Start with GRUB4DOS,然后选择”enter command line”输入如下命令行:
root (hdX,Y)
setup (hdX)。
重启即可。在xp,ubuntu 8.04 下实验通过。