最新消息:xilo的博客2016重新上线,感谢新老朋友的热情关注。

有关XP与ubuntu双系统及grub引导

学习 xilo 816浏览 0评论

我N次的看到如我一样的新手们发些关于XP与ubuntu共存后的grub引导的求助帖子,其实各大论坛林林散散的都有介绍,可系统一点的帖子却很少见到,也许高手们不屑为之吧。我在这里也只是结合自己的实践经验谈谈我的心得体会,希望能给挣扎在XP与 linux之间的朋友一些帮助。[高手们可以闭着眼睛闪先:)]

1、原先有XP系统,后装ubuntu[当然要成功安装的,不成功安装,你说该怎么办呢?:)],但grub却未成功安装,导致一个系统也进不了。其中可分两种情况:

A \\grub缺少menu.lst,但可直接进入命令行,这是我第一次安装redhat时遇到的情况。
解决方法:

引导XP系统
grub>
代码:
rootnoverify (hd0,0)  //一般情况,XP被安装在C盘;也可按tab键查看各分区,以获得系统盘系数。
makeactive
chainloader +1
boot
引导ubuntu系统
grub>
代码:
root (hdX,Y)  //这里的x为硬盘序列,若你的linux安装在第一块硬盘上,X=0;在第二块硬盘上,X=1;在第三块硬盘上[我先晕一下。。。],依次类推。Y是那块硬盘上的分区序列,也可通过tab查看;以获得linux的安装分区序列;
kernel /boot/vmlinuz-*** root=/dev/sdaZ ro  //这里的Z=Y+1; ***为ubuntu版本号,可同样按tab键补全。
initrd /boot/initrd.img-***[同上]
boot
注:如若是这种情况的,成功进入ubuntu之后,需要自己建立并编写menu.lst文件,形如:
代码:
default 0  //表示默认启动为第一个title,要想设为默认启动为第二个,你说是default X?这也不知道的话,还是去使用XP吧:(
timeout 10  //不用注释了吧?[楼主废话可真多。。。不要骂我]

title   Ubuntu, kernel 2.6.15-26-386
root   (hd0,7)
kernel   /boot/vmlinuz-2.6.15-26-386 root=/dev/sda8 ro quiet splash
initrd   /boot/initrd.img-2.6.15-26-386
savedefault
boot

title   Ubuntu, kernel 2.6.15-26-386 (recovery mode)
root   (hd0,7)
kernel   /boot/vmlinuz-2.6.15-26-386 root=/dev/sda8 ro single
initrd   /boot/initrd.img-2.6.15-26-386
boot

title   Other operating systems:
root

title   Microsoft Windows XP Professional
root   (hd0,0)
savedefault
makeactive
chainloader   +1

里面的具体参数自己确定了,什么?不懂?倒。。。我还以为像我这样垃圾的linuxer会很多的,别看不起自己:)

B \\启动后说grub错误的,grub完全没法正常工作!这种情况很多见,做起来也有些麻烦。
解决方法:

第一步:修复传说中的mbr。
有XP安装盘吧?有!很好,从XP安装盘启动先,进入修复控制台[这个没有问题吧?其中可能会提示输入所安装的XP系统序列,输入一个非零值即可;随后就是管理员密码],执行fixmbr,以修复主引导区;附带说明一句:若在控制台中根本无法访问XP系统盘的,可先执行fixroot,但前提是 XP系统盘无严重问题,有问题的不在本帖讨论范围之内。提示成功修复引导区之后,restart重启,或使用dos界面下通用三键组合“ctrl+alt +del”重启也行滴说:)

第二步:XP下利用wingrub引导ubuntu。
wingrub在souceforge中有下载,而且有关它的使用,也是傻瓜式的,有linuxsir上的北南南北前辈–“老年人”略显罗嗦的帖子为证:http://www.linuxsir.org/bbs/showthread.php?t=214551
提示:最好安装到c盘下的boot.ini[XP隐藏的系统文件]中,以后清除也方便;前辈的话当然要听,但我们只要学到上面的帖子的一点,这个问题也就解决了,那帖子大概是完备教程吧。

第三步:在ubuntu下安装grub。
进入ubuntu下,执行sudo nautilus之后,删除/boot/grub整个文件夹,当然要备份先!再安装grub:
代码:
sudo grub-install /dev/sda  //将grub安装到mbr主引导区上。

安装确实得费些时间,请耐心等待。此时安装的grub也没有menu.lst,需要自己建立并编写menu.lst文件,方法goto本帖1-A-注。

第四步:删除XP下的wingrub启动项。
ubuntu下安装的grub的menu.lst保存后重启系统,可顺利进入XP,删除c:\boot.ini中刚才生成的最后一行,形如: boot=”c:\***”[你自己在wingrub程序生成启动文件时起的名];再清除c根目录下一个wingrub生成的引导文件,具体名我现在也忘了。:( 但可以肯定它不是隐藏文件!

OK,有关先安装XP后安装ubuntu的,还有什么问题?一起来讨论一下吧。

2、ubuntu安装成功后,又重装XP的情况的;由于XP不为人知的“古怪的习性”,mbr主引导区是肯定要被覆盖的。重启之后原先的grub引导不会出现了,直接进入XP登陆界面,XP对linux完全视而不见。这时可goto本帖1-B-第二步,顺利解决问题。

由于wingrub确实没有linux下的grub好用,不能随linux下的系统更新而相应动作,所以强烈建议使用linux下的grub去引导双系统,甚或多系统!

转载请注明:xilo blog » 有关XP与ubuntu双系统及grub引导

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址