无忧启动论坛

标题: 如何用grub启动硬盘上的PE? [打印本页]

作者: dylneil    时间: 2006-8-18 22:38
提示: 作者被禁止或删除 内容自动屏蔽
作者: 老毛桃    时间: 2006-8-18 22:41
这是正常的,PELDR 会自动在第一分区中找 WINNT.SIF 文件,我也试过这样,不行的。可以按照老九 XPEHELP 中的帮助操作,将 XPE 安装到第一分区中。
作者: dylneil    时间: 2006-8-18 22:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: 天风    时间: 2006-8-18 22:48
B:
[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\I386\SYSTEM32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdimageoffset=36352 /rdpath=multi(0)disk(0)rdisk(0)partition(2)\XPE.SDI

以上脚本只能用于PELDR存在于第一分区,XPE.SDI存在于第二分区下才能正常启动!
作者: dylneil    时间: 2006-8-18 22:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: strongchen    时间: 2006-8-18 23:07
引导ram xpe 用不了grub吧。用boot.ini引导很简单,而且img文件放在那个区都可以。
作者: dylneil    时间: 2006-8-18 23:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: dylneil    时间: 2006-8-18 23:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: strongchen    时间: 2006-8-18 23:20
原帖由 dylneil 于 2006-8-18 10:47 PM 发表
如果把PE放在第一分区,当然什么问题也没有。现在的问题是,我把它放在其它分区上,难道不可以用grub启动吗?
如果不可以,那么问题究竟出在哪里?应当如何改正?是路径错误,还是什么错误?


原帖由 老毛桃 于 2006-8-18 10:41 PM 发表
这是正常的,PELDR 会自动在第一分区中找 WINNT.SIF 文件,我也试过这样,不行的。可以按照老九 XPEHELP 中的帮助操作,将 XPE 安装到第一分区中。


lz的问题老毛桃说的清楚了,winnt.sif一定要放在第一分区。。
作者: dylneil    时间: 2006-8-18 23:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: lxl1638    时间: 2006-8-18 23:31
原帖由 dylneil 于 2006-8-18 11:11 PM 发表
我的目的就是想完全摆脱第一分区,把所有的有关PE的启动文件都放在其它分区上。


1、通过加载器AVLDR.PE加载PELDR时,AVLDR.PE会查找硬盘的所有分区的PELDR文件;
2、可以在WinNT.SIF中定义PE映像所在的分区,其ARC路径的定义与BOOT.INI文件的标准是一致的;
3、当WinNT.SIF不指定的WinPE映像路径时,PELDR只能加载它所在分区的WinPE映像;
4、PELDR与WinNT.SIF必须在同一分区。

[ 本帖最后由 lxl1638 于 2006-8-18 11:32 PM 编辑 ]
作者: 老毛桃    时间: 2006-8-18 23:37
原帖由 lxl1638 于 2006-8-18 23:31 发表
1、通过加载器AVLDR.PE加载PELDR时,AVLDR.PE会查找硬盘的所有分区的PELDR文件;
2、可以在WinNT.SIF中定义PE映像所在的分区,其ARC路径的定义与BOOT.INI文件的标准是一致的;
3、当WinNT.SIF不指定的WinPE映像路径时,PELDR只能加载它所在分区的WinPE映像;
4、PELDR与WinNT.SIF必须在同一分区。

照老九这么说,包括加载器在内的所有安装 PE 需要的几个文件都可以一块搞到非第一分区了?只需要改写第一分区中的 BOOT.INI 中加载器的路径?
作者: lxl1638    时间: 2006-8-19 00:29
是这样的,AVLDR.PE要放在与BOOT.INI的同一分区(也应该能放到某个目录下),其它的都可以随便。
AVLDR.PE能不能放到其它分区我没试过。
作者: dylneil    时间: 2006-8-19 06:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: lxl1638    时间: 2006-8-19 06:37
如何通过grub载入其它分区上的peldr,你到 http://www.znpc.net/bbs/ 这里学习或问一下。
至于活动分区的引导扇区被损坏这种情况不必讨论,因为引导扇区坏了grub也无法被载入了。
作者: dylneil    时间: 2006-8-19 07:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: fujianabc    时间: 2006-8-19 10:20
楼主,ramdisk的pe的确可以不放在第一分区的,我就一直放在第二分区的,而且用grub来载入。

不过你的第二分区不能是逻辑分区(hd0,4),应该还必须是主分区(hd0,1),你可以尝试用pqmagic把该分区转为主分区再试试看。

因为peldr只搜索主分区下的winnt.sif。

还有一个建议,以后分区尽量都分成主分区,这会给多重启动带来很多便捷的,我一台机子上两个硬盘,8个分区全是主分区,任何一个分区都能启动系统。
作者: dylneil    时间: 2006-8-19 15:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: fujianabc    时间: 2006-8-19 20:56
原帖由 dylneil 于 2006-8-19 03:03 PM 发表
因整个上午出现区域性网络故障,无法上网,直至现在仍时断时好。刚才看到fujianabc的帖子。
我用PQ将我的第二硬盘的第二区转成了主分区,试验结果如下:

1.  使用chainloader (hd1,1)/peldr,屏幕显示为:
  ...

grub把你所在的第一主分区认为(hdx,0),逻辑分区所在的扩展分区认为(hdx,1),第二主分区认为了(hdx,2),这不是grub的问题,而是硬盘mbr里顺序的问题,这不影响winpe的启动的。

你的实验结果是仍旧不行,这并未出乎我的预料。
我曾发现peldr/ntldr只能搜索主分区下的winnt.sif/boot.ini,如果这个主分区是由扩展分区转成的主分区也不行,似乎由扩展分区转成的主分区还是与原创的主分区有所不同(硬盘上位置差了不到1M),这也可以看作是peldr/ntldr的一个bug。
建议你删除这一分区,重新建立成一个主分区;如果此分区有重要数据,也可以用pqmagic把原来的(hd0,0)尾部减小几百MB,再建立一个新的主分区。从这个小分区应该可以启动ramdisk的winpe了。

[ 本帖最后由 fujianabc 于 2006-8-19 08:59 PM 编辑 ]
作者: dylneil    时间: 2006-8-19 21:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: king8462    时间: 2006-8-19 22:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: 老毛桃    时间: 2006-8-20 10:02
原帖由 fujianabc 于 2006-8-19 20:56 发表
我曾发现peldr/ntldr只能搜索主分区下的winnt.sif/boot.ini,如果这个主分区是由扩展分区转成的主分区也不行,似乎由扩展分区转成的主分区还是与原创的主分区有所不同(硬盘上位置差了不到1M),这也可以看作是peldr/ntldr的一个bug。

呵呵,这个我昨天刚刚试过,似乎确实不行,但我又将一些自由空间合并到这个转换过来的主分区,却发现可以,难道 WinPM 在合并分区的时候又修复这个分区的 FAT 了?
作者: 老毛桃    时间: 2006-8-20 10:05
原帖由 老毛桃 于 2006-8-18 23:37 发表
照老九这么说,包括加载器在内的所有安装 PE 需要的几个文件都可以一块搞到非第一分区了?只需要改写第一分区中的 BOOT.INI 中加载器的路径?
原帖由 lxl1638 于 2006-8-19 00:29 发表
是这样的,AVLDR.PE要放在与BOOT.INI的同一分区(也应该能放到某个目录下),其它的都可以随便。
AVLDR.PE能不能放到其它分区我没试过。

今天试验过了,加载器 AVLDR.PE 只能放在第一个主分区,如果尝试以 multi(0)disk(0)rdisk(0)partition(2)\Avldr.pe="WinXPE  By: 老毛桃" 的形式运行加载器,则会出现错误
作者: dylneil    时间: 2006-8-20 10:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: fujianabc    时间: 2006-8-20 16:55
原帖由 dylneil 于 2006-8-20 10:13 AM 发表
1.  你使用的是什么分区工具?
2.  在多个主分区的情况下,你用什么简单办法来实现激活某一主分区或关闭某一已处于活动状态的主分区?可以不使用那些磁盘工具吧?这样就太不方便了。
3.  按照你所说,硬盘上为4个主分区,那么你就没有扩展分区(逻辑分区)了,是吗?


1、新建分区就用windows自带的磁盘管理器就行了;
2、不需要用其它磁盘工具来激活主分区,只需把第一主分区设为激活即可,然后用boot.ini加载此分区下的grldr,要启动另一主分区,执行命令,比如
chainloader (hd0,1)+1
boot
如果你一定想要激活其它主分区,用windows的磁盘管理器就能激活其它主分区;
3、如果你的硬盘只想要四个或4个以下分区,就全部用主分区吧;若想分五个以上分区,前三个用主分区,然后再用逻辑分区,这样前三个分区都能独立启动操作系统,总比只用一个主分区来得方便。
作者: fujianabc    时间: 2006-8-20 17:09
原帖由 老毛桃 于 2006-8-20 10:02 AM 发表

呵呵,这个我昨天刚刚试过,似乎确实不行,但我又将一些自由空间合并到这个转换过来的主分区,却发现可以,难道 WinPM 在合并分区的时候又修复这个分区的 FAT 了?

归根结底可以有两种解释:
1、逻辑分区转成的主分区与原创的主分区有些不同,它与前一个分区之间留有一些空隙(空间),你再合并了旁边的自由空间可能就消除了两个分区之间的空隙空间;
2、这也可以看成是ntldr/peldr的一个bug,如果两个分区之间留有一点空隙,而且这个空隙空间满足一定条件时,ntldr/peldr就找不到后一个分区下的boot.ini/winnt.sif。

原帖由 老毛桃 于 2006-8-20 10:05 AM 发表
今天试验过了,加载器 AVLDR.PE 只能放在第一个主分区,如果尝试以 multi(0)disk(0)rdisk(0)partition(2)\Avldr.pe="WinXPE  By: 老毛桃" 的形式运行加载器,则会出现错误

ntldr可以加载两种类型的文件/系统:
1、诸如 multi(0)disk(0)rdisk(0)partition(2)\的路径(叫arc路径),只能启动winnt系统,而且arc路径必须是一个文件夹;
2、启动扇区文件(类似于grub的chainloader命令),诸如dos的bootsect.bin,grub的grldr,以及avldr等文件都属于启动扇区类文件。boot.ini调用此类文件不能用arc路径,只能用dos路径,即只能用c:\Avldr.pe。
boot.ini中的dos路径只能用c:,其他盘符如d,e等都无效。
作者: 老毛桃    时间: 2006-8-20 17:15
原帖由 fujianabc 于 2006-8-20 17:09 发表
ntldr可以加载两种类型的文件/系统:
1、诸如 multi(0)disk(0)rdisk(0)partition(2)\的路径(叫arc路径),只能启动winnt系统,而且arc路径必须是一个文件夹;
2、启动扇区文件(类似于grub的chainloader命令),诸如dos的bootsect.bin,grub的grldr,以及avldr等文件都属于启动扇区类文件。boot.ini调用此类文件不能用arc路径,只能用dos路径,即只能用c:\Avldr.pe。
boot.ini中的dos路径只能用c:,其他盘符如d,e等都无效。

嗯,学习一下,非常感谢!




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3