无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
12
返回列表 发新帖
楼主: zhaohj
打印 上一主题 下一主题

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

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


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

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

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

使用道具 举报

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

使用道具 举报

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 编辑 ]
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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 编辑 ]
回复

使用道具 举报

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

使用道具 举报

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 编辑 ]
回复

使用道具 举报

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
回复

使用道具 举报

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

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

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-1 21:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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