无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 5460|回复: 22
打印 上一主题 下一主题

双硬盘,双独立系统,在vista下加入XP引导可行吗?(已找出办法)

[复制链接]
跳转到指定楼层
1#
发表于 2008-5-29 01:18:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
双硬盘双系统,在vista下加入XP引导可行吗?我有一个T61的本本和PC组装机都是双硬盘双系统,二台机子二个系统都是独立的.......
如果我默认安装XP系统为主盘 下我用Grub 可以引导到V系统下...
但是我默认安装v系统为主盘 就不能进XP

有没有搞定的方法..........................求高手搞定啊....为了这个事我不知道安装过多少次系统!!!!

已经找到方法了。在这要感谢 Climbing  阿非 二位高手带来的帮助。在这次事件中不得不说无忧启动论坛 在启运这面真是牛X

开始之前做好先备份一下要修改的文件。

在vistat系统的根目录下找到bootmgr
把bootmgr重命名 例如:bootmgr为vsldr
把grldr放在visat系统的根目录下
在把grldr改名为bootmgr


菜单如下:
title 启动  Microsoft Windows XP Professional
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
root (hd0,0)
chainloader /ntldr
title 启动  Microsoft Windows vista
find --set-root /bootmgr
chainloader /bootmgr


[ 本帖最后由 33230 于 2008-5-30 11:23 AM 编辑 ]
2#
发表于 2008-5-29 07:41:06 | 只看该作者
先说说你是怎么安装双系统的,又是如何启动双系统的。
回复

使用道具 举报

3#
发表于 2008-5-29 08:21:21 | 只看该作者
T61也有双硬盘??你是怎么加进去的??!牛!
回复

使用道具 举报

4#
发表于 2008-5-29 08:38:10 | 只看该作者
用grub可以搞定。把grub安装到MBR

title 启动  Microsoft Windows XP Professional
find --set-root /ntldr
chainloader /ntldr

title 启动  Microsoft Windows vista
find --set-root /bootmgr
chainloader /bootmgr
回复

使用道具 举报

5#
发表于 2008-5-29 08:39:29 | 只看该作者
另外,我也对本本加硬盘感兴趣。不知道什么本本留有硬盘位
回复

使用道具 举报

6#
发表于 2008-5-29 08:43:51 | 只看该作者
PCMCIA<-->IDE吧,呵呵
回复

使用道具 举报

7#
 楼主| 发表于 2008-5-29 11:14:06 | 只看该作者
原帖由 阿非 于 2008-5-29 08:39 AM 发表
另外,我也对本本加硬盘感兴趣。不知道什么本本留有硬盘位


T61有托架 IBM的本本都可以把光驱位拿下放托架就行了!!!

你在淘宝上面找一下 硬盘托架 只有有的牌子都可以
回复

使用道具 举报

8#
 楼主| 发表于 2008-5-29 11:16:55 | 只看该作者
原帖由 Climbing 于 2008-5-29 07:41 AM 发表
先说说你是怎么安装双系统的,又是如何启动双系统的。


我接F12是可以选中二个硬盘的任意一个进系统。。。我就是不想按。。。

我就是正常安装X和V的。。。现在我把XP盘设为第一盘。。。所以有引导到V
但是我把V也就是第二个硬盘设为默认  他就没有引导项  直接进V系统

楼上的说  把grub安装到MBR 还是要按一下F11激活  和我按F12选硬盘是一样的道理
有没有办法像正常安装X和V一样的菜单让我选进系统!!!

[ 本帖最后由 33230 于 2008-5-29 11:20 AM 编辑 ]
回复

使用道具 举报

9#
 楼主| 发表于 2008-5-29 11:45:26 | 只看该作者
这个是阿非给我的帮助我一会试一下不知可行不!!!!
贴出来,让以后遇到的朋友做个参考!~


82819022 11:36:11

指間啲煙味o0 11:36:28
你昨天帮我回的帖
指間啲煙味o0 11:36:36

双硬盘,双独立系统,在vista下加入XP引导可行吗?
  阿非    11:36:37

  阿非    11:36:52
是可以的啊
指間啲煙味o0 11:37:04
二个独立的系统grub安装到MBR 还是要按一下F11
指間啲煙味o0 11:37:26
本来我现在按F12就可以选。。
  阿非    11:37:41
你想怎么解决
指間啲煙味o0 11:37:43
我接F12是可以选中二个硬盘的任意一个进系统。。。我就是不想按。。。
指間啲煙味o0 11:37:50
这个只是一个问题
指間啲煙味o0 11:38:31
能不能像正常安装多系统哪样
指間啲煙味o0 11:38:44
有二个系统让我选
  阿非    11:38:52
操作菜单?
  阿非    11:38:54
可以啊
  阿非    11:39:00
grldr
指間啲煙味o0 11:39:12
grldr这个可以安装在V下?
  阿非    11:39:21
可以的
  阿非    11:39:31
不是这个意思
  阿非    11:39:38
如果是VISTA
  阿非    11:40:31
把grldr改名为bootmgr放到活动分区根目录
  阿非    11:40:54
XP把grldr改名为ntldr
  阿非    11:41:28
注意,原来的ntldr和bootmgr重命名
  阿非    11:41:46
例如ntldr改为xpldr
指間啲煙味o0 11:41:57
这个我明白
  阿非    11:41:59
bootmgr为vsldr
指間啲煙味o0 11:42:07
==我想想。。。
指間啲煙味o0 11:42:36
title 启动  Microsoft Windows XP Professional
find --set-root /ntldr
chainloader /ntldr

title 启动  Microsoft Windows vista
find --set-root /bootmgr
chainloader /bootmgr
  阿非    11:42:38
然后title 启动  Microsoft Windows XP Professional
find --set-root /xpldr
chainloader /xpldr
指間啲煙味o0 11:43:06
然后用这个菜dan
指間啲煙味o0 11:43:22
菜dan 放在V下还有X下
  阿非    11:44:16
菜单要变
指間啲煙味o0 11:44:21
我知道了
指間啲煙味o0 11:44:23
我写给你看
指間啲煙味o0 11:44:41
然后title 启动  Microsoft Windows XP Professional
find --set-root /xpldr
chainloader /xpldr

V就是vsldr
指間啲煙味o0 11:44:53
find --set-root  /Vsldr
chainloader  /Vsldr

[ 本帖最后由 33230 于 2008-5-29 11:47 AM 编辑 ]
回复

使用道具 举报

10#
发表于 2008-5-29 11:47:36 | 只看该作者
title 启动  Microsoft Windows XP Professional
find --set-root /xpldr
chainloader /xpldr

title 启动  Microsoft Windows vista
find --set-root /vsldr
chainloader /vsldr
回复

使用道具 举报

11#
 楼主| 发表于 2008-5-29 13:51:39 | 只看该作者
不行。。。。进V系统可以开启grldr菜单...选XP 机子就重启 选V就正常。。。看来还是有点问题不过应该快成功了
回复

使用道具 举报

12#
发表于 2008-5-29 14:07:09 | 只看该作者
把xp系统盘上的boot.ini内容贴出来看一下。
回复

使用道具 举报

13#
 楼主| 发表于 2008-5-29 14:39:53 | 只看该作者
原帖由 Climbing 于 2008-5-29 02:07 PM 发表
把xp系统盘上的boot.ini内容贴出来看一下。



和BOOT.ini 没有关系

BOOT.ini 我都没有改过

因为我想从V系统启动到XP
回复

使用道具 举报

14#
发表于 2008-5-29 14:52:16 | 只看该作者
同样重要,你贴出来看一下。

我是怀疑,你从F12菜单中直接选择某硬盘启动和从grub4dos中启动xp,两种情况是不同的。vista基于磁盘标识来启动自己的系统,而xp则会记忆自己所在的分区,而两种不同的启动情况下,xp所在的分区可能会出现编码不同的情况。所以,我要看你的boot.ini是什么样子的。

另外,你可以尝试一下将xp的system注册表文件中的HKLM\system\mounteddevices下面的所有键值都删除,然后再在vista下通过grub4dos启动xp试试。
回复

使用道具 举报

15#
 楼主| 发表于 2008-5-29 18:02:13 | 只看该作者
Climbing 陪我搞了一下个下午
虽然到现在还没有搞定。。。但是他的热心和耐心让人#¥·#·#¥%¥%¥¥……

谢谢Climbing
回复

使用道具 举报

16#
发表于 2008-5-29 19:02:19 | 只看该作者
我是没有环境测试在双硬盘情况下,切换启动硬盘,会不会导致xp启动失败,按道理说,应该是失败的。关键是BIOS切换硬盘启动会产生什么样的不同。
回复

使用道具 举报

17#
发表于 2008-5-29 19:48:35 | 只看该作者
能用 EasyBCD 吗?
回复

使用道具 举报

18#
 楼主| 发表于 2008-5-29 21:12:31 | 只看该作者
小石头 2008-05-29 18:12:11
你现在优先选择的方式是:在bios中将hdd0设置为优先启动,将grub4dos安装到(hd0)的mbr中,设置grub4dos优先启动,这样一启动计算机就是grub4dos的菜单,你再选择进vista还是xp,用两种启动方式都可以正常启动两个系统。
其实现在的情况是:如果在bios中优先启动hdd0,那么xp和vista无论如何都启动正常,但如果bios优先启动hdd1,那么Vista可以正常启动,但xp却不能正常启动了
也是要解决的总是
而我们现在要试的就是在bios中设置(hd1)优先启动,然后通过grub4dos的菜单进入xp。
这就是原因

你说的对..只是你说反了....HD0是vista系统  HD1是XP  

而我们现在要试的就是在bios中设置(hd0)优先启动,然后通过grub4dos的菜单进入xp。

上面这句话这样说才对
回复

使用道具 举报

19#
发表于 2008-5-30 10:35:47 | 只看该作者
问题得到了初步解决,主要原因正如我前面所推测的,Vista跟XP两个系统在识别和寻找自己所在的分区的方式上是不同的,Vista是基于硬盘MBR中的Magic Number来寻找自己所在的分区,你无论将它的硬盘接在任何位置,只要不改它的Magic Number,它都可以正常启动,这就是为什么有些Vista的系统在更新了mbr后导致无法启动vista的根本原因。而XP则是基于ARC路径还寻找自己所在的分区,一个标准的ARC路径类似这样:multi(0)disk(0)rdisk(0)partition(1)\WINDOWS,在一般的PC机上,比较关键的就是其中的rdisk(0)partition(1)这两个参数。假设,你将你的硬盘设置在主要IDE通道的Primary位置安装了XP,那么rdisk肯定是0,但如果硬盘是放在Slave位置,则rdisk应该是1。如果,你在硬盘是Primary时安装了xp,而安装完成后,将硬盘变成了Slave,那么你的xp将不能正常启动,因为根据boot.ini中的ARC路径指向,它还要在rdisk(0)上查找自己的所在分区,而这里xp却是在rdisk(1)上,当然就会造成启动故障。楼主遇到的就是类似的情况,楼主在安装xp系统时,从IBM本本的F12菜单中直接选择本来应该是rdisk(1)的硬盘开始安装xp,而IBM的BIOS将这样启动的硬盘当作rdisk(0)来处理(实际上就是从哪个硬盘优先启动,哪个硬盘就是rdisk(0)),这样,当楼主优先启动Vista的硬盘并进入grub4dos,通过下面的方式启动xp:
title Windows XP rdisk(0)
find --set-root /ntldr
chainloader /ntldr

导致XP启动失败,原因很简单,因为这时候xp的硬盘变成了rdisk(1),而boot.ini中还指向rdisk(0),实际上是指向了vista所在的硬盘,当然会导致xp启动失败。现在的解决办法是,在grub4dos中用下面的启动菜单来启动xp:
title Windows XP rdisk(1)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
root (hd0,0)
chainloader /ntldr

经试验,启动正常。实际上,上面的操作就是将(hd0)和(hd1)对掉,也就是将rdisk(1)再变回rdisk(0),由此可见,grub4dos是如何强大了。

还有另一种解决办法,就是在boot.ini中修改ARC路径,将rdisk(0)改成rdisk(1),按道理说,这样也应该是可以正常启动的,但这种方法未经试验,需要进一步验证。
回复

使用道具 举报

20#
 楼主| 发表于 2008-5-30 11:00:14 | 只看该作者
在boot.ini中修改ARC路径,将rdisk(0)改成rdisk(1),按道理说,这样也应该是可以正常启动的,但这种方法未经试验,需要进一步验证。

不行。。。不行和没改的一样!。。。会重启

[ 本帖最后由 33230 于 2008-5-30 11:05 AM 编辑 ]
回复

使用道具 举报

21#
发表于 2008-5-30 12:48:05 | 只看该作者
晕,昨天帮人测试系统,没来。问题解决就好,Climbing 的思路是对的
回复

使用道具 举报

22#
 楼主| 发表于 2008-5-30 15:11:02 | 只看该作者
现在才发现Grub真是太强大了!
回复

使用道具 举报

23#
发表于 2008-6-2 16:21:23 | 只看该作者
由于楼主一直没有贴启动失败的图,导致这个问题的最后一个解决方案一直在绕弯路,到今天下午终于得到了全面的解决。

问题的关键在于:XP的ntldr只会寻找当前活动硬盘活动分区下的启动文件(也就是boot.ini, ntdetect.com和bootfont.bin)。

在Vista所在硬盘作为活动硬盘(也就是BIOS默认启动硬盘,也就是grub4dos中的(hd0)情况下),你启动XP硬盘((hd1))上的ntldr,它会到Vista所在分区根目录下寻找它的其它启动文件,例如boot.ini,而Vista分区下显然没有这些文件,所以,它会出错提示找不到boot.ini等文件。

解决办法:将ntldr、boot.ini、bootfont.bin、ntdetect.com这几个启动文件从xp的分区复制到vista分区的根目录下。

另外,由于Vista硬盘作为激活硬盘,那么XP的硬盘在boot.ini的ARC路径中就不再是原来的rdisk(0),而变成了rdisk(1),所以,要想xp正常启动,还需要修改boot.ini中的对应ARC路径。

经楼主实验,经以上修改后,XP完全可以正常启动,当然是通过grub4dos如下操作:

  1. title Start Windows XP by ntldr
  2. find --set-root /ntldr
  3. chainloader /ntldr

  4. # 或者

  5. title Start Windows XP on (hd1,0)
  6. root (hd1,0)
  7. chainloader +1
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-6-13 06:43

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表