buypro 发表于 2012-10-27 10:41:07

求教wim启动的正确方法和ramdisktftpblocksize 如何配置???

我的目的是想测试bootmgr pxe启动速度
bcdedit /store bcd /set {ramdiskoptions} ramdisktftpblocksize 8192
据说配置好bcd后下载速度飞快。


结果我卡在第一步了。
我从没做过wim格式的ramos,网上找了个Win7PE_v13.ISO
只是为了能尽快测试结果。

我先测试的是grub4dos==>bootmgr==>win7pe.wim
结果出错了。我是菜鸟。一时找不到错在哪里
特来此请教一下。


问题1:如果是wim的ramos或者这样的winpe如何配置才能正确启动?
就是启动wim格式系统。



网上找了个win7pe iso 启动正常
title find and boot Win7PE_v13.ISO   527Mok version
pxe blksize 1456
map /Win7PE_v13.ISO (0xff) || map --mem(pd) /Win7PE_v13.ISO (0xff)
map --hook
root(0xff)
chainloader (0xff)

这说明这个 iso是完全没问题的。










Win7PE_v13.ISO 解压后将里面的所有文件BOOTMGR win7pe.wim 和 BOOT目录都拷贝到了tftp服务器 启动目录内了



menu.lst里添加了

title win7
find --set-root /BOOTMGR
chainloader /BOOTMGR



结果是 error 13:invalid or unsupported executable format
请问问题出在哪里?


附件有Win7PE_v13.ISO内结构的图片。

buypro 发表于 2012-10-27 10:42:51

Win7PE_v13.ISO/BOOT内的结构如下图

buypro 发表于 2012-10-27 10:50:30

问题2. 如何配置 bcdedit /store bcd /set {ramdiskoptions} ramdisktftpblocksize 8192


是不是在win7pe下 执行 bcdedit /store bcd /set {ramdiskoptions} ramdisktftpblocksize 8192???
然后将bcd文件copy到tftp 启动目录下???就是和bootmgr同一个目录内???

我在win7pe内执行过 bcdedit /store bcd /set {ramdiskoptions} ramdisktftpblocksize 8192???

但出错误。

执行bcdedit /store C:\bcd /set {ramdiskoptions} ramdisktftpblocksize 8192
也出错误。

要建立一个正确可以启动系统的的bcd 应该还有其他很多参数吧?? 不光是配置
一个ramdisktftpblocksize 参数???


我的最终目标是 bootmgr pxe启动 win2003的 wim格式的ramos


希望有谁能指导一下。

谢谢

zhaohj 发表于 2012-10-27 10:54:33

我给你一套文件吧,把下面所有文件解压到/w8pe
可以修改mybcd.cmd(mybc8.cmd)重新生成bcd(bc8)文件,wim文件名称自己改。

菜单调用方法:
pxe keep
command /w8pe/bootw8pe.bat

--------------------------
注:因为千兆网卡百兆交换机的情况,也只能按百兆网速处理,这种情况5秒内按y键处理成百兆速度。

[ 本帖最后由 zhaohj 于 2012-10-27 11:09 编辑 ]

buypro 发表于 2012-10-27 11:10:05

谢谢zhaohj

我马上测试一下

zhaohj 发表于 2012-10-27 11:14:00

另外,把上面bootmgr.exe对应的mui文件,拷贝到/boot/zh-cn下

buypro 发表于 2012-10-27 11:58:28

按zhaohj 的说明
测试了一下还是不成功。
应该说是我还不懂怎么放置这些文件

首先要说明的是我测试是在linux上的。所以有大小写的区分。
请问你给我的那些文件都是小写吗????
比如bootmgr.exe对应的mui和wim文件?? 我发现你的W8pe.WIM 和 W8pe1.WIM,W8pe2.WIM
都是大写的格式,我也按你mybcd.cmd 里对应的将我的winpe7.wim改成了W8pe.WIM 和W8pe1.WIM,W8pe2.WIM
结果还是不行。(我没有重新生成新的bcd用你现成的bcd测试的,只是改了wim的文件名并转移到w8pe目录下)


出错信息为 error 13:invalid or unsupported executable format



请问除了将你给的那些pxe.part2.rar pxe.par1.rar文件放在/w8pe
还需要将我找到的Win7PE_v13.ISO里的winpe7.wim改成了w8pe.wim改名放在/w8pe/w8pe.wim??

同时还需要将Win7PE_v13.ISO中BOOTMGR.exe改名为bootmgr.exe放在/bootmgr.exe
将Win7PE_v13.ISO中BOOT目录改名为boot放在/boot 并将里面所有文件都改名为小写文件???同时替换
bootmgr.exe对应的mui文件,拷贝到/boot/zh-cn下


???


是这样做吗???

buypro 发表于 2012-10-27 12:02:11

能否给我一整套的东西??? 除了WIM那个大文件外。这样我就知道那些是需要的。并也知道目录结构该是如何的
现在有点一头雾水

zhaohj 发表于 2012-10-27 12:08:30

首先pxe的引导文件是grldr,你linux上设法转到grldr引导。
除了6楼外,其他文件都放在tftp服务器的根w8pe下,包括wim文件

[ 本帖最后由 zhaohj 于 2012-10-27 12:14 编辑 ]

buypro 发表于 2012-10-27 12:20:58

首先pxe的引导文件是grldr,你linux上设法转到grldr引导。???


我通过grub4dos可以正常pxe启动iso winpe 和img的ramos 这是不是说明linux可以通过grldr引导???

menu.lst添加
pxe keep
command /w8pe/bootw8pe.bat


运行结果是:

coomand/w8pe/bootw8pe.bat

Error 13:invalid or unsupported executable format

这意思是bootw8pe.bat无法执行???? 还是bootmgr根本还没运行到就出错了???

[ 本帖最后由 buypro 于 2012-10-27 12:54 编辑 ]

buypro 发表于 2012-10-27 12:24:15

刚没看到你的图。
看来我那个启动管理器菜单都没进入。


你那图里没显示boot里的结构

除了你说的bootmgr.exe对应的mui文件,拷贝到/boot/zh-cn下

boot里面是否还有一套别的文件??? 我是将我那iso文件下boot目录直接
copy到了/boot,只是简单替换了bootmgr.exe.mui

[ 本帖最后由 buypro 于 2012-10-27 12:41 编辑 ]

zhaohj 发表于 2012-10-27 13:00:28

w8pe/pxeboot.bcd也就是原来的bootmgr.exe修改而来。
bootw8pe.bat没法运行,说明你的grldr版本太老,请换成最新的
--------------
/boot/fonts下还有一些字库,不影响启动的(没字库大不了不会显示中文)。
哦,/boot/grub下需要chkpci外部命令(bootw8pe.bat运行需要)。
说明一下引导过程吧:
grldr->bootw8pe.bat(需要chkpci)->pxeboot.bcd(pxeboot.bc8)->w8bcd(w8bc8)->bcd(load boot.sdi and wim)->winload.exe

[ 本帖最后由 zhaohj 于 2012-10-27 13:07 编辑 ]

buypro 发表于 2012-10-27 14:07:32

我更新了grldr到最新版本
增加了 chkpci是不是这里下载的??code.google.com/p/grubutils/downloads/detail?name=grubutils-2011-06-27.zip&can=2&q=
解包后是个5K的文件。


然后再测试
command/w8pe/bootw8pe.bat
这次是 Error 15:File not found


这是bootw8pe.bat没找到还是别的哪个文件没找到???

zhaohj 发表于 2012-10-27 14:14:08

哦,把下面文件解压到/boot/grub目录下

buypro 发表于 2012-10-27 14:20:07

我将那个批处理换成

!BAT
pxe blksize 1456
map --mem (pd)/3g1.img.gz (hd0)
map --hook
root (hd0,0)
chainloader /ntldr


可执行。说明 批处理是被执行的。

buypro 发表于 2012-10-27 14:41:13

谢谢帮我找问题。我这次按你说的添加了这两个文件
chkpci 和 pci.txt
结果还是Error 15

由此怀疑chkpci 和 pci.txt具体应该在什么位置



既然是路径有问题。 我采用了绝对路径
这次执行下去了。
屏幕显示出Press y key Run 100M loaded within 5 seconds:

不管我选择Y还是 不按任何键
接着就显示出

tftp download failed

你图片上的那个3个选项的菜单都没显示出来。
这是不是还是路径问题??? 到底是下载什么的时候没找到文件???



!BAT
debug off
chkpci -net /w8pe/pci.txt > (md)0x200+1
cat --locatei=vmware(md)0x200+1 && chainloader --force /w8pe/pxeboot.bc8 && boot
clear
echo -e \n\nPress y key Run 100M loaded within 5 seconds:
set keyt=
pause --wait=5 --test-key && set /A keyt=*0x4CB00
if %keyt%==0x1579 && chainloader --force /w8pe/pxeboot.bcd && boot
cat --locatei=gigabit (md)0x200+1 && chainloader --force /w8pe/pxeboot.bc8 ! chainloader --force /w8pe/pxeboot.bcd
boot

buypro 发表于 2012-10-27 14:46:28

这个!BAT是否能简单写成


!BAT
chainloader --force /w8pe/pxeboot.bc8 && boot

????

这样 我返回的的是 tftp failed
这说明 chainloader --force /w8pe/pxeboot.bc8 && boot
这句代码无法正确执行。会是什么问题???

给我的感觉是bootmgr是接管了。然后启动pxe下载,结果没下载到
东西


会不会还是路径问题?还是需要重新生成个新的bsd???
配置bcd中哪个路径的大小写混淆了? 在windows下是无关紧要
在linux下就找不到文件了

[ 本帖最后由 buypro 于 2012-10-27 15:00 编辑 ]

zhaohj 发表于 2012-10-27 15:44:17

这说明 chainloader --force /w8pe/pxeboot.bc8 && boot
这句代码无法正确执行。
-----------------------------
说明你不是千兆环境,即交换机与网卡都要千兆。
试试百兆环境的:
pxe keep
chainloader --force /w8pe/pxeboot.bcd

首先让它能够运行,再排除你的问题

[ 本帖最后由 zhaohj 于 2012-10-27 15:46 编辑 ]

buypro 发表于 2012-10-27 15:59:32

menu.lst
添加了
pxe keep
chainloader --force /w8pe/pxeboot.bcd

测试后还是tftp download failed.

buypro 发表于 2012-10-27 16:02:26

是不是在请求下载w8bcd时 出错了???

zhaohj 发表于 2012-10-27 16:05:42

原帖由 buypro 于 2012-10-27 16:02 发表 http://bbs.wuyou.net/images/common/back.gif
是不是在请求下载w8bcd时 出错了???

你可以在tftp上查看一下记录

pxeboot.bcd对应的是w8bcd、bcd

buypro 发表于 2012-10-27 21:55:24

zhaohj 谢谢你了

至于查询tftp的erro log.这要我命了。
这是我一年前装的。现在早忘记了。刚才翻看了manual.
里面有好几个参数是配置log的。 都用的比较专业的名词。
无法理解。

看来我缺的知识不少。我还是先慢慢摸索做个usb启动的wim
ramos等熟悉了,再换成pxe的。

不过miscrosoft的启动工具以前就很困扰我。最后是绕过ms的ntldr
换了G4D才成功的。

buypro 发表于 2012-10-28 12:36:44

zhaohj 我在想

Error 13:invalid or unsupported executable format
这是grub4dos的错误提示(我测试后 blocksize配置错了也会出现这样的错误提示)


那么tftp download failed.
这是bootmgr的错误提示?????

buypro 发表于 2012-10-28 12:47:47

既然我3个选项的菜单都没看到
应该是下载bcd文件时候出错了

windows和linux的路径斜杠是不同的

linix-root=/tmp/mnt/sda_part1/atftpboot

C:\...\winpath


会不会是这个原因导致无法下载路径错误。有没有办法纠正?

buypro 发表于 2012-10-28 12:49:29

可能这需要修改bootmgr了吧????

[ 本帖最后由 buypro 于 2012-10-28 12:50 编辑 ]

zhaohj 发表于 2012-10-28 12:52:17

把你的配置文件上传我看看。
简要说明一下你的pxe环境,如dhcp及tftp

[ 本帖最后由 zhaohj 于 2012-10-28 12:55 编辑 ]

buypro 发表于 2012-10-28 13:10:24

w8pe/pxeboot.bcd也就是原来的bootmgr.exe修改而来。


你说的修改是简单改名还是修改了bcd路径等???因为普通bootmgr都是在boot目录下找bcd的。
不知道我的理解是否有错

能够透露一下怎么修改????我想将bootmgr里指向bcd的路径的斜杠改掉再测试

[ 本帖最后由 buypro 于 2012-10-28 13:32 编辑 ]

buypro 发表于 2012-10-28 13:19:19

OK

我的服务器端是linux. 实际就是dd-wrt的路由
采用dnsmasq作为dhcp及tftp
dnsmasq.cnf配置表如下
#######################
interface=br0
resolv-file=/tmp/resolv.dnsmasq
all-servers
domain=DD-WRT
dhcp-leasefile=/tmp/dnsmasq.leases
dhcp-lease-max=50
dhcp-option=lan,3,192.168.11.33
dhcp-range=lan,192.168.11.3,192.168.11.222,255.255.255.0,1440m
dhcp-boot=grldr,dd-wrt,192.168.11.33
enable-tftp
tftp-root=/tmp/mnt/sda_part1/atftpboot
##############################################


我也查过了只有dhcp的log,不提供tftp 的log参数。也就是tftp活动没有log.


我这样的配置grub4dos pxeimg, iso, gz等格式的ramos都没问题,只是加载镜像的速度慢。千兆网卡的速度和百兆网卡的tftp下载速度一样
也不知道grub4dos的作者是否有可能提高blocksize的参数的值以加快下载pxe下载镜像的速度

由于pxe wim需要bootmgr参与,可能会出现路径问题。
以前我用ntldr引导img ramos同样无法成功
最后改用g4d firedisk 绕过ntldr才成功。

所以我猜测这次还是碰到了路径问题。因为ntldr 和 bootmgr都是ms的产品。如果要想在linux上
执行 路径总会出错的。

如果能修改bootmgr.只需要将bootmgr里指向bcd的路径的斜杠改成linux的格式就行了。

[ 本帖最后由 buypro 于 2012-10-28 13:51 编辑 ]

buypro 发表于 2012-10-28 13:30:57

客户端采用不同网卡自动配置不同的menu.lst

title 100M wim
pxe keep
chainloader --force (pd)/w8pe/pxeboot.bcd



titlebootw8pe.bat
pxe keep
command /w8pe/bootw8pe.bat

zhaohj 发表于 2012-10-28 14:19:52

你可以用winhex打开pxeboot.bcd、w8bcd文件
linux可能有大小写之分,你修改一下看看。
页: [1] 2
查看完整版本: 求教wim启动的正确方法和ramdisktftpblocksize 如何配置???