无忧启动论坛

标题: 求助各位大神一个ipxegrldr网络启动的问题 [打印本页]

作者: jie_china    时间: 2015-9-6 11:27
标题: 求助各位大神一个ipxegrldr网络启动的问题
本帖最后由 jie_china 于 2015-9-6 11:50 编辑

如下的启动菜单,ipxegrldr作为启动文件,PE启动的时候就会卡死,说什么内存太少。但是直接用IPXE加载相同的PE就没有任何的问题

title Boot from Win8PE
ipxe initrd http://192.168.1.1/ISO/win8pe.iso
ipxe chain http://192.168.1.1/ISO/memdisk iso raw


或者采用如下的启动,也是好的
title Boot from Win8PE
map --mem http://192.168.1.1/ISO/win8pe.iso (0xff)
map --hook
chainloader (0xff)
boot


作者: 不点    时间: 2015-9-6 15:26
你没说清失败在哪个环节,我仅凭猜测来答复,不一定符合实际。

有可能是,当从 pxe 启动时,主板的 pxe bios 占用了大量内存(100KB 左右),导致没有足够的常规内存来供 Windows 启动。memdisk 能成功,这很好,你就姑且用之。memdisk 之所以能成功,是因为它占用的常规内存较少,刚好可以保证有 512K 的常规内存供 Windows 启动之用。grub4dos 的map占用 12K 常规内存,比 memdisk 占用得多,所以,挤压了 Windows 所需要的常规内存空间,导致 Windows 不能启动。

而当 ipxegrldr 不作为 pxe 的启动文件时,由于此时主板不再提供 pxe bios,因此,主板对常规内存的占用就是 0, 完全没有占用常规内存(相比之下,刚才说的 pxe bios 会占用 100 多 K 的常规内存)。因此此时的自由常规内存是很多的,启动 Windows 就没有问题了。


作者: UC11779470    时间: 2015-9-6 15:45
不点 发表于 2015-9-6 15:26
你没说清失败在哪个环节,我仅凭猜测来答复,不一定符合实际。

有可能是,当从 pxe 启动时,主板的 pxe  ...

怎么让ipxegrldr作为启动文件啊?已启动grldr怎么引导启动ipxegrldr呀
作者: 不点    时间: 2015-9-6 15:59
根据 chenall 的解释,ipxegrldr 就是把 grldr 和 ipxe 集成到一起了。

既然已经启动 grldr,那就不妨试试用 chainloader /ipxegrldr 来加载 ipxegrldr。


作者: UC11779470    时间: 2015-9-6 16:04
不点 发表于 2015-9-6 15:59
根据 chenall 的解释,ipxegrldr 就是把 grldr 和 ipxe 集成到一起了。

既然已经启动 grldr,那就不妨试 ...

这是我的第一想法不过实验无效chainloader 执行失败
作者: jie_china    时间: 2015-9-6 20:58
UC11779470 发表于 2015-9-6 16:04
这是我的第一想法不过实验无效chainloader 执行失败

ipxegrldr  直接作为网启文件
作者: jie_china    时间: 2015-9-6 21:03
不点 发表于 2015-9-6 15:26
你没说清失败在哪个环节,我仅凭猜测来答复,不一定符合实际。

有可能是,当从 pxe 启动时,主板的 pxe  ...

多谢大神回复,你说的方法尝试了,ipxe命令还是失败。


作者: 不点    时间: 2015-9-7 10:01
楼上贴图显示的是 memdisk 的出错信息。错误分析如下:

memdisk 报告 iso 文件的启动扇区的完整性有错误。这可能是你的 iso 文件本身制作的问题,即,它不是一个完整的 el torito 可启动光盘的映像。也有可能是 memdisk 搞错的。后者的可能性更大。从 memdisk 对硬盘 chs 参数的 guess 来看,它猜出来的硬盘 chs 是 125/64/32,这不是一个常见的 chs 值。通常应该是 1024/255/63。所以,我怀疑 memdisk 把 hd0 的 chs 参数搞错了。受此影响,它可能把错误的扇区序列当作你的 iso 文件而加载,结果导致内存中的 iso 文件的格式发生错误,成为无效的 iso 文件格式。如果你是从 usb 启动,则 usb 的 chs 有可能是 125/64/32,但是,假如 usb 的 bios 不支持 LBA 模式,则可能无法完整读取 iso 文件,造成错误。图片中 EDD 后面应该还有信息,但拍照没有拍到。如果 EDD 是支持的,则表示支持 LBA。如果 EDD 是不支持的或不存在的,则表示不支持 LBA。

如果是从 usb 启动,为了保证成功率,你可能被迫使用 bean 开发的 fbinst 或者我开发的 multimbr 这两个启动软件。其他软件难以保证能够获取准确的 chs 参数。如果 chs 参数错了,那么后续的操作就会是错误百出,全乱套了。

总结一下:图片中的信息都是 memdisk 这个软件显示出来的。貌似问题出在 memdisk 上。它不具有完善的 chs 探测识别能力。


作者: jie_china    时间: 2015-9-7 21:35
不点 发表于 2015-9-7 10:01
楼上贴图显示的是 memdisk 的出错信息。错误分析如下:

memdisk 报告 iso 文件的启动扇区的完整性有错误 ...

多谢大神的答复。

我已经放弃 ipxe XXX命令了,ipxegrldr 引导后用map启动,要用ipxe就直接再加载一次ipxe,在ipxe环境下使用。这样兼容性也好点。




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