无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 8003|回复: 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
2#
 楼主| 发表于 2010-7-10 16:56:01 | 只看该作者
6.26的TEST版,直接错误

Snap1.jpg (78.5 KB, 下载次数: 74)

Snap1.jpg
回复

使用道具 举报

3#
发表于 2010-7-10 22:44:41 | 只看该作者
看不懂啊,楼主能否详细解释一下啊。
回复

使用道具 举报

4#
发表于 2010-7-11 00:39:51 | 只看该作者
1.暂时不知,需要更具体的。也许和环境有关。
2.内存冲突,一般情况下不要使用20mb以内的内存,外部命令是在16mb处执行的。
回复

使用道具 举报

5#
 楼主| 发表于 2010-7-11 15:41:21 | 只看该作者
6.26grub4dos测试版本无法使用外部命令FAT。

6.21及之前grub4dos版本测试FAT,连续COPY5个以上文件卡住,我这样测试的:
debug on
map --mem /SRS_F6/SRS_F6.IMG (fd0)
map --hook
FAT copy /GRUB/FAT (fd0)/
FAT copy /GRUB/ECHO (fd0)/
FAT copy /GRUB/CAT (fd0)/
FAT copy /GRUB/GOTO (fd0)/
FAT copy /GRUB/WENV (fd0)/
FAT copy /GRUB/FATMINI (fd0)/
pause
commandline
-----------------
命令行下用configfile调用,到复制FATMINI时卡住。C大有空测试一下。
回复

使用道具 举报

6#
发表于 2010-7-11 16:53:59 | 只看该作者
问一下,MAP命令 把映像虚拟到内存的时候是怎样分配的,会不会跟外部命令占用的内存相冲突?还是G4D会自行处理内存占用问题???
进而联想到其它一些问题,我们在利用G4D虚拟映像的时候,会不会产生内存相冲突的情况,记得好像看过帖子提到ATI显卡在某些情况下会跟G4D的应用相冲突。
回复

使用道具 举报

7#
 楼主| 发表于 2010-7-11 17:47:12 | 只看该作者
map --mem不加参数使用内存高端地址,如果map --mem=xxxx,使用低端开始的地址,如map --mem=0xb000
那就从0xb000*0x200=22M开始处。
C大讲过了,外部命令使用内存16M~20M的地方,有的也用4M~6M处。
回复

使用道具 举报

8#
 楼主| 发表于 2010-7-12 13:02:20 | 只看该作者
不开新帖了,比较0603与0621版grub.exe,pxe启动grldr-io.sys-grub.exe,中断向量的不同。
步骤:
pxe keep
map --mem /debug.img (fd0)  ;这是纯DOS,无任何DOS命令
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
----------
a:>grub0603.exe --keep-pxe
dd if=(md) of=(hd0,5)/20100603.txt bs=512 count=10
再重启运行grub0621.exe

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

1.rar

2.01 KB, 下载次数: 75, 下载积分: 无忧币 -2

grldr.rar

791 Bytes, 下载次数: 72, 下载积分: 无忧币 -2

未改动的中断向量

回复

使用道具 举报

9#
发表于 2010-7-12 22:09:59 | 只看该作者
试试今天上载的版本:http://nufans.net/grub4dos/tinybit/
回复

使用道具 举报

10#
 楼主| 发表于 2010-7-13 08:26:41 | 只看该作者
"PXE stack unloaded",成功卸载!

万分感谢不点大百忙中解决此问题!
回复

使用道具 举报

11#
发表于 2010-7-13 17:39:21 | 只看该作者
原帖由 zhaohj 于 2010-7-11 15:41 发表
6.26grub4dos测试版本无法使用外部命令FAT。

6.21及之前grub4dos版本测试FAT,连续COPY5个以上文件卡住,我这样测试的:
debug on
map --mem /SRS_F6/SRS_F6.IMG (fd0)
map --hook
FAT copy /GRUB/FAT ( ...


小试了一下没有发现问题?到fatmini后面是 pause命令,也许是pause命令暂停的关系吧。

你可以试试多复制几个文件,看看到哪里卡了。
回复

使用道具 举报

12#
发表于 2010-7-13 19:15:29 | 只看该作者
...有的也用4M~6M处。

windows(NT32内核)从4M开始加载驱动程序,如果可能的话要尽量避免在这个位置设置RAM盘。
从80000000~4G这段空间很多为PCI/AGP/PCIE设备ROM、RAM、PCI空间使用(从4G往下一小段为BIOS映射,不是BIOS ROM,而是真正的BIOS),所以也要避开2G以上空间做RAM盘。
和实模式有0000~05FF、A0000~FFFFF不要轻易使用一样,32位模式同样有很多地址雷区,低端被系统使用,高端被硬件使用,建议要设置RAM盘尽量从7FFFFFFF往下算。

[ 本帖最后由 netwinxp 于 2010-7-13 19:24 编辑 ]
回复

使用道具 举报

13#
发表于 2010-7-13 19:19:56 | 只看该作者
是不是grldr的版本问题?
回复

使用道具 举报

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

使用道具 举报

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的,你有没有试试本地的?
回复

使用道具 举报

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

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

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

使用道具 举报

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

使用道具 举报

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

就出现两次
回复

使用道具 举报

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

使用道具 举报

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

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

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

Snap1.jpg
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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


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

使用道具 举报

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, 下载次数: 52)

Snap1.jpg

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

Snap2.jpg

cspe.rar

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

回复

使用道具 举报

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

使用道具 举报

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

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

使用道具 举报

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

使用道具 举报

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



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

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

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-2 03:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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