[原创]有关XP与ubuntu双系统及grub引导

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
aBiNg
帖子: 1331
注册时间: 2006-07-09 12:22
来自: 南京

[原创]有关XP与ubuntu双系统及grub引导

#1

帖子 aBiNg » 2006-08-21 23:12

我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去引导双系统,甚或多系统!
上次由 aBiNg 在 2006-09-10 20:53,总共编辑 2 次。
头像
zhuqin_83
帖子: 10606
注册时间: 2006-05-13 4:02
联系:

#2

帖子 zhuqin_83 » 2006-08-22 0:58

好贴!
HP Pavilion DV6-2064CA: AMD Turion II Ultra Dual-Core Mobile M640, HD4650, 2GBx2 DDR2-800, Seagate 500GB 7200RPM SATA, BD-ROM
DELL UltraSharp 2209WA
Arch64, Testing repo
aBiNg
帖子: 1331
注册时间: 2006-07-09 12:22
来自: 南京

#3

帖子 aBiNg » 2006-08-23 10:21

我的帖子哟。。。老帖无人顶 :lol:
头像
noches
帖子: 27
注册时间: 2006-08-10 11:18

#4

帖子 noches » 2006-08-23 15:14

lz真是详细啊 :) 这个帖子今天帮了我个大忙
帮顶
greydolphin20
帖子: 1
注册时间: 2006-08-21 9:55

#5

帖子 greydolphin20 » 2006-08-24 13:04

楼主,我是新手。有人跟我说要先装XP,再装Ubuntu,这样机子才能进行引导,但我想在已经装了XP的机子上装Ubuntu,请问是不是可以呢?如果可以的话,请问要怎么给硬盘分区呢?Ubuntu安装时会帮我分吗?还是要自己先用软件分好,再安装呢?
头像
colaandice
帖子: 119
注册时间: 2005-12-03 17:46
来自: JLU

#6

帖子 colaandice » 2006-08-24 13:13

TO:5楼
可以
自己先看看wiki先吧
ubuntu需要你手动分区,因为原来已经分好区了
不能破坏原来的分区
aBiNg
帖子: 1331
注册时间: 2006-07-09 12:22
来自: 南京

#7

帖子 aBiNg » 2006-08-24 22:05

建议最好分好区,再用grub引导安装ubuntu,ubuntu安装程序带的分区工具有些麻烦。
在XP下可以尝试使用norton partition magic8.0进行分区,虽然是图形化操作,容易上手,但我觉得请身边有经验的人帮忙总会稳妥些,除非你的XP中没什么要紧的数据。
具体分多大,分几个,以及grub如何引导安装ubuntu,网上教程很多;也是因人而异的事情。
dext
帖子: 25
注册时间: 2006-07-11 15:41

#8

帖子 dext » 2006-08-25 17:42

请问楼主,我有两块硬盘,一个装的UB,另一个装的win2003,是分开装的,怎么设置启动

由于是分开装的,两块硬盘上都没有另一块硬盘的启动信息,我现在用UB那块做主盘,怎样在ub启动中写window的启动信息,然后开机选择。

简单加了这个,但无效啊,提示无法识别的文件系统。
代码:
title Other operating systems:
root

title Microsoft Windows Server 2003
root (hd1,0)
savedefault
makeactive
chainloader +1
aBiNg
帖子: 1331
注册时间: 2006-07-09 12:22
来自: 南京

#9

帖子 aBiNg » 2006-08-25 18:45

TO dext:
我不知道你说的“分开装”是什么意思;是第一块硬盘装了ubuntu,第二块硬盘装了win2003,然后再机械地连接在主机上的呢,还是两系统安装之前两块硬盘就有机地连在主机上呢?要是前者,应该是无法识别的吧,要是后者,应该是可以的吧;因为我没有实际操作过两块硬盘,恕不敢确定了:(
头像
boyzhigang
帖子: 258
注册时间: 2006-07-02 22:13
来自: 山东

#10

帖子 boyzhigang » 2006-08-25 21:27

谢谢楼主的好贴
路漫漫其修远兮
吾将上下而求索

我是新手 老鸟多照顾 我要学习学习!!!
aBiNg
帖子: 1331
注册时间: 2006-07-09 12:22
来自: 南京

#11

帖子 aBiNg » 2006-08-25 22:51

TO boyzhiqang:
不用客气!
另:你发帖问的那个“关于XP重装后的多系统引导”问题,本帖也有介绍,完全可以恢复到先前的状态,我就不另外回你了:)
qh663
帖子: 1
注册时间: 2006-08-22 14:59

#12

帖子 qh663 » 2006-08-26 9:41

现在是win与ubuntu双启动。默认为ubuntu启动,怎样改为默认win启动?
aBiNg
帖子: 1331
注册时间: 2006-07-09 12:22
来自: 南京

#13

帖子 aBiNg » 2006-08-26 11:16

TO 楼上:
编写grub的menu.lst文件:
default 0 //表示默认启动为第一个title,要想设为默认启动为第二个title,你说是default X呢?:)
。。。
aBiNg
帖子: 1331
注册时间: 2006-07-09 12:22
来自: 南京

#14

帖子 aBiNg » 2006-09-01 9:13

有必要再顶一下...
上次由 aBiNg 在 2007-12-31 13:13,总共编辑 1 次。
头像
onlysai
帖子: 62
注册时间: 2006-08-22 16:42
来自: 广东省广州市

#15

帖子 onlysai » 2006-09-02 13:30

顶一下,支持好贴!!!!
放飞心情,用最真的语言舞动最真的心......
>>梦之海豚,请勇往直前-->我的Blog
回复