[分享]Xp+Vista+Ubuntu7.10三系统安装方法(vista的引导管理winload引导)

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
一木
帖子: 75
注册时间: 2007-03-24 18:41
来自: 中国民航大学

[分享]Xp+Vista+Ubuntu7.10三系统安装方法(vista的引导管理winload引导)

#1

帖子 一木 » 2008-03-22 19:34

不要鄙视我啊,其实我用ub也很长时间了,虽然还属于菜鸟级,现在的电脑(去年买的)硬件相对比较新,ub的识别不是很好,就装了xp和vista(都是oem版,自带vista,又搞了个xp的oem),还有就是工作原因暂时也离不开xp


一、安装xp,这个时候可以把vista的分区也分好,同时留出Linux的空间
二、安装vista,这样就用vista的winload引导系统了
三、安装UB7.10(ubuntu)这是最关键的一步,如果想用GRUB引导系统就直接安装可以了,把GRUB装到mbr
今天我的想法就是用vista的系统引导来引导系统,因为这样在vista出问题,重装后可以很容易恢复不至于损坏UB,而重装UB就按照下面的步骤,类似这里的第三步好了
一步一步安装,分区分3个一个根分区/,一个交换区swap,一个/home,之后在装到设置引导管理器的时候,点击高级(advance),默认是把GRUB安装在MBR,就是第一个磁盘第一个分区里,(hd0)或(hda,0)或sda1,其实3个表达方式指的是一个地方,只是表达不同而已
note:注意前两个表达方式是带括号的,第一个分区是从0开始的;后面的一个没有括号,但是第一个分区是从1开始的,哈~如果不明白,Google明白再继续往下走
因为我们要用winload引导系统,所以这个地方就不能把GRUB装在默认的sda1,因为winload是装在sda1的,这样会把winload覆盖了,就变成用GRUB引导了,这里我们是这么做的,一个小技巧,看好了:在高级里选择引导管理器的安装位置的时候放到你的根分区,例如我的根分区是sda9,所以我就把(hd0)改成sda1,注意没有括号,这个地方最后声明一下,我在这个地方遇到的问题*。这样直到安装完。
四、上面的这些其实没有什么,很简单就可以搞定,下面的过程可能要麻烦些,因为要用代码做一些事情

完成UB的安装后,重启发现直接进入xp或vista了,没有看到UB的选项,怎么办,不要着急
这个时候有个简单的方法就是在vista里安装EasyBCD,但是好像有缺点,是关于休眠的,我们这里就是不借助其他工具,介绍只需要系统盘就可以搞定的方法如下:
1、先用UB的安装盘把把grub的引导扇区文件导出来
这个地方可以在安装的时候做好,省得多重启一次
方法:在linux下

dd if=/dev/sda9 of=/media/ubuntu.lnx bs=512 count=1

(我的GRUB安装在sda3上)

/dev/sda 表示从sata硬盘

ide的硬盘,用/dev/hda。具体情况视grub引导记录安装的位置而定

(这个和用XP的ntldr一样)
if是输入,of是输出,输出的ubuntu.lnx文件最好备份一份这样在重装vista后就可以省去这一步,直接用了

dd的用法后面会有详细的介绍
2、在vista下,用管理员权限运行cmd,(在vista所在分区下,window\system32\下找到cmd,右键选择用管理员权限运行)然后
bcdedit /create /d "My Ubuntu 7.10" /application bootsector

建立一个名称为“My Ubuntu 7.10”,通过加载类型为“引导扇区文件”的启动项

执行后,会返回一个{GUID},下面的命令用到这个{GUID}

bcdedit /set {GUID} device partition=C::
设置引导扇区文件所在的分区(就是这个ubuntu.lnx所在的分区)

bcdedit /set {GUID} path \media\ubuntu.lnx
指定引导扇区文件的路径和文件名(反斜杠\,表示根目录)

bcdedit /displayorder {GUID} /addlast
增加这个Ubuntu的菜单项到末尾。重新启动计算机。
这个时候就大功告成了。至此,三系统安装就完成了

提示:上面在安装GRUB输入磁盘分区的时候,犯了一个错误,致使前面几次安装都以失败告终,具体看博客前面的文章,导致错误的具体原因就是没有注意括号的存在,以至于安装UB到最后提示遇到严重错误退出,然后我放弃安装后很奇怪的一个事情就是我在xp下把原来准备安装UB的系统分区删除了结果出现了,再次安装UB的时候分区的方式变成了只能重新格式化整个磁盘才能安装的情况,这个问题让我丈二和尚摸不着头脑,不知道怎么解决,后来看到磁盘管理器出现错误,我之前的博客也有说明,后来我就抱着试试看的想法在vista下,注意是在vista下把原来的准备装UB的磁盘分区重新格式化了,重新安装,嘿~,这次正常了,这样就既保留原来磁盘的分区及分区内的文件,又能安全的安装UB了
头像
zhongsanakang
帖子: 156
注册时间: 2008-01-02 23:08

#2

帖子 zhongsanakang » 2008-03-23 1:51

大哥你的方法太复杂了,我的电脑里有3个硬盘,5个系统(windosXP、windows2000、RedFlag6、ubuntu7.10、ubuntu8.04--其实也有VISTA的只不过无法激活删了),就用grub4dos引导的,只要安装时不破坏主盘的MBR,方法很简单:
1.安装grub4dos
DOS下用PQ把主盘分两个主分区,并把第一主分区隐藏(linux下是不隐藏的,相对于DOS及win系统),这个分区里放grldr(grub4dos软件包里的一个文件,作用相当于NTLDR)及menu.lst,用grub4dos软件包里的一个工具叫bootlace.com的写MBR命令是:
#在 Linux下安装 GRLDR 启动系数到MBR(建议用此法,因为都有LIVE-CD,DOS下一片黑):
bootlace.com /dev/hda
#在 DOS下安装GRLDR 启动系数到 MBR :
bootlace.com 0x80
2.安装操作系统
如安装WIN系统,用PQ把第一主分区设为非活动,第二主分区设为活动,这样WIN就会把其启动参数写在第二主分区上了。
如安装linux系统,正如你的方法,选择安装启动器时选“/”分区吧。
3.设置menu.lst
我的是(可照抄,修改下便可用):
splashimage /boot/grub/logo.xpm.gz#设置背景位置
fontfile /boot/grub/font#设置中文字体(随便在linux下COPY中文字体一个过去吧)
timeout 30#设置超时
default 0#设置默认启动项
title 【1】 Windows XP 2K#NTLDR可以引导XP及2K了,设置BOOT.ini便可
find --set-root /ntldr
chainloader /ntldr
title 【2】 Ubuntu #把/boot/grub/menu.lst上的相关内容复制过便OK了,下同。
root (hd0,7)
kernel /boot/vmlinuz-2.6.24-12-generic root=UUID=d2b0486a-08b7-49be-97b6-a47a9f3c312c ro quiet splash
tinitrd /boot/initrd.img-2.6.24-12-generic
quiet
title 【3】 Maotao XPE#还可以引导WIN PE呢
find --set-root /LDRXPE
chainloader /LDRXPE
title 【4】 重新启动
reboot
title 【5】 关闭计算机
halt
title 【6】Ubuntu8.04
root (hd1,4)
kernel /boot/vmlinuz-2.6.24-12-generic root=UUID=5b7d7ebb-abd5-4d76-bf23-960a571a70dc ro quiet splash
initrd /boot/initrd.img-2.6.24-12-generic
quiet
title 【7】RedFlag6
root (hd0,6)
kernel /boot/vmlinuz-2.4.21-12
initrd /boot/initrd.img-2.4.21-12
boot
4.如以后你要删哪一个,用PQ或其它方式格掉便行了,要安装用第二步的方法安装,在menu.lst添加启动参数便OK。如我这样爱做小白的如没用这一招是不行的。
被kubuntu-kde4“K”得好爽!!!!
strup
帖子: 652
注册时间: 2006-09-16 14:19

#3

帖子 strup » 2008-03-23 12:14

直接把grub4dos的两个文件拖到windows根目录
按照lz的方法
免去
dd if=/dev/sda9 of=/media/ubuntu.lnx bs=512 count=1

bcdedit /set {GUID} path \media\ubuntu.lnx
这一步改成
bcdedit /set {GUID} path \grldr.mbr
就可以了

还可以自动搜索menu.lst
回复