无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: chenall
打印 上一主题 下一主题

grub4dos 外部命令 wenv [2010-10-17 ]

  [复制链接]
211#
发表于 2010-6-24 18:17:50 | 只看该作者
Z大是在SRS_F6测试的么?你用0PE测试一下,看是否有这个问题。
回复

使用道具 举报

212#
发表于 2010-6-24 18:31:50 | 只看该作者
原帖由 chenall 于 2010-6-24 18:17 发表


你可以试试以下命令
write 0x40000 0x12345678
read 0x40000

看看是不是这个地址被你的主板或其它程序给保护了.

另外
wenv get 或wenv set都可以获取当前设置的变量列表.

cat --hex (md)0x200+ ...

@chenall大:问题原因查到了,是与gfxmenu有冲突。
取消gfxmenu,一切正常。
回复

使用道具 举报

213#
 楼主| 发表于 2010-6-24 18:53:00 | 只看该作者
原帖由 zxw 于 2010-6-24 18:31 发表

@chenall大:问题原因查到了,是与gfxmenu有冲突。
取消gfxmenu,一切正常。


看来gfxmenu有使用了这一部份的内存?有空我再看看gfxmenu的相关代码看看它到底占用了哪些内存.

呵呵,我还从来没有用过gfxmenu.
回复

使用道具 举报

214#
发表于 2010-6-24 22:24:41 | 只看该作者
wenv unload这个命令什么时候取消的?现在代以什么命令?
翻了好久的帖子,也没看到。还望说明。
回复

使用道具 举报

215#
发表于 2010-6-24 22:44:20 | 只看该作者
原帖由 zxw 于 2010-6-24 22:24 发表
wenv unload这个命令什么时候取消的?现在代以什么命令?
翻了好久的帖子,也没看到。还望说明。


现在没有使用虚拟盘(fd25),直接使用内存0x40000上占用不超过0×8200字节。
因此,init、unload就不需要了。
回复

使用道具 举报

216#
发表于 2010-6-25 00:42:54 | 只看该作者
@zhaohj:
谢谢,又领悟到一点东西。
——————————————————————————
@chenall:
wenv run echo 一个语句后应补\0吧?
在批处理echo的语句重叠在同一行了。
回复

使用道具 举报

217#
 楼主| 发表于 2010-6-25 09:06:01 | 只看该作者
原帖由 zxw 于 2010-6-25 00:42 发表
@zhaohj:
谢谢,又领悟到一点东西。
——————————————————————————
@chenall:
wenv run echo 一个语句后应补\0吧?
在批处理echo的语句重叠在同一行了。


看了gfxmenu好像没有使用这一部份的内存.

麻烦试试这个.第一次使用时会对这一部份内存进行初始化.

你可以使用gfxmenu试试看这个能不能正常使用,还有gfxmenu是否正常.我没有用过gfxmenu没测试.

wenv.zip

3.18 KB, 下载次数: 22, 下载积分: 无忧币 -2

回复

使用道具 举报

218#
发表于 2010-6-25 10:17:20 | 只看该作者

回复 #217 chenall 的帖子

OK,使用楼上这个版本正常了。谢谢chenall大。

测试wenvnew 2010.6.23时,用cat --hex (md)0x200+1,显示的就是grxmenu内置的菜单。

[ 本帖最后由 zxw 于 2010-6-25 10:20 编辑 ]
回复

使用道具 举报

219#
 楼主| 发表于 2010-6-25 10:33:40 | 只看该作者
原帖由 zxw 于 2010-6-25 10:17 发表
OK,使用楼上这个版本正常了。谢谢chenall大。

测试wenvnew 2010.6.23时,用cat --hex (md)0x200+1,显示的就是grxmenu内置的菜单。



gfxmenu使用正常吗?我看到gfxmenu好像没有使用这部份的内存,启动时直接把0x40000内存清0了.
回复

使用道具 举报

220#
发表于 2010-6-25 10:55:52 | 只看该作者
流程:gfxmenu→0PE(调用wenv)
此时再configfile (md)4+8返回gfxmenu图形界面,背景菜单显示正常,但选择任何一个菜单回车直接重启。其它一切貌似正常。
回复

使用道具 举报

221#
发表于 2010-6-25 11:03:48 | 只看该作者
取消gfxmenu,configfile (md)4+8 后运行到如图处出错:


————————————————————————————————————————————
补充说明:此为vmare虚拟机测试。

[ 本帖最后由 zxw 于 2010-6-26 00:10 编辑 ]
回复

使用道具 举报

222#
发表于 2010-6-25 11:46:53 | 只看该作者
gfxmenu不用也罢,BUG多多。
回复

使用道具 举报

223#
发表于 2010-6-25 12:16:46 | 只看该作者
原帖由 zxw 于 2010-6-25 10:17 发表
OK,使用楼上这个版本正常了。谢谢chenall大。

测试wenvnew 2010.6.23时,用cat --hex (md)0x200+1,显示的就是grxmenu内置的菜单。


内置菜单在0x800处吧, cat --hex (md)4+8

现在正常了吗?

[ 本帖最后由 zhaohj 于 2010-6-25 12:21 编辑 ]
回复

使用道具 举报

224#
发表于 2010-6-25 15:00:31 | 只看该作者
原帖由 zhaohj 于 2010-6-25 12:16 发表


内置菜单在0x800处吧, cat --hex (md)4+8

现在正常了吗?

无论使用gfxmenu与否:
1.调用wenv(新旧版本)前后,cat --hex (md)4+8显示的内容均为内置菜单。


2.而调用wenv(新旧版本)之前,cat --hex (md)0x200+1 前半部分显示的内置菜单末尾部分,后半部分显示的是grldr的部分字节。


3.调用wenv(新旧版本)之后,configfile (md)4+8 均能返回菜单;但新版本使用gfxmenu的直接重启,不使用gfxmenu则正常。

[ 本帖最后由 zxw 于 2010-6-26 00:53 编辑 ]
回复

使用道具 举报

225#
发表于 2010-6-25 16:00:32 | 只看该作者
(md)0x200,这个是扇区表示法,表示内存地址0x200*0x200=0x40000处

难道0PE使用了这部分地址?
回复

使用道具 举报

226#
 楼主| 发表于 2010-6-25 16:37:18 | 只看该作者
原帖由 zxw 于 2010-6-25 15:00 发表

无论使用gfxmenu与否:
1.调用wenv(新旧版本)前后,cat --hex (md)4+8显示的内容均为内置菜单。
92628

2.而调用wenv(新旧版本)之前,cat --hex (md)0x200+1 前半部分显示的内置菜单末尾部分,后半部分显 ...


gfxmenu的代码看起来有点复杂.你能不能把你的菜单文件(包括GFXMENU文件)只包括必要的文件上传给我测试一下?

不过我要过两天才有时间测试了,你们可以自己测试一下看看具体问题出在哪里?比如执行到哪一个命令重启了之类的,可以在每个命令之前加pause.

也许应该为wenv另外找一块内存来存放.

[ 本帖最后由 chenall 于 2010-6-25 16:39 编辑 ]
回复

使用道具 举报

227#
发表于 2010-6-25 16:53:47 | 只看该作者
@chenall大:
已发往你的QQ邮箱。
回复

使用道具 举报

228#
发表于 2010-6-25 17:32:55 | 只看该作者
我们现在习惯把自定义变量在0x60000以上,如果gfxmenu占用0x40000处以上应该不会超过6k,保险一点我们从0x45000开始使用。
另,变量名没必要这么多吧,减少一半足够了(32个),0x20*0x8+0x20*0x200=0x4100字节
现在直接使用内存地址是不加保护的,或者干脆往上移,使用0x70000,这样够保险的了。
回复

使用道具 举报

229#
发表于 2010-6-25 23:43:32 | 只看该作者
测试用wenv为217#版本,均为实机测试:

1.gfxmenu→进入命令行→调用wenv→configfile (md)4+8→选择任何菜单项,均正常运行。
2.gfxmenu→进入0PE(PE.GZ)→按C进入命令行→调用wenv→configfile (md)4+8→选择任何菜单项(命令前都加pause,第一个命令当然就变为pause了),无任何提示,直接重启。
3.不使用gfxmenu→grldr(0PE程式菜单内置、外置都测试了一下)→进入0PE(PE.GZ)→按C进入命令行→调用wenv→configfile (md)4+8→选择任何菜单项,又都能正常运行!!!

从1、2看,似乎是0PE使用了0x40000~0x60000的内存地址;而从3看来似乎又是gfxmenu的bug?综上,糊涂了。

[ 本帖最后由 zxw 于 2010-6-26 00:22 编辑 ]
回复

使用道具 举报

230#
 楼主| 发表于 2010-6-26 15:48:18 | 只看该作者
我考虑不周,大概星期二我再改一下。现在用手机上。
1.可能允许自定义使用的内存起始位置。
2.zhaohj说的不错,32个足够了。
3.会加上清除已设变量的功能。
回复

使用道具 举报

231#
 楼主| 发表于 2010-6-28 22:21:58 | 只看该作者
先用这个试试
内存使用0x45000位置开始

增加了一个参数reset清除所有已经设置的变量。

如果wenv set xxx=后面不指定变量的值则是清除该变量(类似于CMD的SET功能)

wenv.zip

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

回复

使用道具 举报

232#
发表于 2010-6-29 00:28:04 | 只看该作者
测试了一下:
不调用gfxmenu仍然没有什么问题。
调用gfxmenu:
      1.不进入0PE显示为0字节,调用wenv 设置变量正常显示变量名。configfile (md)4+8 后运行正常。
      2.进入0PE(0PE已调用wenv设置变量),cat --hex (md)0x228+1正常显示变量名。configfile (md)4+8 后选择任何菜单均直接重启。
      3.另:wenv reset ,,cat --hex (md)0x228+1查看清除变量成功。configfile (md)4+8 后选择任何菜单仍然直接重启。
      困惑!不解!从1看gfxmenu并没有占用0x45000后的地址,从2看0PE也没有占用啊???!!!!

[ 本帖最后由 zxw 于 2010-6-29 00:33 编辑 ]
回复

使用道具 举报

233#
 楼主| 发表于 2010-6-29 00:31:59 | 只看该作者
原帖由 zxw 于 2010-6-29 00:28 发表
测试了一下:
不调用gfxmenu仍然没有什么问题。
调用gfxmenu:
      1.不进入0PE,cat --hex (md)0x228+1显示为0字节,调用wenv 设置变量正常显示变量名。configfile (md)4+8 后运行正常。
      2.进入0PE( ...

我试了好像是正常的啊.也许是其它的问题和WENV无关.
像UNIFONT和GFXMENU是使用同一块内存的.
回复

使用道具 举报

234#
发表于 2010-6-29 00:36:49 | 只看该作者
cat --hex (md)0x228+1查看除了wenv设置的变量名,其余均是0字节。应该表明没有其它东东在占用这一块啊。
回复

使用道具 举报

235#
 楼主| 发表于 2010-6-29 01:01:33 | 只看该作者
新的wenv有初始化过了.你应该看看0x227+1的内容.
回复

使用道具 举报

236#
发表于 2010-6-29 09:38:09 | 只看该作者
测试了一下。
wenv reset命令是清除了变量名,变量值512字节,输入的值不到512字节部分用00填充。
变量名8个字节,占用0x400字节,能使用128-1个变量。(感觉是不是太多了?)

我没有使用gfxmenu,在含有UNIFONT命令的SRS_F6运行正常。
回复

使用道具 举报

237#
发表于 2010-6-29 11:35:28 | 只看该作者
原帖由 chenall 于 2010-6-29 01:01 发表
新的wenv有初始化过了.你应该看看0x227+1的内容.

cat --hex (md)0x227+1 为0字节。
回复

使用道具 举报

238#
发表于 2010-6-29 15:51:36 | 只看该作者
P大也不来看一下,0PE只有P大来解释了。
回复

使用道具 举报

239#
发表于 2010-6-29 18:36:19 | 只看该作者
@chenall、zhaohj:
sorry!
在gfxmenu内置菜单前加一句:terminal console
问题全部解决。

看来实际上是UNIFONT和GFXMENU占用内存冲突的问题。

[ 本帖最后由 zxw 于 2010-6-29 23:11 编辑 ]
回复

使用道具 举报

240#
 楼主| 发表于 2010-6-29 23:41:44 | 只看该作者
gfxmenu、UNIFONT还有FONTFILE都是使用了4-6M之间的内存。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-26 22:39

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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