|
2#

楼主 |
发表于 2009-5-28 11:49:23
|
只看该作者
看来是没有人对这个问题感兴趣, 在google中反复搜索, 终于搜索到一些相关信息,grub4dos称为bootfile, pxelinux中成为tftp prefix, 应该都是通过调用pxe api - pxenv_cache_info获取的, 估计是很难修改了
Now you should be able to call the PXE API. The next step is to get some information about the network. Specifically, you will need the TFTP server's IP address, but you may also want the DHCP server's IP address, the client machine's IP address and the client's MAC address. To get this information (and more) you need to call the PXE API's "Get Cached Info" function. Setup the "t_PXENV_CACHED_INFO" structure as described in the specification and call the PXE API with the address of this structure and 0x0071 as the opcode parameter. For the packet type field in this structure, use "type = 2" and leave everything else set to zero (if you just want the address where the information already is, instead of having the information copied to your own buffer).
不管怎样,microsoft的oschooser加载器确实是修改了pxe启动的这些参数,然后重新加载菜单中选择的特定路径的startrom.com或者其他pxebootloader, 这个可以用oschooser加载pxelinux.0可以看出来(加载grldr失败,可能是兼容性问题)
2009-05-28 09:21:33 0s 192.168.226.200 Get/octet D:\RemoteInstall\OSChooser\i386\startrom.com
2009-05-28 09:21:35 0s 192.168.226.200 Get/octet D:\RemoteInstall\OSChooser\i386\NTLDR (专用的ntldr 172k)
2009-05-28 09:21:35 0s 192.168.226.200 Get/octet D:\RemoteInstall\OSChooser\i386\winnt.sif(内容好像是txtsetup.sif,不知道有什么用,删除也可以启动)
中间使用upd传输了一些验证和文本菜单的信息(不使用tftp传输,pxe api只能支持udp),看下面的pxelinux.cfg, 路径和pxelinux.0相同,而不是tftproot
2009-05-28 09:21:41 0s 192.168.226.200 Get/octet D:\RemoteInstall\Setup\Chinese\IMAGES\xp-chs\i386\templates\pxelinux.0
2009-05-28 09:21:41 E 192.168.226.200 Get 1 File not found D:\RemoteInstall\Setup\Chinese\IMAGES\xp-chs\i386\templates\pxelinux.cfg\01-00-0c-29-0f-55-68
2009-05-28 09:21:41 E 192.168.226.200 Get 1 File not found D:\RemoteInstall\Setup\Chinese\IMAGES\xp-chs\i386\templates\pxelinux.cfg\C0A8E2C8
2009-05-28 09:21:41 E 192.168.226.200 Get 1 File not found D:\RemoteInstall\Setup\Chinese\IMAGES\xp-chs\i386\templates\pxelinux.cfg\C0A8E2C
2009-05-28 09:21:41 E 192.168.226.200 Get 1 File not found D:\RemoteInstall\Setup\Chinese\IMAGES\xp-chs\i386\templates\pxelinux.cfg\C0A8E2
2009-05-28 09:21:41 E 192.168.226.200 Get 1 File not found D:\RemoteInstall\Setup\Chinese\IMAGES\xp-chs\i386\templates\pxelinux.cfg\C0A8E
2009-05-28 09:21:41 E 192.168.226.200 Get 1 File not found D:\RemoteInstall\Setup\Chinese\IMAGES\xp-chs\i386\templates\pxelinux.cfg\C0A8
2009-05-28 09:21:41 E 192.168.226.200 Get 1 File not found D:\RemoteInstall\Setup\Chinese\IMAGES\xp-chs\i386\templates\pxelinux.cfg\C0A
2009-05-28 09:21:41 E 192.168.226.200 Get 1 File not found D:\RemoteInstall\Setup\Chinese\IMAGES\xp-chs\i386\templates\pxelinux.cfg\C0
2009-05-28 09:21:41 E 192.168.226.200 Get 1 File not found D:\RemoteInstall\Setup\Chinese\IMAGES\xp-chs\i386\templates\pxelinux.cfg\C
2009-05-28 09:21:41 0s 192.168.226.200 Get/octet D:\RemoteInstall\Setup\Chinese\IMAGES\xp-chs\i386\templates\pxelinux.cfg\default
2009-05-28 09:21:41 Error 192.168.226.200 Get 1 File not found D:\RemoteInstall\Setup\Chinese\IMAGES\xp-chs\i386\templates\bootmsg.txt
客户端屏幕上显示 tftp prefix: Setup\Chinese\IMAGES\xp-chs\i386\templates\ , 而不是通常的tftp prefix: (空白即tftproot根目录) |
|