无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 8002|回复: 41
打印 上一主题 下一主题

FAT外部命令读取PXE上文件问题,C大检验一下

[复制链接]
跳转到指定楼层
1#
发表于 2010-7-10 15:19:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
今天测试网友http://bbs.wuyou.net/forum.php?mod=viewthread&tid=166776&extra=page%3D1
发现fat连续COPY速度很慢(文件很小的文本文件),

源   盘:PXE上
目标盘:fat分区

首先说一下,FAT外部命令,源盘如果是非PXE上,一点问题都没有。
下面语句,在TFTP上查看,读取了两次:
map --mem (pd)/menu.lst (rd)
fat copy (rd)+1 (hd0,5)/menu.lst

上面(hd0,5)是fat32分区。
而直接COPY,读取了6次:
fat copy (pd)/menu.lst (hd0,5)/menu.lst

---------------------------------
问题:
直接从PXE上COPY,效率很低,连续COPY几个小文件5次以上,会很卡。

fat copy /o (pd)/menu.lst (hd0,5)/menu.lst
fat copy /o (pd)/menu.lst (hd0,5)/menu.lst
fat copy /o (pd)/menu.lst (hd0,5)/menu.lst
fat copy /o (pd)/menu.lst (hd0,5)/menu.lst
fat copy /o (pd)/menu.lst (hd0,5)/menu.lst

[ 本帖最后由 zhaohj 于 2010-7-25 09:23 编辑 ]

Snap1.jpg (91.72 KB, 下载次数: 72)

Snap1.jpg
42#
发表于 2010-7-29 20:22:33 | 只看该作者
afd这个Services,在SETUPREG.HI_ 里就有,如果没有或路径错误,很多网络相关服务都无法启动。
我 dy 的PE里,因网络部件放在%systemroot%\system下,加载网络时第一件事就是修正这个ImagePath。且其串值写法比较特别:
\SystemRoot\system32\drivers\afd.sys

按你的 reg add, 串值应该是:
X:\WXPE\System32%\DRIVERS\afd.sys

也就是说....,嘿嘿。
回复

使用道具 举报

41#
 楼主| 发表于 2010-7-29 18:17:58 | 只看该作者
改成下面这样竟然成功了,可能主要是AFD.SYS吧

START /Wait %TP%\InfCacheBuild.exe %SystemRoot%
PECMD.EXE UPNP -pnp
NET START EVENTLOG
PECMD.EXE UPNP -pnp -cn WinPE%RANDOM% -wg WORKGROUP
REGSVR32 /S RSAENH.DLL
REGSVR32 /S NETCFGX.DLL
REGSVR32 /S NETSHELL.DLL
REGSVR32 /S NETMAN.DLL
REGSVR32 /S HNETCFG.DLL
PECMD.EXE UPNP -c p -i MS_TCPIP
PECMD.EXE UPNP -c c -i MS_MSCLIENT
PECMD.EXE UPNP -c s -i MS_SERVER
NET START DHCP
::NET START TCPIP
NET START NLA
NET START LMHOSTS
NET START RpcLocator
SET K=HKLM\SYSTEM\CurrentControlSet\Services&&SET W=AutoShareServer&&SET S=AutoShareWks
REG ADD %K%\Lanmanserver\parameters /v %S% /t REG_DWORD /d 0 /f
REG ADD %K%\Lanmanserver\parameters /v %W% /t REG_DWORD /d 0 /f
REG ADD %K%\lanmanworkstation\parameters /v %S% /t REG_DWORD /d 0 /f
REG ADD %K%\lanmanworkstation\parameters /v %W% /t REG_DWORD /d 0 /f
NET START SERVER
DEL /Q %SystemRoot%\INF\*.PNF %SystemRoot%\INF\INFCACHE.1
reg add "HKLM\SYSTEM\CurrentControlSet\Services\afd" /v ImagePath /t REG_EXPAND_SZ /D "%windir%\System32%\DRIVERS\afd.sys" /f >nul
回复

使用道具 举报

40#
 楼主| 发表于 2010-7-29 15:50:05 | 只看该作者
原帖由 canmao 于 2010-7-29 14:12 发表
汗啊,到现在还没有弄过域(一直回避着,太麻烦)。
03为服务器版本,更严谨和严格?正常03不加域前缀可以不?


这有点讲不通,都是访问同一个03服务器。

刚才在虚拟机装了个XP系统,不加入域,net use z: \\服务器ip\TFTP ""/user:guest ,正常连接。

虚拟机装个03再测试一下:
在虚拟机装了个03系统,不加入域,net use \\服务器ip\TFTP ""/user:guest  ,也正常。

晕死了,正常系统下没有问题。

可能是哪个服务没有启用有关:
1:lanmanworkstation   workstation服务
2:Dnscache                DNS client
3:Netman                  Network Connections
4:LmHosts                 TCP/IP netbios helper
...
其他的服务都启用了。

[ 本帖最后由 zhaohj 于 2010-7-29 17:21 编辑 ]
回复

使用道具 举报

39#
发表于 2010-7-29 14:12:06 | 只看该作者
汗啊,到现在还没有弄过域(一直回避着,太麻烦)。
03为服务器版本,更严谨和严格?正常03不加域前缀可以不?
回复

使用道具 举报

38#
 楼主| 发表于 2010-7-29 10:49:06 | 只看该作者
你这台老机是够慢的,呵呵,现在至少不会卡就可以了。

发觉一个问题:
因为我是域环境(服务器已开启GUEST,密码空),在使用net use的时候,XPPE与03PE有点不同。如:
net use r: \\192.168.1.11\tftp "" /user:guest
上面XPPE通过,03PE不行

如我的域名是abc.com
net use r: \\192.168.1.11\tftp "" /user:abc.com\guest
xppe、03pe都通过

[ 本帖最后由 zhaohj 于 2010-7-29 10:59 编辑 ]
回复

使用道具 举报

37#
发表于 2010-7-29 10:05:45 | 只看该作者
在那台IDE的老本上,进pe用 MMC 对 FAT32 分区连续整理碎片3次。再用FAT copy 从TFTP上拷贝VIA5X.CAB,依旧21秒左右。
除了测试,通常不会这样使用FAT copy,所以忽略吧!
回复

使用道具 举报

36#
发表于 2010-7-29 09:38:00 | 只看该作者
是不是grldr的版本问题?
回复

使用道具 举报

35#
发表于 2010-7-29 00:20:29 | 只看该作者
有可能碎片比较多,有时间整理一下磁盘再试试。
回复

使用道具 举报

34#
发表于 2010-7-28 23:17:49 | 只看该作者
@canmao
我自己测试也不会感觉有多慢啊。复制一个ISO文件(30MB)左右,也才20秒左右。
可能和环境有关。另外如果你的FAT分区文件比较多,很乱的情况下会更慢(因为需要找到可用簇)。
回复

使用道具 举报

33#
发表于 2010-7-28 18:13:26 | 只看该作者
对FAT copy作了点精确测试(给出的 数值/18 为秒数):

文件VIA5X.CAB,2788630个字节
     直接拷贝(3次)分别为 20, 19, 19;
     中转拷贝(3次)分别为 20, 20, 20;

文件NV19107.CAB,4356601个字节
     直接拷贝(3次)分别为 48, 48, 48;
     中转拷贝(3次)分别为 28, 29, 28;

看来文件 > 3M 时,效果还是很显著的!

同发现向物理硬盘拷贝时,速度慢得不是一般:拷贝VIA5X.CAB,到IDE硬盘需21秒、到STAT硬盘需14秒;

还发现一个"秘密":如果目的存在同名文件,FAT copy会先比较,然后决定是否拷贝?

测试用的菜单:
debug on
map --mem ()/TEST/HD.IMG (hd0)
map --mem ()/TEST/TEST.IMG (fd0)
map --hook
command --set-path=(fd0)/G4DEXT/

calc *0x60000=*0x46c
write 0x60004=0
FAT copy /o ()/PEDRVS/VIDEO/VIA5X.CAB (hd0,0)/T1.CAB
calc *0x60008=*0x46c
write 0x6000c=0
calc *0x60010=*0x60008 - *0x60000
pause

calc *0x60000=*0x46c
write 0x60004=0
map --mem=0xb000 ()/PEDRVS/VIDEO/VIA5X.CAB (rd) && FAT copy /o (rd)+1 (hd0,0)/T2.CAB
calc *0x60008=*0x46c
write 0x6000c=0
calc *0x60010=*0x60008 - *0x60000
pause

rootnoverify (fd0) && chainloader ()/io.sys || chainloader --force ()/io.sys
boot


内存0x46C~0x46F处,是由 BIOS(int 8) 维护的时钟计数器,每1 / 18.2 秒 +1。

[ 本帖最后由 canmao 于 2010-7-29 00:31 编辑 ]
回复

使用道具 举报

32#
 楼主| 发表于 2010-7-28 10:40:35 | 只看该作者
已经测试,很好!速度也没什么影响。
C大最近好忙啊!
回复

使用道具 举报

31#
发表于 2010-7-27 23:50:54 | 只看该作者
原帖由 zhaohj 于 2010-7-27 23:09 发表
7.26版本,如果直接COPY不会出现问题。
而经过(rd)中转的都有问题。


你试试超过3M的,就会出问题了。

有空试试27号的版本,发前面的贴子时已经上传了。

从PXE上复制小于3M的文件都不需要中转,效果一样的。大于3M的才需要。
回复

使用道具 举报

30#
 楼主| 发表于 2010-7-27 23:09:48 | 只看该作者
7.26版本,如果直接COPY不会出现问题。
而经过(rd)中转的都有问题。
回复

使用道具 举报

29#
发表于 2010-7-27 19:26:03 | 只看该作者
FAT以前的版本是没有问题的,问题在于PXE服务端。默认因为HanewinTFTP默认只允许同时10个客户端在线。。



复制小文件时因为速度比较快,前一个连接刚断开,后一个又接上了,服务器上显示的客户端还是连接着的。
前面卡住的原因就是因为连接数超过限制了。

只要把这个值改大一些就没关系了。

新版的FAT为了避免重复打开关闭文件,没想到过度优化。导致出错。基于目前GRUB4DOS的文件读写机制,看来没有什么好优化的了。只能尽量减小开闭文件的次数了。
回复

使用道具 举报

28#
 楼主| 发表于 2010-7-27 16:56:11 | 只看该作者
是FAT命令问题,很奇怪,在其他PE中使用竟然没发现问题。
FAT、WENV命令太重要了。
回复

使用道具 举报

27#
发表于 2010-7-27 16:36:17 | 只看该作者
对不起,发现新版FAT的一个问题。

请等待修复,暂时请使用旧版FAT。
回复

使用道具 举报

26#
发表于 2010-7-27 15:44:56 | 只看该作者
原帖由 zhaohj 于 2010-7-27 13:47 发表


这些当然改了,怀疑内存有冲突。你测试一下就知道了。
使用7.25的grldr及grub.exe



可能你没有改到。。。。

很明显的EXT.ZIP文件不存在或者错误。

我用我的U盘使用新版GRLDR,FAT,WENV看起来没有问题?

[ 本帖最后由 chenall 于 2010-7-27 15:47 编辑 ]
回复

使用道具 举报

25#
 楼主| 发表于 2010-7-27 13:47:35 | 只看该作者
原帖由 chenall 于 2010-7-27 12:41 发表


需要修改菜单
应该只有FAT命令有变动。也就是把菜单里面的fat file全部替换成fat 也许就可以了。还有wenv新版的没有init等命令。


这些当然改了,怀疑内存有冲突。你测试一下就知道了。
使用7.25的grldr及grub.exe

[ 本帖最后由 zhaohj 于 2010-7-27 14:42 编辑 ]

Snap1.jpg (113.05 KB, 下载次数: 51)

Snap1.jpg

Snap2.jpg (119.92 KB, 下载次数: 55)

Snap2.jpg

cspe.rar

15.11 KB, 下载次数: 27, 下载积分: 无忧币 -2

回复

使用道具 举报

24#
发表于 2010-7-27 12:41:45 | 只看该作者
原帖由 zhaohj 于 2010-7-27 09:28 发表
新版的FAT、WENV命令用在CSPE上,到DOS阶段就中断了,没调试出来。


需要修改菜单
应该只有FAT命令有变动。也就是把菜单里面的fat file全部替换成fat 也许就可以了。还有wenv新版的没有init等命令。
回复

使用道具 举报

23#
 楼主| 发表于 2010-7-27 09:28:28 | 只看该作者
新版的FAT、WENV命令用在CSPE上,到DOS阶段就中断了,没调试出来。
回复

使用道具 举报

22#
发表于 2010-7-26 17:27:40 | 只看该作者
fatmini已更新,
关于后面的问题,以后有空再看看。
回复

使用道具 举报

21#
 楼主| 发表于 2010-7-26 10:59:09 | 只看该作者
另,PXE启动时加载grldr及menu.lst也有这样的问题,多读了两次。导致有时卡一下。

[ 本帖最后由 zhaohj 于 2010-7-26 11:00 编辑 ]

Snap1.jpg (35.88 KB, 下载次数: 51)

Snap1.jpg
回复

使用道具 举报

20#
 楼主| 发表于 2010-7-26 10:38:25 | 只看该作者
总算把C大盼来了,马上测试...
正常了,速度飞一样
把fatmini也编译一下

[ 本帖最后由 zhaohj 于 2010-7-26 10:53 编辑 ]

Snap1.jpg (61.98 KB, 下载次数: 56)

Snap1.jpg
回复

使用道具 举报

19#
发表于 2010-7-26 10:16:08 | 只看该作者
已经更新,麻烦你再试一下。
回复

使用道具 举报

18#
 楼主| 发表于 2010-7-24 17:38:01 | 只看该作者
而正常的情况下应该是2次。
如:
map --mem /menu.lst (rd)
fat copy (rd)+1 (hd0,5)/menu.lst

就出现两次
回复

使用道具 举报

17#
 楼主| 发表于 2010-7-24 15:30:00 | 只看该作者
很晕,硬盘上一点问题都没有,PXE上大文件拷贝也很快,为何小文件连续几个COPY会这么慢?
比如(hd0,5)是FAT分区,命令行下这样试验一下就很有感觉:
fat copy /o /menu.lst (hd0,5)/
连续5次以上肯定卡住。

我从TFTP的记录上分析,问题可能出在校验上,COPY一个文件要从TFTP读6次

[ 本帖最后由 zhaohj 于 2010-7-24 17:26 编辑 ]

Snap1.jpg (91.72 KB, 下载次数: 60)

Snap1.jpg
回复

使用道具 举报

16#
 楼主| 发表于 2010-7-22 11:48:07 | 只看该作者
呵呵,问题出在PXE,硬盘上一点问题都没有。

但PXE上连续COPY几个小文件很容易堵塞。

[ 本帖最后由 zhaohj 于 2010-7-22 12:01 编辑 ]
回复

使用道具 举报

15#
发表于 2010-7-22 09:01:42 | 只看该作者
原帖由 zhaohj 于 2010-7-21 16:16 发表
今天再次测试FAT命令,每次COPY5个文件后都会卡住一下(大概10秒以上),见图:
1.txt文件大小12K,2.txt~11.txt文件与1.txt内容是一样的。

debug on
map --mem ()/TEST/GETDRV.IMG (fd0)  ;1.44标准软盘 ...



汗一下,原来是PXE的,你有没有试试本地的?
回复

使用道具 举报

14#
 楼主| 发表于 2010-7-21 16:16:05 | 只看该作者
今天再次测试FAT命令,每次COPY5个文件后都会卡住一下(大概10秒以上),见图:
1.txt文件大小12K,2.txt~11.txt文件与1.txt内容是一样的。

debug on
map --mem ()/TEST/GETDRV.IMG (fd0)  ;1.44标准软盘镜像,G4DEXT存放外部命令
map --hook
command --set-path=(fd0)/G4DEXT/
FAT copy ()/TEST/1.TXT (fd0)/
FAT copy ()/TEST/2.TXT (fd0)/
FAT copy ()/TEST/3.TXT (fd0)/
FAT copy ()/TEST/4.TXT (fd0)/
FAT copy ()/TEST/5.TXT (fd0)/
FAT copy ()/TEST/6.TXT (fd0)/
FAT copy ()/TEST/7.TXT (fd0)/
FAT copy ()/TEST/8.TXT (fd0)/
FAT copy ()/TEST/9.TXT (fd0)/
FAT copy ()/TEST/10.TXT (fd0)/
FAT copy ()/TEST/11.TXT (fd0)/

[ 本帖最后由 zhaohj 于 2010-7-21 16:20 编辑 ]

Snap1.jpg (181.8 KB, 下载次数: 53)

Snap1.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-2 01:35

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表