[ Last edited by chenall on 2008-5-2 at 09:28 PM ]作者: 不点 时间: 2008-5-6 02:45 看看最新编译是否解决了顶楼的问题。下载: http://grub4dos.jot.com/作者: adatsui 时间: 2008-5-7 01:51 兩位大俠的率效實在是沒話說, 初步測試如下:
Dos 的 bootimage 內 config, autoxec.bat 文件全部內容清空.
TFTP 使用 grldr 506 Boot DOS
Dos 下分別執行不同版本 grub.exe
1. 506 X, Failure restore ROM INT -0x13 vector. Unsupported DOS, device driver, or TSR.
2. 505 OK
3. 506 x, Failure restore ROM INT -0x13 vector. Unsupported DOS, device driver, or TSR.
4. 422 --status , The int13 hook is off. The Drive map table is currently empty.
5. 505 OK
6. 506 x, Failure restore ROM INT -0x13 vector. Unsupported DOS, device driver, or TSR.
TFTP 使用 grldr 505 Boot DOS
1. 505 OK (曾試過一次進入dos 後 505版本, 顯示 Failure restore ROM INT -0x73... , 但沒法重現 !!)
2. 506 x , Failure restore ROM INT -0x13 vector. Unsupported DOS, device driver, or TSR.
3. 422 --status , The int13 hook is off. The Drive map table is currently empty.
4. 505 OK
5. 506 x , Failure restore ROM INT -0x13 vector. Unsupported DOS, device driver, or TSR.
TFTP 使用 grldr 422 Boot DOS
1. 422 x , Failure restore ROM INT -0x73 vector. Unsupported DOS, device driver, or TSR.
2. 506 x , Failure restore ROM INT -0x13 vector. Unsupported DOS, device driver, or TSR.
3. 505 OK.
4. 422 --status , The int13 hook is off. The Drive map table is currently empty.
TFTP grldr DOS grub.exe
507 507 map --mem --status OK boot winpe failed
422 map --mem --status "int13 hook is off "
505 failure restore ROM INT 0x73 vector.
[ Last edited by adatsui on 2008-5-8 at 01:34 AM ]作者: 不点 时间: 2008-5-8 10:45 我感觉,PE的启动失败,不能表明 GRUB4DOS 的仿真以及中断探测恢复存在问题。有可能是 PE 自身的适应性问题,也许 PE 本身和 PXE 有冲突。
从我们的讨论中已经得知,PXE 的 ROM 竟然占用了大量的常规内存,占用了几十个 KB 甚至超过 100 KB 之多,并接管了中断 15h 和 73h 。先不论 PE 在中断号码的使用上是否与此类 PXE ROM 有冲突,单单说 PXE ROM 所占用的如此巨大的常规内存,这就很容易与其他软件相冲突了。因为在常规内存的顶端,一般认为只是用来存放“扩展的 BIOS 数据区”也即 EBDA 的,它的空间占用应该很少,一般是 1KB,最多也是 8KB。我们的磁盘仿真代码也放在这里了,目前大约占据 10KB,其实已经有点大了。然而在 30KB 以下应该还算是比较安全的。而 PXE ROM 的加入,突然提升了常规内存的占用,即便不计算 GRUB4DOS 的仿真所占据的空间,仅仅 PXE 的 ROM 就可能占用 64KB 甚至 128KB,对于如此巨大的常规内存占用,如果与其他软件完全不出现任何冲突,那才叫不可信。
我对于网络编程完全是外行,但是,我想借此机会顺便说说我对 ROM 扩展卡的一些看法。首先我认为,ROM 扩展卡不应该占据常规内存的代码空间,最多只能够占据 EBDA 中的一些数据空间(如果 EBDA 太小,ROM 扩展卡的设计者可以动态增加 EBDA 的大小)。就一个网络功能,64KB应该足足够了,用Assembly实现应该不是一件特别困难的事情;ROM扩展卡不应该用C语言来实现,因为C语言会浪费很多空间。这样,如果空间占用太大,那么开发者就要考虑压缩 ROM 的代码,而解压后就只能放在常规内存中了,这是非常糟糕的事情。
[ Last edited by 不点 on 2008-5-8 at 11:34 AM ]作者: adatsui 时间: 2008-5-8 21:01 是的,pe以這樣方式啟動失敗,並不意味任一方存在問題,畢竟這偏離微軟擬定的啟動方式太遠了,我也不見有多小人會意圖以這方式啟動,強求也許只是鑽牛角尖了。grub現在的彷真功能,已是很大的成功了。
pxe keep 在此引至的兼容問題,在實際應用上影響也不大,只需用帶網絡驅動包的 dos boot disk,便完全可取代,網絡功能也強很多。