无忧启动论坛

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

grub4dos-0.4.6a-2023-06-09,grub4dos-0.4.6a-2023-06-10无法出现菜单menu.lst 问题

[复制链接]
1#
发表于 2023-6-11 11:08:13 | 显示全部楼层
感觉楼主的报告,属于比较详细的了。至少楼主是很辛苦的,能够拍照,能够测试不同版本,并且确定了出问题的版本。

我觉得,开发者是开发者,用户是用户。不可以要求用户都有开发经验,都能够猜到开发者想要的是啥。

报告问题时,开发者很不容易了解用户那边究竟哪里有错,电脑不是开发者的,所以,困难就在于,开发者没法亲自进行调试。

所以,用户端,还真的存在一个“报告技巧”的问题。

可以先用一个简化的菜单,来反复测试,看看究竟是哪一句命令没有得到正确执行。

如果自己不懂命令行,也没关系,
可以在菜单项中插入 pause 之类的命令,
这样,用户自己也就能够确定,
到底是什么命令没有得到正确的执行了。

如此一来,就可以给开发者提供更有价值的信息,
节省了开发者的排错时间。
回复

使用道具 举报

2#
发表于 2023-6-11 11:20:49 | 显示全部楼层
楼主最后一张图片,很能说明问题。

在准备处理 mainmenu.lst时,死机了。

有可能是 mainmenu.lst 中有某个命令导致新版本死机了。

楼主可以把 mainmenu.lst 简化,比如说,把 mainmenu.lst 文件清空,看看还死机吗?

这是一个调试思路,目的是帮助楼主,走捷径,进行快速调试和定位,而不需要费太多的脑筋。
回复

使用道具 举报

3#
发表于 2023-6-12 11:30:36 | 显示全部楼层
2011yaya2007777 发表于 2023-6-11 11:35
不点大师,我是原样照抄的mainmenu.lst,可以出现子菜单界面。

在 legacy bios 的情况,grub4dos 里面的许多处理,我是比较了解的。

相关的问题,我觉得,有必要给您解释一下。

iftitle 命令是 chenall 添加的。它比 title 命令更灵活方便。但带来的问题也很棘手。

与 iftitle 相比,原来的 title 命令,我在这里就称之为 “静态 title 命令”。

静态的 title 命令,是直接处理,无需访问磁盘,所以,不会出问题。

而带有 if 的动态 title 命令,它有 “条件” 需要判断,而执行条件判断的时候,就可能是要访问磁盘了。而在访问磁盘时,是有可能死机的。

这里有个误区,就是,“我测试正常啊?怎么会死机呢?”

死机会发生在那一类 “不友好” 的电脑上。并非统统死机。

所以,用户会碰到不正常,然后用户来报告。

开发者不能够以 “自己的测试正常”,然后就认为没问题。

正确的代码,不一定能够正确地运行。这是以前多年来得到的经验教训吧。

其实这绝大多数都是封杀行为,就是,硬件故意设计成让某个软件转不起来。

由于 iftitle 命令有可能导致死机(在执行条件命令的时候因访问磁盘而死机),所以,我在准备处理菜单之前,先打印一条消息(英文的,中文意思是:)“正在处理 某某某 菜单……”

如果此时死机,那么,这条消息就能够被用户拍照,然后,开发者就知道,是处理菜单时死机了。也就是说,configfile 所指定的那个菜单,根本就无法处理。

如果没有死机,上述消息很快就消失了,用户通常也看不见,除非那电脑慢如蜗牛。

并非只有 iftitle 命令会导致死机。在那些有问题的电脑上,任何访问磁盘的命令,都可能导致死机。

iftitle 的特殊性在于,还没显示菜单,就已经死机了。

此时,用户甚至都无法用 pause 命令!因为 pause 命令(以及其他命令)

是在菜单显示之后才可能开始处理的。

所以,请大家尽量不要使用 iftitle 命令。虽然 “恶意攻击” 的电脑数量不太多,但那是存在的。使用 iftitle 命令,就会带来这种风险。任何一种有可能 “丧失启动成功率” 的做法,都是得不偿失的。

我写得长了,阅读起来,可能费劲。请各位在空闲的时候,仔细阅读,慢慢品味。

点评

不太像是iftitle引起的问题呀? title DiskGenius find--set-root /boot/program/DGDOS_ISO.iso map /boot/program/DGDOS_ISO.iso (0xff) || map --mem /boot/program/DGDOS_ISO.iso map --hook chainloade  详情 回复 发表于 2023-6-12 12:01
回复

使用道具 举报

4#
发表于 2023-6-12 12:35:12 | 显示全部楼层
liuzhaoyzz 发表于 2023-6-12 12:01
不太像是iftitle引起的问题呀?

title   DiskGenius

版主大人辛苦啦!您在 grub4dos 上的贡献,是无可替代的。深表敬意!

我没能讲清楚。其实,iftitle 只是导致死机的一种可能性。

死机的可能性有很多,不一定是 iftitle 导致的。

我只是说,请大家尽量不要使用 iftitle 命令,免得出了问题却毫无头绪。

无论是哪种可能性引起的死机,用户都可以看到 Processing menu ........

这条消息。

我看到 yaya 已经从技术层面定位了这个问题。您们都很辛苦,祝贺!

点评

不点大太客气了,绵薄之力不足挂齿,开发者才是贡献最大,付出最多的啊。  详情 回复 发表于 2023-6-12 14:18
回复

使用道具 举报

5#
发表于 2023-6-12 17:52:24 | 显示全部楼层
liuzhaoyzz 发表于 2023-6-12 14:18
不点大太客气了,绵薄之力不足挂齿,开发者们才是贡献最大,付出最多的啊。

开发者们确实很尽力,很有水平,当然在某种程度上都是不可替代的。Gandalf 和 Roy 两位大神也亲自主持过开发维护工作【记忆力不好,可能会有遗忘】。我觉得,不同的人,在不同的时间,不同的地点,做了不同的事情。不管他是开发者、维护者,还是支持者、帮助者(问题报告者就属于支持者、帮助者),他都可能展现出他的智慧、水平。他都可能达到某种艺术的境界,都有着不可替代性。以前有个时空论坛,里面有很多高手,报告问题,帮我排错。那水平不是一般的,都是出神入化的境界。pseudo 对于 grub4dos 技巧的挖掘,我感觉,我作为开发者,都没有他对于 grub4dos 的理解有那么深入,确实很佩服。大家可能都有着某个共同的目标,或者有共同的需求,大家都很尽力。就像现实中的一个真正的家庭一样,每个成员,都在为家庭做贡献。

点评

Gandalf 和 Roy我不是很了解,没有过交流,他们也是前辈了。 “他们早已不在江湖,但江湖依旧流传着他们的传说”!  详情 回复 发表于 2023-6-12 19:10
回复

使用道具 举报

6#
发表于 2023-6-12 22:56:16 | 显示全部楼层
liuzhaoyzz 发表于 2023-6-12 19:10
Gandalf 和 Roy我不是很了解,没有过交流,他们也是前辈了。
“他们早已不在江湖,但江湖依旧流传着他 ...

中文支持是 gandalf 实现的。没有 gandalf,就没有中文支持。

中文支持,vga 图形代码的编写,都是很困难的,

我是不可能有这样的神力的,我会躲得远远的。

后来,我仔细研读了 gandalf 的代码,居然能看懂。

我仿照和学习了 gandalf 的 GB  码处理方法,

作出了 UTF8 的支持,配合 vbe 图形支持,

构成了如今我们正在使用的国际化字符显示支持框架。

我看到 yaya 后来也对 vbe 图形代码作出了改进完善。

其他几位维护者或多或少也都参与了国际化字符显示支持的工作。

Roy 的技术相当高超,有点像目前的 wintoflash,当然他俩肯定不是同一人。我只是类比,可能不太恰当。Roy 在如何使用Linux和gcc工具来编译grub4dos 方面,有着深厚的功底。Roy 最能吸引大家注意力的方面,是实现了对于几种 dos kernel 的 chainloading 支持。他对 dos 非常熟练。有了 Roy,grub4dos 对于 dos 的支持才达到了一个艺术的高度,非常美妙。



回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-28 14:35

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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