|
原帖由 pseudo 于 2010-3-24 19:49 发表
有点不解的是,据zhaohj测试,0PE的F6模块在pxe场合也没出问题。而且一向没有用pxe unload。
所以本帖问题似乎还没解决。
这就更能说明问题了。不要轻易使用 pxe unload,而应该使用 pxe keep 来阻止默认的 pxe unload 动作。
如果事先没有执行 pxe keep 命令,则 boot 命令在执行的时候会顺便把 pxe unload 也执行了,然后才把控制权交给操作系统的引导代码。
zhaohj 的问题,他已经弄明白了,是 DOS 以后出的问题。这是完全可以理解的。DOS 程序与 PXE BIOS 发生了冲突。
因此,应该着力把不兼容的 DOS 程序找出来,这才是最要紧的。为了迎合硬件,我们只能淘汰掉不兼容的软件,这没得商量。
----------
看看我们以往曾经发生的事情。我们的 grub4dos 的磁盘仿真代码要占据 12KB 的常规内存。有些主板(板卡)的PXE要占据100多KB的常规内存。两者加起来就可能超过 128KB 了。这就成了一个潜在的问题。当启动 memtest 的时候,问题终于爆发了。memtest 使用的是很老的 Linux 内核格式,这种 Linux 内核格式对内存的使用也是很死板的,它使用固定的内存地址,不能避开 128KB 的冲突。这样的话,我们就只好放弃对于 memtest 的支持了。当然了,memtest 自己的开发人员也在寻求解决办法,他们会采用较新的 Linux 内核格式,这样就可以避免冲突了。
这一事例说明了一个道理:不能与硬件共存的,即便它是 Linux 也不行,也得改变它自己,而不是要求硬件去改变。 |
|