无忧启动论坛

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

GRUB4DOS更新建议、bug反馈专帖

    [复制链接]
1951#
发表于 2011-12-11 16:00:20 | 只看该作者
上传一个给zhaohj

这个可以使用map --status=n
来获取已映射内存盘n的状态。

比如以下命令
map --status=0

执行后将会得到两个变量(扇区)
%?%=内存盘的起始位置
%@retval%=内存盘大小

注:以上变量都是属于临时变量执行之后需要的话要尽快转移。

grldr.zip

145.48 KB, 下载次数: 28, 下载积分: 无忧币 -2

回复

使用道具 举报

1952#
 楼主| 发表于 2011-12-11 17:21:46 | 只看该作者
原帖由 chenall 于 2011-12-11 16:00 发表
上传一个给zhaohj

这个可以使用map --status=n
来获取已映射内存盘n的状态。

比如以下命令
map --status=0

执行后将会得到两个变量(扇区)
%?%=内存盘的起始位置
%@retval%=内存盘大小

注:以 ...


谢谢C大,这个功能很有用,特别是“内存盘的大小”,可以根据这个值(内存盘的大小至少是不小于8个扇区)来判定是否存在这个仿真盘。
如果n盘不存在,%?%返回0更加好,目前会继存这个变量。

[ 本帖最后由 zhaohj 于 2011-12-11 17:25 编辑 ]
回复

使用道具 举报

1953#
发表于 2011-12-11 17:37:48 | 只看该作者

回复 #1956 zhaohj 的帖子

如果内存盘不存在%@retval%返回值0.

可以这样判断

map --status=0 || echo 内存盘不存在。
回复

使用道具 举报

1954#
发表于 2011-12-11 17:50:03 | 只看该作者
原帖由 chenall 于 2011-12-11 13:49 发表
把可以重现问题的文件打包传上来看看。

主菜单用的RUN是夜版的,另一个菜单用的是ZXW的

[grub].fba是测试用的,生成菜单很快,但是有黑条
其他文件是实机上的文件,生成菜单很慢还有黑条
刚才执行 command RUN --set-debug=3 --fira --show.ISO ()/BOOT/IMGS/
显示:set m=--fira就不动了
http://115.com/file/dnr5en8n#
测试.7z

刚才又测试了一下,
第一次执行执:
set front=--mem
command RUN --fira --show.ISO ()/BOOT/IMGS/
会卡住20秒左右,返回主菜单再执行时就很快了

如果去掉 --fira 第一次执行执也不卡

黑条依旧。。。

[ 本帖最后由 tulongwa 于 2011-12-11 18:30 编辑 ]
回复

使用道具 举报

1955#
发表于 2011-12-11 18:43:33 | 只看该作者

回复 #1958 tulongwa 的帖子

  1. set m=%~1
  2. if "%m:~,2%"=="--" && goto :%m:~2,3% || goto :%m:~2% || goto :merror ! if "%~1"=="" goto :input || if "%~x1"=="" goto :chain || goto :%~x1 || goto :merr
复制代码


这个是执行的那行命令  可能是太长  处理起来死机了。。。  卡死问题在我这无法重现  应该是和机器有关

用你提供的fba文件黑条问题确实存在  不过前面加上 set image=splashimage (ud)/BOOT/GRUB/BG2.LZMA 可以避免
回复

使用道具 举报

1956#
发表于 2011-12-11 19:06:41 | 只看该作者
可是为何以前的版本没问题呢?
回复

使用道具 举报

1957#
发表于 2011-12-11 20:08:07 | 只看该作者

回复 #1960 tulongwa 的帖子

忘记说了  debug模式是单步执行的  你不会是没有按键吧  还有个问题  机器上面有软驱吗
回复

使用道具 举报

1958#
发表于 2011-12-11 22:09:52 | 只看该作者
还真是没按键……我的机器没软驱的,不过只能明天下班再试了,
回复

使用道具 举报

1959#
发表于 2011-12-12 11:50:04 | 只看该作者
第一次执行执:
set front=--mem
command RUN --fira --show.ISO ()/BOOT/IMGS/
会卡住20秒左右,以后再次生成不卡
录像:
http://www.tudou.com/v/XVDeDv6xq0k/&rpid=87041626/v.swf

行执:
set front=--mem
command RUN --set-debug --fira --show.ISO ()/BOOT/IMGS/
卡在这里:

大图:http://115.com/file/clyp38wp#
IMG_2704.7z
录像:
http://www.tudou.com/v/zScxk9hpQW4/&rpid=87041626/v.swf

屏幕上的字很小所以我传的是720P录像,看原画面比较清晰点

[ 本帖最后由 tulongwa 于 2011-12-12 12:00 编辑 ]
回复

使用道具 举报

1960#
发表于 2011-12-12 12:06:44 | 只看该作者

回复 #1963 tulongwa 的帖子

是卡在 cat (fd0)+1 上了

本意是判断fd0是否存在的  因为用if exist (fd0)判断不准  就用的cat  我看看能不能换成别的命令把
回复

使用道具 举报

1961#
发表于 2011-12-12 13:40:58 | 只看该作者
是否生成菜单时,有什么命令破坏了VBE背景?如果每次都加载一遍背景会感觉画蛇添足还慢,所以我建议夜版再考虑考虑能不能让它默认就使用已经存在的背景,既省了命令还快……
回复

使用道具 举报

1962#
发表于 2011-12-12 15:50:17 | 只看该作者

回复 #1965 tulongwa 的帖子

问题是新版就是判断是否加载了背景图  如果加载了就不对背景图和字库进行处理  否则就应该是蓝底白字的效果
回复

使用道具 举报

1963#
发表于 2011-12-12 16:22:19 | 只看该作者

回复 #1966 sratlf 的帖子

只要执行过run命令(不执行其它操作,随意执行一下RUN),背景图就会被破坏。所以问题应该还是在RUN身上。

本来想看一下代码的,打开看一下,有点晕,算了,你们自己去找原因。

背景图存放在0X1000000开始处的几MB空间。
回复

使用道具 举报

1964#
发表于 2011-12-12 16:33:15 | 只看该作者

回复 #1967 chenall 的帖子

哈哈
我发现很多大大不喜欢写注释

我打开很多大大的批处理,一看代码就头晕。

C大是不是应该整个G4D的批处理规范教程。将常用的代码规范下。
回复

使用道具 举报

1965#
发表于 2011-12-12 16:33:46 | 只看该作者
是不是由于背景图的分辨率高,文件体积超出了预留空间?所以执行run时被破坏,而两个run使用的内存位置不同,所以ZXW的没破坏背景图?或许把预留空间放大或者改变run使用的内存能解决问题

[ 本帖最后由 tulongwa 于 2011-12-12 16:40 编辑 ]
回复

使用道具 举报

1966#
发表于 2011-12-12 16:44:10 | 只看该作者
原帖由 chenall 于 2011-12-12 16:22 发表
只要执行过run命令(不执行其它操作,随意执行一下RUN),背景图就会被破坏。所以问题应该还是在RUN身上。

本来想看一下代码的,打开看一下,有点晕,算了,你们自己去找原因。

背景图存放在0X1000000开始 ...



找到原因了  是和insmod命令使用的内存地址冲突  用tulongwa 1598#提供的测试包  

进入命令行后随意insmod一个文件  再返回主界面就会有黑条
回复

使用道具 举报

1967#
 楼主| 发表于 2011-12-12 17:10:32 | 只看该作者
原帖由 sratlf 于 2011-12-12 16:44 发表

找到原因了  是和insmod命令使用的内存地址冲突  用tulongwa 1598#提供的测试包  
进入命令行后随意insmod一个文件  再返回主界面就会有黑条


insmod常用啊,单独测试没问题。
insmod前后看一下cat --hex (md)0x8000+1
回复

使用道具 举报

1968#
发表于 2011-12-12 17:18:57 | 只看该作者

回复 #1971 zhaohj 的帖子

不知道  但是用1958#的测试包  启动后直接进入命令行  随便insmod一个文件  再返回主界面就出现黑条了  是不是背景文件太大了造成的

t1.jpg (125.33 KB, 下载次数: 130)

t1.jpg

t2.jpg (128.81 KB, 下载次数: 131)

t2.jpg

t3.jpg (116.7 KB, 下载次数: 136)

t3.jpg

t4.jpg (124.55 KB, 下载次数: 135)

t4.jpg

t5.jpg (128.82 KB, 下载次数: 127)

t5.jpg

t6.jpg (112.99 KB, 下载次数: 118)

t6.jpg
回复

使用道具 举报

1969#
 楼主| 发表于 2011-12-12 17:36:11 | 只看该作者
800*600的这张图正常,1024*768这张图确实出现问题了,超出范围了。
不知图形文件在16M以上允许多大?
不然insmod的内存管理有问题。

我上传这张图让C大测试一下吧
http://115.com/file/dn859szc

[ 本帖最后由 zhaohj 于 2011-12-12 17:53 编辑 ]
回复

使用道具 举报

1970#
发表于 2011-12-12 17:53:30 | 只看该作者
忘记了,好像INSMOD使用内存没有改。我稍后再看看。
回复

使用道具 举报

1971#
发表于 2011-12-12 19:28:55 | 只看该作者
试试刚上传的版本,应该解决了。

因为INSMOD的内存还是以前的24MB处。所以才会出问题。

现在已经移到31MB处了。
回复

使用道具 举报

1972#
发表于 2011-12-12 20:08:04 | 只看该作者

回复 #1975 chenall 的帖子

测试了下没问题了  这次没有黑条了
回复

使用道具 举报

1973#
发表于 2011-12-12 21:36:34 | 只看该作者

回复 #1976 sratlf 的帖子

解决了就好,辛苦你们了

另外,建议以后写批处理脚本适当的加一点注释进去,养成一个好习惯。嘿嘿

我现在是习惯性的写点注释。

因为写的东西多了比较乱,一段时间没有去接触,即使是自己写的东西没有注释的话都不知从哪里下手。
回复

使用道具 举报

1974#
发表于 2011-12-12 21:40:38 | 只看该作者

回复 #1977 chenall 的帖子

想写注释  也是一个字  懒。。。
回复

使用道具 举报

1975#
发表于 2011-12-12 22:21:12 | 只看该作者
那个测试包的背景图片才3MB怎么会超大呢?总之没有黑条真是太好了,
剩下就是卡的问题了,夜版多多辛苦(*^__^*) 嘻嘻……

你让我试市的命令都试了:
全是一个结果:
error 25:disk read error
用虚拟机很快返回提示
到实机上要等很长时间:
前两条大概20秒
最后一条等了3分钟多
回复

使用道具 举报

1976#
发表于 2011-12-12 22:28:46 | 只看该作者

回复 #1979 tulongwa 的帖子

你那什么机器啊。。。换1212版grub  再试试这个命令

map --status=0 && echo 1 ! echo 2

看需要多少时间
回复

使用道具 举报

1977#
发表于 2011-12-12 22:37:32 | 只看该作者
grldr用的就是最新版,我的机器是酷睿E4500,2GB内存,有啥问题么?今天试不了了,明天汇报结果……
回复

使用道具 举报

1978#
发表于 2011-12-12 22:40:19 | 只看该作者

回复 #1981 tulongwa 的帖子

给你测试的前两个命令  在我找的几台实机上都是很快完成  1秒不到  为什么你的机器会20多秒。。。
回复

使用道具 举报

1979#
发表于 2011-12-13 01:09:37 | 只看该作者
上传一个用于尝鲜测试。有需要的可以下载试用。
2011-12-13 修正sprintf函数%d不能正确打印负数的bug
2011-12-12
        1.if命令新增>=和<=字符串比较符,注意:只用于比较字符串(根据字符串的ASCII码进行比较)。
        以下都会返回真
        aa>=aa ab>=aa ab>=a b>=ab 3>=0x1234
        这个也可以用来比较数字,必须先使两边的数字长度一样才准确。如下也返回真
        0x123>=0x120 0xABCD>=0x3333


提示:要比较数字时可以使用sprintf函数使得两个数字的长度是一样的。

一个例子:两个数字123和0x99比大小。

使用>=比较符。

call Fn.0 0 "%08X>=%08X" 123 0x99 | set cmp_str=
if %cmp_str% echo 123>=0x99 || echo 123<0x99

[ 本帖最后由 chenall 于 2011-12-13 17:50 编辑 ]

grub4dos.zip

299.36 KB, 下载次数: 17, 下载积分: 无忧币 -2

回复

使用道具 举报

1980#
 楼主| 发表于 2011-12-13 10:31:49 | 只看该作者
判断数值大小还不直观啊,加油!
grub4dos内置shell就方便很多了。
目前wenv的功能大多都内置了,如果再引入(   ),哈哈
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-9-27 15:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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