无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 7968|回复: 26
打印 上一主题 下一主题

双硬盘双系统用Grub for DOS 的引导问题

[复制链接]
跳转到指定楼层
1#
发表于 2010-4-26 09:57:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人的电脑安装两个SATA硬盘,第一个硬盘上安装了WIN7,现在在第二个硬盘上用Ghost安装了XP。我已将第一个硬盘的MBR写成Grub启动,
Menu.lis如下:
title XP
find --set-root /ntldr
chainloader /ntldr
title Win7
find --set-root /bootmgr
chainloader /bootmgr

现在选择WIN7能正常启动,而XP无法启动。
麻烦那位高手帮忙看一下是否我还要做什么操作:
1,第二个硬盘现在的MBR是 Win NT5.x,是否要改成Grub?
2,XP 的boot.ini :default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS,
   是否要改成rdisk(1)?
3,如果用XORLDR编定菜单的话 在启动分区那一项选择不了第二个硬盘又该如何设置?

本人是个菜鸟如何有些问题问得不太清楚请多海涵。

点评

www.xinvren.com/book/1/1623/ 惊悚乐园  发表于 2014-8-19 20:22
2#
发表于 2010-4-26 11:55:41 | 只看该作者
第二个硬盘上的ghost xp是如何安装的?
回复

使用道具 举报

3#
 楼主| 发表于 2010-4-26 11:57:25 | 只看该作者
在Win7下直接用ghost安装的
回复

使用道具 举报

4#
发表于 2010-4-26 11:57:41 | 只看该作者
将你的BOOT.INI文件贴上来看看……
回复

使用道具 举报

5#
发表于 2010-4-26 11:58:29 | 只看该作者
还有不能启动,是怎么个不能法,出错信息是什么?
回复

使用道具 举报

6#
 楼主| 发表于 2010-4-26 12:01:21 | 只看该作者
Boot.ini:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

选择XP的时候没有任何提示,直接重启了
回复

使用道具 举报

7#
发表于 2010-4-26 12:02:55 | 只看该作者
按照我用VPC里做两个硬盘启动PE的经验来看,可能是因为XP之类不支持从第二硬盘启动的缘故——如果你的BOOT.INI正确的话。试试用下面的语句,看能不能成功启动XP:

title  WinXP from 2nd HDD \n\n 启动第二硬盘上的 WinXP
  map (hd0) (hd1)
  map (hd1) (hd0)
  map --hook
  rootnoverify (hd0,0)
  chainloader --force /NTLDR
回复

使用道具 举报

8#
发表于 2010-4-26 12:04:54 | 只看该作者
原帖由 samuel_lin 于 2010-4-26 12:01 发表
Boot.ini:

timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin ...


试试将BOOT.INI中有关multi(0)disk(0)rdisk(0)partition(1)\WINDOWS 改成 multi(0)disk(1)rdisk(0)partition(1)\WINDOWS试试,看以不能成功。
回复

使用道具 举报

9#
发表于 2010-4-26 12:51:31 | 只看该作者
的确是需要把 hd1 map 为 hd0 方可启动,而 xorldr 则需要0.35 以上版本
回复

使用道具 举报

10#
 楼主| 发表于 2010-4-26 13:48:45 | 只看该作者
按照我用VPC里做两个硬盘启动PE的经验来看,可能是因为XP之类不支持从第二硬盘启动的缘故——如果你的BOOT.INI正确的话。试试用下面的语句,看能不能成功启动XP:

title  WinXP from 2nd HDD \n\n 启动第二硬盘上的 WinXP
  map (hd0) (hd1)
  map (hd1) (hd0)
  map --hook
  rootnoverify (hd0,0)
  chainloader --force /NTLDR

老狼大哥谢谢了!按照你这个方法可以引导进XP了。
不过boot.ini保留原来Default就行了,更换disk(1),反而会提示找不到引导。

顺便问一名,如果我XP是装在同一个硬盘的另一个分区,是否Muen.lst就按我一开始那样编就可以了?
回复

使用道具 举报

11#
发表于 2010-4-26 14:01:15 | 只看该作者
修改为DISK(1),是在G4D中不做MAP处理的情况之下。

如果安装在同一个硬盘不同分区,象你那样直接写就可以了,不过得看BOOT.INI中的分区,有没有改成你XP所在的分区。

[ 本帖最后由 xianglang 于 2010-4-26 14:03 编辑 ]
回复

使用道具 举报

12#
发表于 2010-4-26 14:03:36 | 只看该作者
原帖由 <i>samuel_lin</i> 于 2010-4-26 11:57 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=1939643&ptid=162816" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
在Win7下直接用ghost安装的
<br />

在win7下用ghost只是将克隆文件恢复到硬盘上,这时候克隆系统并没有安装开始,你恢复完克隆后,是如何启动那个克隆系统进入安装过程的。

如果我估计不错,应该是在BIOS启动菜单中直接选择第二硬盘启动的,这样的话,第二硬盘就变成了第一硬盘,而在grub4dos中你直接从第二硬盘启动本来当作第一硬盘的系统,当然会是失败的。而前面的答复中map (hd0) (hd1) 及map (hd1) (hd0)就是将第二硬盘与第一硬盘逻辑上互换的过程。

另外,将boot.ini中的rdisk(0)改成rdisk(1)应该也可以启动,不过还需要改一下注册表,删除HKLM\SYSTEM\mounteddevice中的所有键值。
回复

使用道具 举报

13#
 楼主| 发表于 2010-4-26 14:21:30 | 只看该作者
#12 你好,删除HKLM\SYSTEM\mounteddevice中的所有键值,你指的是在win7的注册表中删吗?还是进XP删?
回复

使用道具 举报

14#
发表于 2010-4-26 14:40:41 | 只看该作者

回复 #13 samuel_lin 的帖子

这种问题不需要问,你解决的是xp的启动问题,你删除win7的注册表干什么?
回复

使用道具 举报

15#
 楼主| 发表于 2010-4-26 15:08:40 | 只看该作者

回复 #14 Climbing 的帖子

不好意思!其实我是想问你说: 另外,将boot.ini中的rdisk(0)改成rdisk(1)应该也可以启动,不过还需要改一下注册表,删除HKLM\SYSTEM\mounteddevice中的所有键值。
你指在哪个系统删。
回复

使用道具 举报

16#
发表于 2010-4-26 15:14:36 | 只看该作者
无论在哪个系统删除,只要删掉就好,删除之后,再使用rdisk(1)启动时,就不能用grub4dos的map命令交换磁盘了。
回复

使用道具 举报

17#
发表于 2010-4-26 15:33:28 | 只看该作者
我认为改rdisk(1)也不一定可以,从XP的启动特性看,它的启动文件必须在第一启动设备的活动主分区上。
回复

使用道具 举报

18#
发表于 2010-4-26 16:03:12 | 只看该作者

会不会是名字错了 menu.lst
回复

使用道具 举报

19#
 楼主| 发表于 2010-4-26 16:18:07 | 只看该作者

回复 #18 fang316 的帖子

不好意思!只是我打上来问的时候打错了。实际文件没错的是menu.lst.
回复

使用道具 举报

20#
发表于 2010-4-26 20:03:54 | 只看该作者
存放在FAT和NTFS格式的磁盘里的文件,G4D是不区分大小写的。
回复

使用道具 举报

21#
发表于 2010-4-27 13:45:48 | 只看该作者
一直没见到楼主修改rdisk(1)及删除注册表后的报告。当然,如果启动不成功,你可以考虑将ntldr、boot.ini、ntdetect.com复制到第一硬盘活动分区再试试。
回复

使用道具 举报

22#
 楼主| 发表于 2010-4-27 15:48:34 | 只看该作者

回复 #21 Climbing 的帖子

你好!
我刚才测试了一下修改rdisk(1)及删除注册表后依然无法引导XP,依然直接重启。
而用后一种方法将ntldr、boot.ini、ntdetect.com复制到第一硬盘活动分区并修改rdisk(1),不删除注册表,是可以正常引导XP了。
不过我种方法跟我之前还不知道有Grub的时候(本人刚学Grub不到一个星期),直接编bootbcd的加入XP的启动项方法就一样了,没办法做到系统文件完全独立.
我的初衷是想将两个硬盘的系统文件完全独立开,万一我win7被破坏了依然可以运行XP。(前面map的方法应该就是我想要的)
等会我会再试一下用XORDL编定菜单测试。

谢谢各位的悉心指导,我会继续测试学习^_^
回复

使用道具 举报

23#
发表于 2010-4-27 16:09:33 | 只看该作者
原帖由 Climbing 于 2010-4-27 13:45 发表
一直没见到楼主修改rdisk(1)及删除注册表后的报告。当然,如果启动不成功,你可以考虑将ntldr、boot.ini、ntdetect.com复制到第一硬盘活动分区再试试。

虽然将这些启动文件复制到第一硬盘活动分区可以实现XP启动,
但似乎有违楼主的初衷。
回复

使用道具 举报

24#
发表于 2010-4-28 10:04:10 | 只看该作者
之所以要复制到win7分区,是因为ntldr只认第一硬盘的活动分区上的boot.ini,这是ntldr的问题,不是grub4dos的问题。当然,做这个测试只是有益的探索,事实上,使用前面的map命令交换磁盘的方式就已经完美解决楼主的问题了。

如果不想复制文件,可以将ntldr那几个文件放到一个软盘映像中(NT软盘启动盘),然后将这个软盘映像放在xp所在分区,使用grub4dos加载这个软盘映像并进一步加载xp即可。


  1. title boot xp from NT boot floppy
  2. find --set-root /ntboot.img
  3. map --mem /ntboot.img (fd0)
  4. root (fd0)
  5. chainloader /ntldr
复制代码
回复

使用道具 举报

25#
发表于 2010-5-14 15:35:15 | 只看该作者
在这里学习了,很好,以后要常来
回复

使用道具 举报

26#
发表于 2011-7-15 17:14:00 | 只看该作者

经验帖啊

经验帖啊经验帖啊经验帖啊
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-7-24 03:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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