无忧启动论坛

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

GRUB4DOS更新建议、bug反馈专帖

    [复制链接]
2071#
发表于 2011-12-27 02:06:46 | 只看该作者

开发软件很辛苦,尤其是软件在不断遭到打压。

因此,报告问题时,要详细,要尽量让开发者知道大致是什么问题。

开发者最怕的,就是 BIOS 的问题,而且是故意封杀开源软件而制造出来的问题。这类问题很难处理。因为封杀者本本来就是故意制造麻烦的,所以解决起来肯定不容易,很有可能根本就解决不了。

因此,报告者不要吊胃口。开发者很怕见到又有一种被 BIOS 封杀的新情况出现。很怕很怕!

是什么问题,就是什么问题,别留下悬念,即,别恐吓!

您的日子过得安心,开发者也需要过安稳的日子。不要吓唬开发者。不要让开发者整天精神紧张地去应付没完没了的 BIOS 攻击。

如果您一直这么有意无意地进行恐吓,那么在开发人员看来,您很可能就是在 “ 糟蹋 ” 您的名号。

回复

使用道具 举报

2072#
发表于 2011-12-27 05:01:36 | 只看该作者
对不起,我并没有恶意,我很喜欢您开发的软件,并且敬仰您工作。是我个人水平有限,不能掌握它,如果有什么令您不快或给您带来麻烦,请别介意,对您来说我只是个小学生,实在抱歉……
回复

使用道具 举报

2073#
发表于 2011-12-27 08:07:51 | 只看该作者
原帖由 tulongwa 于 2011-12-26 22:38 发表
那为什么我把背景图片换成800X600的就一切正常?用1024X768的就黑屏乱码,本子的屏幕是1024X600。grldr是12-24的,而同样的文件和菜单在台式机上都正常,



貌似tulongwa的意思是  上网本分辨率低  是1024×600  图片分辨率是1024×768  

设置背景时是按图片分辨率来的  没有检测当前是否支持这个分辨率  依然使用1024×768的分辨率  所有“黑屏乱码”了
回复

使用道具 举报

2074#
发表于 2011-12-27 08:17:12 | 只看该作者
你是怎么用的,才导致黑屏、乱码?

这究竟是不是 grub4dos 的问题?你把人搞的 “丈二和尚,摸不着头脑”。

你要知道,这个帖子的标题是 “grub4dos 更新建议及bug 反馈”,要是你能不能肯定是 grub4dos 的问题,那不就是捣乱吗?有意的捣乱,我们不答应,我们要痛骂。无意的捣乱,让我们很无奈,很无语,很疲惫。后者应该完全可以避免的吧?

无论有意无意,客观上都起着同样的作用。

我们当然不要求任何人都是一样的水平。“ 初次接触 ” 以及 “ 长期使用 ”,其本身都不是 “ 罪过 ”。但假如你不说清楚,那就是 “ 罪过 ”。没有规矩,不成方圆。您不确定这是 grub4dos 的问题,就来反馈,这就是给开发者增加负担。
这与你的技术水平完全无关。

我在思考,这究竟会不会是一种 “ 新型 ” 的攻击方式?就是说,故意以一个 “ 初学者 ” 的身份作为掩盖,然后在不合适的地方提出 “ 莫须有 ” 的问题,让开发者疲于应付。而且本身就故意隐藏关键的操作步骤,否则很难达到 “ 吊胃口 ” 的目的。

如果你不确定是 grub4dos 的错误,而在这里报告,那么你是违规的。我可以向论坛管理员控诉你的违规行为。论坛连广告都不许发,如果你被认定有大量的违规行为,恐怕也有可能被惩罚吧?

希望您认真考虑。

-----------

再补充:

如果报告问题很含糊,问一句说一句,像 “ 挤牙膏 ”,要弄清楚,就得很多个 “ 回合 ”,像 “ 拉锯 ”。这就耗费了开发者的精力,白白浪费了开发者的时间。这不就是可能的 “ 蓄意攻击 ” 吗?


----------------
tulongwa


别人证明你报告的不是虚假的情况,为你洗清了。

我先前的帖子也是一种 “ 抱怨 ”。我和大家都是一样的,是完全平等的。我有权抱怨,正如许多人抱怨文档、软件有各种毛病一样。大家都有权抱怨。假如我不抱怨,那么我的想法,就可能无法得到别人的了解,别人可能意识不到有那些问题的存在。我的抱怨,最好不要理解为 “ 批评人 ”。如果那样的话,我的角色变成了 “ 高高在上 ” 者(谁赋予了我那样的特权?)。那样对我也是不公平的。不要忘了,我也是一个门外汉,一个用户。我被迫维护这个软件。(呵呵,我又在抱怨了)假如当初我给 GNU GRUB 的开发团队的补丁被采用了的话,我根本不可能维护这个软件。现在,我不仅维护了这样一个独立的软件,还得处理大量攻击的事情,包括大量 BIOS 硬件攻击、Windows XP SP2 的攻击、论坛上的恶意人身攻击、以及网络 DDOS 拒绝服务攻击,等等等等,太多了。除了以一个外行的身份要不断学习知识用于开发这个软件以外,应付这些五花八门的攻击,也是相当痛苦的。我要是不抱怨,则不一定能够得到了解,更不会得到理解。



[ 本帖最后由 不点 于 2011-12-27 12:01 编辑 ]
回复

使用道具 举报

2075#
发表于 2011-12-27 08:43:22 | 只看该作者
回复 #2062 chenall 的帖子

在内置菜单的开始处,加上debug off,还是这样。你要下面的帮助信息。

回复

使用道具 举报

2076#
发表于 2011-12-27 08:56:58 | 只看该作者
这个是真的,背景图的分辨率的大小,决定着G4D分辨率的大小,我昨天在给一个坛友弄影响图时发现了这个问题,如果是640X480的图与800X600的图,及1024X768的图,加载时G4D的分辨率是不同的,每一屏显示的菜单条数也是不同的,好像是根据背景图的分辨率来决定G4D的分辨率的,
  而且我的一台CRT17纯平的显示器。graphicsmode -1后面没有限定值时,在启动时显示器报:分辨率防火部明超出最大值。就黑屏了。

  12.06版本的GRLDR,如果以后更正了这个问题,可能解决了,如果没更正,则那位网友所反映的属实。

下面是内置菜单的信息
debug off
checkrange 0x21 read 0x8280 && pxe detect NotExist
if exist (ud)/BOOT/GRUB/RUN && set dev=(ud) ! set dev=%@root%
command --set-path=%dev%/BOOT/GRUB/
color helptext=0x04 normal=0x01 highlight=0x3E heading=0x02 border=0x02
font (ud)/BOOT/GRUB/UNIFONT.HEX
graphicsmode -1 800:600 640:480 32
splashimage (ud)/BOOT/GRUB/091.LZMA
terminal --font-spacing=1:10
configfile (ud)/menu/menu.lst

menu.lst内容
timeout 15
default 0
terminal --font-spacing=1:10
command set --path=(ud)/boot/grub/
mini_menuset 0 17 15 5 35 10
菜单正文(略)
回复

使用道具 举报

2077#
发表于 2011-12-27 08:59:16 | 只看该作者

回复 #2077 sratlf 的帖子

如果确实是这样的话,那可能就是真的 bug 了,还得 chenall 来确认一下。

我认为,程序不可以 “ 用图片来定分辨率 ”,因为这个做法有陷阱,所得出的分辨率,显卡的 VBE 不一定支持。

图片的分辨率,只能作为一个 “ 参考 ”。最终应该检查 VBE 是否支持,如果不支持,应该自动降低分辨率,或者自动选一个支持的分辨率来代替,也或者直接给出错误信息,拒绝进入 VBE 模式。
回复

使用道具 举报

2078#
发表于 2011-12-27 09:14:12 | 只看该作者

回复 #2080 幸运的草 的帖子

既然你已经发现问题了,为何不早早反馈?让一个说不清的人来反馈,岂不费劲?他连个菜单都不贴,操作过程一概是 “ 黑箱 ”。

你的菜单也有小错误(其实也不小),这句不对:

graphicsmode -1 800:600 640:480 32

最后的 32 限定了只支持 32 位的像素。而实际中,显卡有可能不支持 32 位的,只支持 24 位的。

因此,你这个设置在别的机器上有可能失败。

当显卡同时支持 32 位和 24 位的像素色深时,程序自动选择最优的 32 位。所以,根本没必要添加 “ 32 ” 这个色深限制。去掉它就没问题了。
回复

使用道具 举报

2079#
发表于 2011-12-27 09:15:41 | 只看该作者
菜单内容见#2780
800X600分辨率的背景图设置效果见#2779
下面是640X480背景图的效果,相同设置。见下图:



如果找不到背景图或背景图出错,则汉字也没有了。(设置相同)



[ 本帖最后由 幸运的草 于 2011-12-27 09:16 编辑 ]
回复

使用道具 举报

2080#
发表于 2011-12-27 09:18:50 | 只看该作者

回复 #2082 不点 的帖子

谢谢指正,马上更正。

另外,#2059的问题能否考虑解决?

[ 本帖最后由 幸运的草 于 2011-12-27 09:21 编辑 ]
回复

使用道具 举报

2081#
发表于 2011-12-27 09:38:05 | 只看该作者
抱歉,你这句还有其他疏忽:

graphicsmode -1 800:600 640:480 32

应该这样:

graphicsmode -1 640:800 480:600 24:32

640:800 是控制水平方向的像点个数。不可以颠倒过来,变成 800:640。这是指定范围,小的在前,大的在后。
480:600 控制垂直方向的像点个数,同样不可以颠倒顺序,应该前小后大,表示区间。
24:32 也是有必要的,以免把 4 位的模式 0x102 (它等同于以前的 VGA 0x6A 模式)也包括进来了。

应该首先采用这条命令决定分辨率,分辨率决定之后,再加载图片。这样就不会出错了。黑屏实际上是根本没有进入 VBE 模式的结果,当然不会显示汉字了。

graphicsmode -1 后面不加别的控制参数,竟然会造成黑屏,这可是出乎意料的。如果出现那样的情况,可以认为属于显卡 BIOS 的问题(即显卡 VBE 的问题),无法解决,只有添加别的控制参数,来达到较小的分辨率,使显示器不至于 “ 因为承受不了太大的分辨率 ” 而 “ 罢工 ”。

-------------------

补充研究:

进一步分析:

像这样控制分辨率:

graphicsmode -1 640:800 480:600 24:32

是不是太严格了?假如有些手机之类的设备,分辨率不高,这样控制就太狭窄了。可以考虑这样:

graphicsmode -1 100:1000 100:1000 24:32

这样范围更灵活一些,同时也避免出现很大的分辨率(例如 1024 x 768 )。

[ 本帖最后由 不点 于 2011-12-27 10:15 编辑 ]
回复

使用道具 举报

2082#
发表于 2011-12-27 09:39:37 | 只看该作者

回复 #2084 幸运的草 的帖子

必须在当前菜单上DEBUG OFF。每个新的菜单都属于新的环境。

还有你调整了字距行距,这应该还是属于自己的问题。(具体为什么可以自己翻翻本贴,在支持调整字距行距的时候的相关贴子)

因为你的菜单是先进入VBE模式再加载图片,所以和图片的分辨率无关。

当前模式不是VBE模式加载BMP背景图才会自动适应。

[ 本帖最后由 chenall 于 2011-12-27 09:43 编辑 ]
回复

使用道具 举报

2083#
发表于 2011-12-27 10:55:08 | 只看该作者
回复 #2085 不点 的帖子
谢谢你的指导,你就像老师一样,谆谆教诲,我完全明白怎么使用了。原来是一知半解。已经更正,问题消失。看来那位反映的坛友,估计也是相同的问题。

回复 #2086 chenall 的帖子。
分辨率的问题,确实如此,与分辨率无关,是使用不当造成的。已经根据你和不点大师的意见进行了修正,问题消失。


在菜单的前面加上debug off,菜单数字序号被屏蔽。

但那两个问题依旧。



建议
1、如果是vbe模式,为使其更美观,是否屏蔽版本输出信息?
2、如果对菜单进行列宽控制,会影响到现在帮助信息的输出,是否能对帮助信息进行单独控制,即不受菜单列宽度的影响,这样帮助信息较多时,会输出完整。

[ 本帖最后由 幸运的草 于 2011-12-27 11:10 编辑 ]
回复

使用道具 举报

2084#
发表于 2011-12-27 11:03:15 | 只看该作者

回复 #2087 幸运的草 的帖子

1.关于版本信息,目前要让它“不显示“其实也是很简单的,直接使用initscript命令就可以实现的。

可以参考MODBOOT

2.这个我记得以前的调整过的,你可以试试先不调整菜单框位置,然后写一堆帮助信息,看看是不是显示到行尾?

3.看这里是正常的吧。
http://bbs.wuyou.net/forum.php?m ... p;page=4#pid2362305

[ 本帖最后由 chenall 于 2011-12-27 11:10 编辑 ]
回复

使用道具 举报

2085#
发表于 2011-12-27 11:13:53 | 只看该作者

回复 #2088 chenall 的帖子

主要是对菜单宽度进行控制时,会影响到下面的帮助信息的输出。不控制没问题。
不过,这个不是什么大的问题,也可以屏蔽不输出。
回复

使用道具 举报

2086#
发表于 2011-12-27 11:21:19 | 只看该作者

回复 #2088 chenall 的帖子

我使用的是20111226最新的grldr,在VPC2007虚拟机测试的

贴上一小段代码,如有出错,望指正。。。
  1. terminal console
  2. debug off
  3. #graphicsmode -1 800

  4. #sratlf的MINI_MENUSET用法介绍
  5. #闲着没事写的批处理脚本   实现了原外部命令menuset大部分功能
  6. #可来设置 字间距、行间距、菜单边框宽度、帮助信息部分起始行数、菜单最多可显示的行数、菜单起始行数、菜单行宽度、菜单行起始列数
  7. #vbe模式下默认值默认值:0 0 2 0 0 2 0 2
  8. #除第一个参数外 其他参数不想更改的话可以使用字母 n 做占位符  比如 mini_menuset 0 n n 21
  9. MINI_MENUSET 1 6 2 n n 4 60 15

  10. splashimage /BOOT/GRUB/BACK.BMP || splashimage /BOOT/GRUB/BG.BMP
  11. font && font /BOOT/GRUB/MYFONT.HEX
  12. color 11 12 13 14

  13. default 2
  14. timeout 30

  15. ## 自动数字列表——Menu AutoNumber
  16. write 0x8274 0x2001

  17. title  ※※※ ZHS多功能维护盘 ※※※
  18. clear

  19. title
  20. clear

  21. title    0PE 迷你维护系统  \n功能强大的PE维护盘,含有大量的SRS驱动包!\n支持安装版XP/2003直接ISO安装!\n可启动ISO、IMG镜像等!
  22. fallback 14
  23. clear
  24. chainloader /BOOT/0PE.BIN || configfile /BOOT/GRUB/MENU.0PE
复制代码

[ 本帖最后由 zhs509 于 2011-12-27 11:46 编辑 ]

1.JPG (53.81 KB, 下载次数: 109)

1.JPG
回复

使用道具 举报

2087#
发表于 2011-12-27 12:13:39 | 只看该作者

回复 #2077 幸运的草 的帖子

>>> 谢谢你的指导,你就像老师一样,谆谆教诲,我完全明白怎么使用了。原来是一知半解。已经更正,问题消失。看来那位反映的坛友,估计也是相同的问题。

不能那么说。我不是一个可以当老师的人。我只注意开发软件,不注意完善文档,所以造成使用者的困惑。这应该还属于开发者的责任。

但我身体也差,也算是一个堂而皇之的理由,为写文档的懒惰开脱责任。希望 chenall 以及文档撰写者弥补这些缺憾。
回复

使用道具 举报

2088#
发表于 2011-12-27 12:32:08 | 只看该作者

回复 #2090 zhs509 的帖子

你这个菜单依旧是用背景图片定义分辨率。这是不可靠的。

@chenall

用户总是有可能误用的。因此,要么你取消这个 “ 背景图片决定分辨率 ” 的功能,要么让它更 “ 健壮 ”,不会因为图片分辨率与显卡 VBE 的分辨率发生冲突。当图片分辨率不被 VBE 支持的时候,应该检测出来,自动选择一个合适的分辨率。
回复

使用道具 举报

2089#
发表于 2011-12-27 13:25:02 | 只看该作者

if的 >= 和 <= 好像不正常

原帖由 chenall 于 2011-12-13 01:09 发表
上传一个用于尝鲜测试。有需要的可以下载试用。
2011-12-13 修正sprintf函数%d不能正确打印负数的bug
2011-12-12
        1.if命令新增>=和=aa ab>=aa ab>=a b>=ab 3>=0x1234
        这个也可以用来比较数 ...


C 大:

if的 >= 和 <= 好像不正常,不知道是不是我命令写错了

看截图:
回复

使用道具 举报

2090#
发表于 2011-12-27 13:29:40 | 只看该作者

回复 #2092 不点 的帖子

谢谢不点的指导,看到#2085的回复内容,我这就改下。。。

[ 本帖最后由 zhs509 于 2011-12-27 13:38 编辑 ]
回复

使用道具 举报

2091#
发表于 2011-12-27 15:28:06 | 只看该作者

回复 #2093 smine 的帖子

谢谢反馈,这是BUG。上次改错了。。
回复

使用道具 举报

2092#
发表于 2011-12-27 15:57:09 | 只看该作者

回复 #2093 smine 的帖子

麻烦先试试这个,看看解决了没。

受影响的内容,请尽可能测试看看有没有其它异常。

1.cat --locate
2.iso文件系统。
3.if

grldr.rar

135.85 KB, 下载次数: 31, 下载积分: 无忧币 -2

回复

使用道具 举报

2093#
发表于 2011-12-27 17:48:01 | 只看该作者
C大,在菜单使用了自动数字列表后,有没有办法关闭自动数字列表的命令呢?

比如,我要从当前菜单转到SUB.LST(SUB.LST子菜单已经有标号了)子菜单

[ 本帖最后由 zhs509 于 2011-12-27 17:49 编辑 ]
回复

使用道具 举报

2094#
发表于 2011-12-27 17:59:06 | 只看该作者
原帖由 chenall 于 2011-12-27 15:57 发表
麻烦先试试这个,看看解决了没。

受影响的内容,请尽可能测试看看有没有其它异常。

1.cat --locate
2.iso文件系统。
3.if



我测试了if功能:

按照之前的说明:

2011-12-12
        1.if命令新增>=和<=字符串比较符,注意:只用于比较字符串(根据字符串的ASCII码进行比较)。
        以下都会返回真
        aa>=aa ab>=aa ab>=a b>=ab 3>=0x1234
        这个也可以用来比较数字,必须先使两边的数字长度一样才准确。如下也返回真
        0x123>=0x120 0xABCD>=0x3333

aa>=aa, ab>=aa, ab>=a, b>=ab 的测试都通过

0x123>=0x120 0xABCD>=0x3333 的测试也通过,很完美,

只有 3>=0x1234,测试发现并没有返回真:


不知C大是否修改了数值的判断逻辑?

============================================
ISO文件系统 我简单的测试发现我的PE ISO都能正常启动,没什么问题

============================================
cat --locate  我还不大会用,回头再研究研究
回复

使用道具 举报

2095#
发表于 2011-12-27 18:03:43 | 只看该作者
3>=0x1234,测试发现并没有返回真
这是正常的吧
回复

使用道具 举报

2096#
发表于 2011-12-27 18:11:10 | 只看该作者

回复 #2097 zhs509 的帖子

#2097
write 0x8274 0
#2098
正常就好。那个3是不可能大于0x1234的,两边都是数字,按数值比较,之前的版本是按字符比较所以3〉0x1234,新的版本直接按数字比较。

今天的版本已经上传。应该没有什么问题了。

晚上可能会再放一个测试版,主要是在菜单中使用中文的一些问题。

比如前面的帮助信息还没有满一行就跳行了,那是因为一个中文占了3个字符。新的版本将尝试解决这些问题。
回复

使用道具 举报

2097#
发表于 2011-12-27 18:28:43 | 只看该作者

回复 #2100 chenall 的帖子

谢谢C大,完美解决了。。。

另外请教下C大,菜单设置了边框和行距等,
有没有办法进入其他子菜单前卸载掉呢?

我用了sratlf版主的menuset设置了边框、字体大小、间距等,显示很完美。。。

但是好像和0PE的设置冲突了,有没有办法在引导0PE的grldr前将这些信息清除或卸载呢?


下面是我的设置
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#sratlf的MINI_MENUSET用法介绍
#可来设置 字间距、行间距、菜单边框宽度、帮助信息部分起始行数、菜单最多可显示的行数、菜单起始行数、菜单行宽度、菜单行起始列数
#vbe模式下默认值默认值:0 0 2 0 0 2 0 2
#除第一个参数外 其他参数不想更改的话可以使用字母 n 做占位符  比如 mini_menuset 0 n n 21
MINI_MENUSET 1 6 1 n n 4 60 15

调用0PE的grldr之前添加命令,刷屏算是没了,但是有出现了新问题!

title 启动0PE
MINI_MENUSET 0 0 2 0 0 2 0 2
chainloader /BOOT/IMGS/0PE.BIN

[ 本帖最后由 zhs509 于 2011-12-27 19:53 编辑 ]
回复

使用道具 举报

2098#
发表于 2011-12-27 21:53:16 | 只看该作者

回复 #2087 幸运的草 的帖子

今天在修改时发现,原来已经有一个彩蛋可以使用的。嘿嘿
注意\n后面是\r
试试title test\n\rabcdddd

即,使用\r就可以让帮助信息整行显示。不过这样子可能也不太美观。嘻嘻,可以先将就用着。以后有什么好的方案时再改动。。
回复

使用道具 举报

2099#
发表于 2011-12-27 22:00:08 | 只看该作者

回复 #2102 chenall 的帖子

嘿嘿,这不算是彩蛋吧。官方的说明文档中有介绍,只是一般没人去用它。

建议增强一下initscript,既然有重新初始化的概念,menuset等菜单显示的设置也应该被初始化。
回复

使用道具 举报

2100#
发表于 2011-12-27 22:15:25 | 只看该作者

回复 #2103 zxw 的帖子

initscript不是初始化,这个只是在显示完成之后执行指定脚本,用于自定义界面。

menuset等如果是人为设置的,肯定需要人为去恢复。不要完全指望程序。

因为有人希要自动恢复,有的人不一定需要。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-25 14:02

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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