无忧启动论坛

标题: 关于titanbai的pxe启动PE2.0的问题 [打印本页]

作者: huaKing    时间: 2009-3-10 11:25
标题: 关于titanbai的pxe启动PE2.0的问题
急需解决pxe启动PE2.0的问题,以前也没这方面的基础,只是为解决这问题找到了贵论坛,希望不吝赐教。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=106600&highlight=pxe%2Bpe
看了titanbai的帖子,发现写得比较详细,但照做的时候老是报错,具体如下:
1.安装WAIK.
2.copype.cmd x86 c:\winpe_x86
   imagex /mountrw c:\winpe_x86\winpe.wim 1 c:\winpe_x86\mount
   copy c:\winpe_x86\mount\Windows\Boot\PXE\*.* [tftp目录的boot下]
   copy c:\Program Files\Windows AIK\Tools\PETools\x86\boot\boot.sdi [tftp目录的boot下]
   copy c:\winpe_x86\winpe.wim [tftp目录的boot下]
           注:我用的是mousedospxe中带的tftp
3.制作BCD文件
   我参考的是http://flimflan.com/blog/DeployAWinPE20ImageUsingPXEAndTheWAIK.aspx,提示成功。
4.在根目录放上pxelinux.0,然后建立一个目录叫pxelinux.cfg,里面放一个default文件。tftp的启动文件设成
pxelinux.0
5.从pxe启动的时候总是报错:
pxe entry point found (we hope) at 98fe:0109
my ip address seems to be c0a80002 192.168.0.2
ip = 192.168.0.2:192.16.0.1:0.0.0.0:255.255.255.0
tftp prefix:
trying to load: prxlinux.cfg/c0a80002
trying to load: prxlinux.cfg/c0a8000
trying to load: prxlinux.cfg/c0a800
trying to load: prxlinux.cfg/c0a80
trying to load: prxlinux.cfg/c0a8
trying to load: prxlinux.cfg/c0a
trying to load: prxlinux.cfg/c0
trying to load: prxlinux.cfg/c
trying to load: prxlinux.cfg/default
boot:
could not find kernel image: \boot\pxeboot.0

boot下面的pxeboot.0是pxeboot.com改名而来的,帖子里也是这么说的。我不知道哪里有问题。是网络有问题吗?我用的是hub连的client和server。server是一台运行了
mousedospxe软件的win2000系统。请帮忙看看是什么问题,急,很急。如果还需要我提供一些信息以便大家分析,在线等。
作者: huaKing    时间: 2009-3-10 11:37
附上我的server的文件目录结构。

1.jpg (87.51 KB, 下载次数: 35)

1.jpg

2.jpg (88.52 KB, 下载次数: 29)

2.jpg

作者: huaKing    时间: 2009-3-10 11:43
我还试了climbing的“PXE服务器架设指南及PXE启动WinPE解决方案小结”:
PE 2.0的启动文件变成了下面几个:
1) pxeboot.0: 由pxeboot.com或者pxeboot.n12改名而来,这两个文件可以从WAIK中获得,详细方法请参考titanbai站友的帖子。这个文件对应PE 1.0中的startrom.0文件。它的放置位置一般是TFTP服务器的/boot目录下,个人感觉它的位置可以随意放置。它的主要作用是加载TFTP根目录下的bootmgr.exe文件。
2) bootmgr.exe: 这就是VISTA的bootmgr了,它也是由WAIK中获得的,而且它必须放到TFTP服务器的根目录下(与PE 1.0中的setupldr.exe对应)。它的作用主要是读取启动配置文件也就是/boot/BCD,根据BCD的配置进一步加载/boot/boot.sdi文件。
3) /boot/BCD:这是bootmgr的启动菜单配置文件,跟VISTA的启动菜单配置文件没有什么区别,它主要对应NT的boot.ini文件,由VISTA的命令行程序bcdedit.exe来进行配置和修改。一个创建BCD文件启动PE 2.0的例子如下:
[Copy to clipboard] [ - ]CODE:
Bcdedit -createstore c:\BCD
Bcdedit -store c:\BCD -create {ramdiskoptions} /d "Ramdisk options"
Bcdedit -store c:\BCD -set {ramdiskoptions} ramdisksdidevice  boot
Bcdedit -store c:\BCD -set {ramdiskoptions} ramdisksdipath  \boot\boot.sdi
:: NEW GUID CREATED HERE
for /f "tokens=1-3" %%a in ('Bcdedit -store c:\BCD -create /d "WinPE 2.0" /application osloader') do SET GUID1=%%c
Bcdedit -store c:\BCD -create {bootmgr} /d "VISTA Boot Manager"
Bcdedit -store c:\BCD -set {bootmgr} timeout 15
Bcdedit -store c:\BCD -set {bootmgr} displayorder %GUID1%
Bcdedit -store c:\BCD -set %GUID1% systemroot \Windows
Bcdedit -store c:\BCD -set %GUID1% detecthal Yes
Bcdedit -store c:\BCD -set %GUID1% winpe Yes
Bcdedit -store c:\BCD -set %GUID1% osdevice ramdisk=[boot]\Boot\WinPE.wim,{ramdiskoptions}
Bcdedit -store c:\BCD -set %GUID1% device ramdisk=[boot]\Boot\WinPE.wim,{ramdiskoptions}
4) boot.sdi: 这个文件好像是通用的,将VISTA光盘上的boot.sdi文件复制过来即可,必须放到TFTP服务器/boot目录下。
5) WinPE.WIM: 这就是PE 2.0的主映像文件了,也要放到/boot目录下。
PE 2.0的PXE启动过程大概是这个样子的:
首先,pxeboot.0获得执行权限(可以由pxelinux菜单直接调用,或者将pxeboot.0直接作为PXE服务器的启动文件),然后,该文件下载TFTP服务器根目录下的bootmgr.exe并执行,bootmgr.exe再读取/boot/BCD文件获得PE 2.0的启动配置,并进一步下载/boot/boot.sdi及/boot/winpe.wim,然后执行winpe.wim中的winload.exe开始PE 2.0的启动过程。

出错信息是0xc0000022,BCD文件有问题。我试过自己做的BCD文件,也参考了http://flimflan.com/blog/DeployA ... gPXEAndTheWAIK.aspx。做完BCD文件时提示制作成功了。也在网上下载了很多版本的BCD文件。都是一样的错。
作者: huaKing    时间: 2009-3-10 14:15
各位大大帮帮忙,不顶要沉了
作者: huaKing    时间: 2009-3-10 15:01
刚刚还发现tftp在发送pxeboot.0的时候发送失败,但是之前发送pxelinux.cfg/default的时候是成功的。
下面是tftp的log档:
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:23:54:42:D4:B1 [10/03 14:42:41.890]
DHCP: proposed address 192.168.0.2 [10/03 14:42:41.906]
Rcvd DHCP Rqst Msg for IP 0.0.0.0, Mac 00:23:54:42:D4:B1 [10/03 14:42:44.031]
Previously allocated address acked [10/03 14:42:44.046]
Connection received from 192.168.0.2 on port 2070 [10/03 14:42:44.062]
Read request for file <pxelinux.0>. Mode octet [10/03 14:42:44.062]
OACK: <blksize=1456,> [10/03 14:42:44.062]
Using local port 2062 [10/03 14:42:44.062]
<pxelinux.0>: sent 7 blks, 9344 bytes in 0 s. 0 blk resent [10/03 14:42:44.078]
Connection received from 192.168.0.2 on port 57217 [10/03 14:42:44.203]
Read request for file <pxelinux.cfg/C0A80002>. Mode octet [10/03 14:42:44.203]
File <pxelinux.cfg\C0A80002> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:42:44.203]
Connection received from 192.168.0.2 on port 57090 [10/03 14:42:44.203]
Read request for file <pxelinux.cfg/C0A8000>. Mode octet [10/03 14:42:44.218]
File <pxelinux.cfg\C0A8000> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:42:44.218]
Connection received from 192.168.0.2 on port 56963 [10/03 14:42:44.218]
Read request for file <pxelinux.cfg/C0A800>. Mode octet [10/03 14:42:44.218]
File <pxelinux.cfg\C0A800> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:42:44.218]
Connection received from 192.168.0.2 on port 56836 [10/03 14:42:44.234]
Read request for file <pxelinux.cfg/C0A80>. Mode octet [10/03 14:42:44.234]
File <pxelinux.cfg\C0A80> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:42:44.234]
Connection received from 192.168.0.2 on port 56709 [10/03 14:42:44.234]
Read request for file <pxelinux.cfg/C0A8>. Mode octet [10/03 14:42:44.234]
File <pxelinux.cfg\C0A8> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:42:44.250]
Connection received from 192.168.0.2 on port 56582 [10/03 14:42:44.250]
Read request for file <pxelinux.cfg/C0A>. Mode octet [10/03 14:42:44.250]
File <pxelinux.cfg\C0A> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:42:44.250]
Connection received from 192.168.0.2 on port 56455 [10/03 14:42:44.250]
Read request for file <pxelinux.cfg/C0>. Mode octet [10/03 14:42:44.265]
File <pxelinux.cfg\C0> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:42:44.265]
Connection received from 192.168.0.2 on port 56328 [10/03 14:42:44.265]
Read request for file <pxelinux.cfg/C>. Mode octet [10/03 14:42:44.265]
File <pxelinux.cfg\C> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:42:44.281]
Connection received from 192.168.0.2 on port 56201 [10/03 14:42:44.281]
Read request for file <pxelinux.cfg/default>. Mode octet [10/03 14:42:44.281]
OACK: <tsize=79,> [10/03 14:42:44.281]
Using local port 2071 [10/03 14:42:44.281]
<pxelinux.cfg\default>: sent 1 blk, 79 bytes in 0 s. 0 blk resent [10/03 14:42:44.296]
Connection received from 192.168.0.2 on port 56202 [10/03 14:42:47.218]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:42:47.218]
OACK: <tsize=25068,> [10/03 14:42:47.218]
Using local port 2073 [10/03 14:42:47.218]
Connection received from 192.168.0.2 on port 56075 [10/03 14:42:50.171]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:42:50.187]
OACK: <tsize=25068,> [10/03 14:42:50.187]
Using local port 2076 [10/03 14:42:50.187]
Connection received from 192.168.0.2 on port 55948 [10/03 14:42:53.140]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:42:53.140]
OACK: <tsize=25068,> [10/03 14:42:53.156]
Using local port 2078 [10/03 14:42:53.156]
Connection received from 192.168.0.2 on port 55821 [10/03 14:42:56.109]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:42:56.109]
OACK: <tsize=25068,> [10/03 14:42:56.125]
Using local port 2080 [10/03 14:42:56.125]
Connection received from 192.168.0.2 on port 55694 [10/03 14:42:59.078]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:42:59.078]
OACK: <tsize=25068,> [10/03 14:42:59.078]
Using local port 2082 [10/03 14:42:59.093]
Connection received from 192.168.0.2 on port 55567 [10/03 14:43:02.046]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:43:02.046]
OACK: <tsize=25068,> [10/03 14:43:02.046]
Using local port 2084 [10/03 14:43:02.062]
TIMEOUT waiting for Ack block #0  [10/03 14:43:02.234]
Connection received from 192.168.0.2 on port 55440 [10/03 14:43:05.015]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:43:05.015]
OACK: <tsize=25068,> [10/03 14:43:05.015]
Using local port 2085 [10/03 14:43:05.031]
TIMEOUT waiting for Ack block #0  [10/03 14:43:05.187]
Connection received from 192.168.0.2 on port 55313 [10/03 14:43:07.968]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:43:07.984]
OACK: <tsize=25068,> [10/03 14:43:07.984]
Using local port 2086 [10/03 14:43:08.000]
TIMEOUT waiting for Ack block #0  [10/03 14:43:08.171]
Connection received from 192.168.0.2 on port 55186 [10/03 14:43:10.937]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:43:10.937]
OACK: <tsize=25068,> [10/03 14:43:10.953]
Using local port 2088 [10/03 14:43:10.953]
TIMEOUT waiting for Ack block #0  [10/03 14:43:11.125]
Connection received from 192.168.0.2 on port 55059 [10/03 14:43:13.906]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:43:13.906]
OACK: <tsize=25068,> [10/03 14:43:13.921]
Using local port 2091 [10/03 14:43:13.937]
TIMEOUT waiting for Ack block #0  [10/03 14:43:14.109]
Connection received from 192.168.0.2 on port 54932 [10/03 14:43:16.875]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:43:16.875]
OACK: <tsize=25068,> [10/03 14:43:16.890]
Using local port 2093 [10/03 14:43:16.890]
TIMEOUT waiting for Ack block #0  [10/03 14:43:17.078]
TIMEOUT waiting for Ack block #0  [10/03 14:43:20.046]
TIMEOUT waiting for Ack block #0  [10/03 14:43:23.000]
TIMEOUT waiting for Ack block #0  [10/03 14:43:25.968]
TIMEOUT waiting for Ack block #0  [10/03 14:43:28.953]
TIMEOUT waiting for Ack block #0  [10/03 14:43:31.906]
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:23:54:42:D4:B1 [10/03 14:45:23.625]
DHCP: proposed address 192.168.0.2 [10/03 14:45:24.015]
Rcvd DHCP Rqst Msg for IP 0.0.0.0, Mac 00:23:54:42:D4:B1 [10/03 14:45:25.765]
Previously allocated address acked [10/03 14:45:25.781]
Connection received from 192.168.0.2 on port 2070 [10/03 14:45:25.812]
Read request for file <pxelinux.0>. Mode octet [10/03 14:45:25.812]
OACK: <blksize=1456,> [10/03 14:45:25.828]
Using local port 2141 [10/03 14:45:25.828]
<pxelinux.0>: sent 7 blks, 9344 bytes in 0 s. 0 blk resent [10/03 14:45:25.843]
Connection received from 192.168.0.2 on port 57217 [10/03 14:45:25.937]
Read request for file <pxelinux.cfg/C0A80002>. Mode octet [10/03 14:45:25.937]
File <pxelinux.cfg\C0A80002> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:45:25.937]
Connection received from 192.168.0.2 on port 57090 [10/03 14:45:25.953]
Read request for file <pxelinux.cfg/C0A8000>. Mode octet [10/03 14:45:25.953]
File <pxelinux.cfg\C0A8000> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:45:25.968]
Connection received from 192.168.0.2 on port 56963 [10/03 14:45:25.968]
Read request for file <pxelinux.cfg/C0A800>. Mode octet [10/03 14:45:25.984]
File <pxelinux.cfg\C0A800> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:45:25.984]
Connection received from 192.168.0.2 on port 56836 [10/03 14:45:26.000]
Read request for file <pxelinux.cfg/C0A80>. Mode octet [10/03 14:45:26.000]
File <pxelinux.cfg\C0A80> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:45:26.015]
Connection received from 192.168.0.2 on port 56709 [10/03 14:45:26.015]
Read request for file <pxelinux.cfg/C0A8>. Mode octet [10/03 14:45:26.031]
File <pxelinux.cfg\C0A8> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:45:26.031]
Connection received from 192.168.0.2 on port 56582 [10/03 14:45:26.046]
Read request for file <pxelinux.cfg/C0A>. Mode octet [10/03 14:45:26.046]
File <pxelinux.cfg\C0A> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:45:26.062]
Connection received from 192.168.0.2 on port 56455 [10/03 14:45:26.078]
Read request for file <pxelinux.cfg/C0>. Mode octet [10/03 14:45:26.078]
File <pxelinux.cfg\C0> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:45:26.078]
Connection received from 192.168.0.2 on port 56328 [10/03 14:45:26.093]
Read request for file <pxelinux.cfg/C>. Mode octet [10/03 14:45:26.093]
File <pxelinux.cfg\C> : error 2 in system call CreateFile 系統找不到指定的檔案。 [10/03 14:45:26.109]
Connection received from 192.168.0.2 on port 56201 [10/03 14:45:26.125]
Read request for file <pxelinux.cfg/default>. Mode octet [10/03 14:45:26.125]
OACK: <tsize=79,> [10/03 14:45:26.140]
Using local port 2150 [10/03 14:45:26.140]
<pxelinux.cfg\default>: sent 1 blk, 79 bytes in 0 s. 0 blk resent [10/03 14:45:26.156]
Connection received from 192.168.0.2 on port 56202 [10/03 14:45:29.109]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:45:29.109]
OACK: <tsize=25068,> [10/03 14:45:29.125]
Using local port 2151 [10/03 14:45:29.125]
Connection received from 192.168.0.2 on port 56075 [10/03 14:45:32.078]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:45:32.078]
OACK: <tsize=25068,> [10/03 14:45:32.093]
Using local port 2152 [10/03 14:45:32.109]
Connection received from 192.168.0.2 on port 55948 [10/03 14:45:35.031]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:45:35.046]
OACK: <tsize=25068,> [10/03 14:45:35.062]
Using local port 2153 [10/03 14:45:35.078]
Connection received from 192.168.0.2 on port 55821 [10/03 14:45:38.000]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:45:38.015]
OACK: <tsize=25068,> [10/03 14:45:38.015]
Using local port 2156 [10/03 14:45:38.031]
Connection received from 192.168.0.2 on port 55694 [10/03 14:45:40.968]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:45:40.968]
OACK: <tsize=25068,> [10/03 14:45:40.984]
Using local port 2158 [10/03 14:45:41.000]
Connection received from 192.168.0.2 on port 55567 [10/03 14:45:43.937]
Read request for file <boot\pxeboot.0>. Mode octet [10/03 14:45:43.937]
OACK: <tsize=25068,> [10/03 14:45:43.953]
Using local port 2160 [10/03 14:45:43.968]
TIMEOUT waiting for Ack block #0  [10/03 14:45:44.140]
TIMEOUT waiting for Ack block #0  [10/03 14:45:47.125]
TIMEOUT waiting for Ack block #0  [10/03 14:45:50.093]
TIMEOUT waiting for Ack block #0  [10/03 14:45:53.046]
TIMEOUT waiting for Ack block #0  [10/03 14:45:56.015]
TIMEOUT waiting for Ack block #0  [10/03 14:45:58.984]

3.jpg (89.36 KB, 下载次数: 31)

3.jpg

作者: huaKing    时间: 2009-3-11 16:51
标题: 关于titanbai的pxe启动PE2.0的问题(已解决)
最后发现还是我的pxe server有问题,网卡是sis900,OS是2000.换上realtek8111+winxp的环境就好了。
照titanbai的步骤做是没问题的。
作者: laozhao    时间: 2009-3-12 13:57
tftp32做服务器软件太差,建议换用haneWIN的DHCP Server,稳定、高效。
作者: fatality    时间: 2009-11-4 17:09
原帖由 laozhao 于 2009-3-12 13:57 发表
tftp32做服务器软件太差,建议换用haneWIN的DHCP Server,稳定、高效。


我用tftp32做服务器也不错啊! 300MB多的PE镜像文件启动正常。




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