无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4062|回复: 29
打印 上一主题 下一主题

Grub4DOS_0.4.5A_2010.03.11 版问题

[复制链接]
跳转到指定楼层
1#
发表于 2010-3-12 18:38:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
试了Grub4DOS_0.4.5A_2010.01.08和Grub4DOS_0.4.5A_2010.01.23_Chenall版没问题,Grub4DOS_0.4.5A_2010.03.11_Chenall版无法引导PLPBT.BIN,下面是截图及菜单:

title                 [9] Debug On/USB2.0 Module.
clear
debug off
read 0x60110 || write 0x60110 2
checkrange 1 read 0x60110 && write 0x60110 0
read 0x60110 && write 0x60110 1
#read 0x60110 || debug off
#read 0x60110 || pause Debug is now off...
read 0x60110 || find --set-root /0PE/SRS/PLPBT.BIN
read 0x60110 || kernel /0PE/SRS/PLPBT.BIN
read 0x60110 && pause Debug is now on...
read 0x60110 && debug on
kernel || clear

2010-03-12_182953.png (6.97 KB, 下载次数: 31)

2010-03-12_182953.png

2010-03-12_183001.png (1.97 KB, 下载次数: 27)

2010-03-12_183001.png
2#
发表于 2010-3-12 20:36:52 | 只看该作者
我认为03的版改动是比较大的
回复

使用道具 举报

3#
发表于 2010-3-12 21:28:20 | 只看该作者
楼主最好pm下cheall,要不他不一定看到
回复

使用道具 举报

4#
发表于 2010-3-12 21:43:52 | 只看该作者
想确定新版的G4D不能启动PLPBT.BIN
只要一个语句。
kernel /plpbt.bin
如果启动失败,那就一定有问题了。

汗。

按这个菜单来看,逻辑有问题,根本就没有执行到kernel plpbt.bin的语句,当然出错了。

[ 本帖最后由 chenall 于 2010-3-12 21:48 编辑 ]
回复

使用道具 举报

5#
 楼主| 发表于 2010-3-12 22:32:26 | 只看该作者
回C大,菜单是0PE的菜单,这个我没动过,有没有问题也不是很清楚,但问题就在这里,因为03月份的版本改动都比较大,编程的东西我不会,我只能提交报告,同一个菜单其它都没动过,Grub4DOS_0.4.5A_2010.01.08版没问题,更新到新版就有问题了,只能说明G4D改动过了,不知道会不会是因为改的时候出来的BUG,还是别的问题。。。。

还有

http://bbs.wuyou.net/forum.php?m ... page%3D1&page=2

17楼的问题还是一样,没能解决。。。。。。。
回复

使用道具 举报

6#
发表于 2010-3-13 13:14:30 | 只看该作者
我可以确定的是新版启动PLPBT正常。

这个菜单你执行了几次,前面的菜单内容我不知道,但可以肯定的是,如果是第一次执行这个菜单根本就不可能启动PLPBT.BT。也许第二次应该就可以了,具体的原因,自己看一下GRUB4DOS的说明。。

如果以前的版本可以直接启动,那说明了是旧版GRUB4DOS出现了问题,新版本已经解决了。
回复

使用道具 举报

7#
发表于 2010-3-13 13:18:04 | 只看该作者
@chenall

kernel || clear

kernel 失败的时候,要执行 clear。可是,看贴图,却没有执行 clear,而是显示错误并结束。这是不对的。似乎 kernel 命令失败了却仍然返回了成功(非0的值)。或者 “||” 的逻辑处理部分出现了漏洞。
回复

使用道具 举报

8#
发表于 2010-3-13 13:20:25 | 只看该作者
至于另一个问题,原因可能是新版的磁盘仿真代码有变化(我一部份我没有动过,也不太清楚),使用新版的仿真然后再启动旧版的来访问可能就会出问题。反之应该就不会了。

你可以试试在ISO里面用新版GRUB4DOS。

然后使用旧版的GRUB4DOS仿真这个ISO启动看看有没有问题。。。
回复

使用道具 举报

9#
发表于 2010-3-13 13:22:18 | 只看该作者
原帖由 不点 于 2010-3-13 13:18 发表
@chenall

kernel || clear

kernel 失败的时候,要执行 clear。可是,看贴图,却没有执行 clear,而是显示错误并结束。这是不对的。似乎 kernel 命令失败了却仍然返回了成功(非0的值)。或者 “||” 的逻 ...


我倒没注意这一点,汗。

这是另外一个问题了。可能是我对|| &&修改时出现的问题。不过这个是以前改的。出问题也应该以前的版本就会这样了。

不使用后面不使用clear命令看起来就是正常的,只要是clear命令,才会这样。

[ 本帖最后由 chenall 于 2010-3-13 13:30 编辑 ]
回复

使用道具 举报

10#
 楼主| 发表于 2010-3-13 13:33:00 | 只看该作者
刚刚试了一下,只要把菜单里面的
kernel || clear
这一行去掉或只去掉kernel只留clear就可以了,为什么会这样呢????????
回复

使用道具 举报

11#
发表于 2010-3-13 13:40:32 | 只看该作者
原帖由 0cat0 于 2010-3-13 13:33 发表
刚刚试了一下,只要把菜单里面的
kernel || clear
这一行去掉或只去掉kernel只留clear就可以了,为什么会这样呢????????


这个其实也没有什么影响的。。。看图好像clear没有执行,其实是执行过了。。因为我在处理的时候忘了清除前一句命令的error值,所以导致clear执行后error值还是前一句的命令退出后就显示出这个错误来了。

不管有没有改变这个菜单至少要执行两次才可以进入plpbt.bin。
回复

使用道具 举报

12#
 楼主| 发表于 2010-3-13 13:43:20 | 只看该作者
不用执行两次呀,上个图,只要改成这样就能进去了。。。。。。。

2010-03-13_134202.png (7 KB, 下载次数: 24)

2010-03-13_134202.png
回复

使用道具 举报

13#
发表于 2010-3-13 13:49:53 | 只看该作者
那就是前面的菜单内容有对这个进行初始化过了。。我是说单单只有这一个菜单的情况下,如果不执行两次根本不可能启动plpbt.bin
回复

使用道具 举报

14#
 楼主| 发表于 2010-3-13 13:55:57 | 只看该作者
明白了,第一次执行是debug on,第二次才到plpbt.bin,不过不加kernel选择菜单的时候不能上下选择这个菜单了,只能按“9”才能选择这个菜单,看来kernel命令有问题吧?
回复

使用道具 举报

15#
 楼主| 发表于 2010-3-13 14:11:18 | 只看该作者
试了一下另外一个问题,只要用新版替换原来VEDE_CD.ISO里面的就正常了。。。
回复

使用道具 举报

16#
发表于 2010-3-13 14:29:54 | 只看该作者
原帖由 0cat0 于 2010-3-13 13:55 发表
明白了,第一次执行是debug on,第二次才到plpbt.bin,不过不加kernel选择菜单的时候不能上下选择这个菜单了,只能按“9”才能选择这个菜单,看来kernel命令有问题吧?


这是正常的。。。。

如果这个菜单没有启动命令,那这个菜单将不能使用上下键选择,可以用数字键或左右键选择。

你可以多看看GRUB4DOS的readme.
回复

使用道具 举报

17#
 楼主| 发表于 2010-3-13 14:34:16 | 只看该作者
多谢C大的指导,这就去看看要怎么改。。。。。。。。。
回复

使用道具 举报

18#
发表于 2010-3-13 15:22:02 | 只看该作者
原帖由 chenall 于 2010-3-13 13:40 发表


这个其实也没有什么影响的。。。看图好像clear没有执行,其实是执行过了。。因为我在处理的时候忘了清除前一句命令的error值,所以导致clear执行后error值还是前一句的命令退出后就显示出这个错误来了。

...


clear 不是清屏吗?怎么没有清除掉 kernel 显示的信息呢?
回复

使用道具 举报

19#
发表于 2010-3-13 15:22:31 | 只看该作者
早先菜单为
title [9] Debug On/Off.
第一次选中该菜单项,功能为设置debug为on,第二次选中该菜单项,功能为设置debug为off。
第三次为on...

后来菜单为
title [9] Debug On/USB2.0 Module.
第一次选中该菜单项,功能为设置debug为on,第二次选中该菜单项,功能为加载plpbt.bin。

后一个功能是后加的,因为不想引起其它菜单项编号的改变,就让两种功能共用一个菜单项了。

这个菜单在老版grub4dos里正常。从今年某时起的新版就有问题了。

问题正如不点说的,在kernel || clear处。新版grub4dos表现为菜单失控。

0PE新版绕过了该问题,但问题确实存在,新版在这点上的的处理不如旧版合理。
回复

使用道具 举报

20#
 楼主| 发表于 2010-3-13 15:37:37 | 只看该作者
我现在直接改成这样,正常了:

title                 [9] PLoP Boot Manager\n   Load /0PE/SRS/PLPBT.BIN
find --set-root /0PE/SRS/PLPBT.BIN
kernel /0PE/SRS/PLPBT.BIN

去掉了Debug开关了。。。。。。

[ 本帖最后由 0cat0 于 2010-3-13 15:40 编辑 ]
回复

使用道具 举报

21#
发表于 2010-3-13 17:13:18 | 只看该作者
原帖由 不点 于 2010-3-13 15:22 发表


clear 不是清屏吗?怎么没有清除掉 kernel 显示的信息呢?



呵呵,这应该是G4D处理的一个逻辑吧。不管程序返回值是什么,如果error的值不是0就会返回error信息。

执行clear时确实是清屏没错。

但是由于前面的error值还存在,而clear命令也没有处理error信息,执行完clear以后又返回了一个error的值就表现为上面的情况了。

如果clear清屏没有执行的话,前面应该还会有一个提示debuf on的信息的。

当然了好像还是有问题,改天我把这个改下在执行下一句命令之前设置error值为0,再试试。我还不太清楚这些内容,只是了解了一点。

[ 本帖最后由 chenall 于 2010-3-13 17:17 编辑 ]
回复

使用道具 举报

22#
发表于 2010-3-13 18:41:51 | 只看该作者
看了一下,似乎漏掉了一个赋值 errnum 的步骤:

                                if ((*p == '&' && ret) || (*p == '|' && ! ret))
                                {
+                        if ((int)builtin1 == -1 || ((builtin1->func) != errnum_func && (builtin1->func) != checkrange_func))
+                                errnum = 0;

                                        arg = skip_to (0, p);
                                }
回复

使用道具 举报

23#
发表于 2010-3-13 19:45:04 | 只看该作者
原帖由 不点 于 2010-3-13 18:41 发表
看了一下,似乎漏掉了一个赋值 errnum 的步骤:

                                if ((*p == '&' && ret) || (*p == '|' && ! ret))
                                {
+                        if ((i ...



是的,就是少了个步骤。因为其它命令大都有设置error值的过程,而clear没有所以就体现出来了。
回复

使用道具 举报

24#
 楼主| 发表于 2010-3-13 20:22:05 | 只看该作者
刚刚看到官方上面有13号的版本,试了一下,问题还没解决:

如下菜单,正常进入:




改成下面这样就出错了:

2010-03-13_202027.png (5.28 KB, 下载次数: 22)

2010-03-13_202027.png

2010-03-13_202033.png (1.97 KB, 下载次数: 22)

2010-03-13_202033.png
回复

使用道具 举报

25#
发表于 2010-3-13 20:27:50 | 只看该作者
这个问题由 chenall 来解决。我发布的版本是用来解决其它问题的。那些问题与这里讨论的问题无关。
回复

使用道具 举报

26#
 楼主| 发表于 2010-3-13 20:34:14 | 只看该作者
多谢不点大人,那还是等C大发布新版再试了,还有,参照P大的菜单,可以用:

errorcheck off
kernel
errorcheck on

来解决这个问题。。。。。。。。。
回复

使用道具 举报

27#
发表于 2010-3-13 21:15:24 | 只看该作者
2010-03-12的unifont外部命令有问题,中文都只显示半个字。
回复

使用道具 举报

28#
发表于 2010-3-13 22:01:04 | 只看该作者
原帖由 cfgs 于 2010-3-13 21:15 发表
2010-03-12的unifont外部命令有问题,中文都只显示半个字。


你用了旧版的GRUB4DOS?还是下载的文件不对?有没有截图?

另外这个只能用于菜单上的显示。
回复

使用道具 举报

29#
发表于 2010-3-14 08:53:07 | 只看该作者
原帖由 chenall 于 2010-3-13 22:01 发表


你用了旧版的GRUB4DOS?还是下载的文件不对?有没有截图?

另外这个只能用于菜单上的显示。


0309的没问题,都使用wqy-microhei-lite_0_U16字库(中文是双字节,0312版会不会使用了单字节)。
回复

使用道具 举报

30#
发表于 2010-3-15 21:00:05 | 只看该作者
我试了一切正常...

使用最新版G4D和UNIFONT试下.

注:要使用英文版的G4D,如果使用中文版的界面上可能会有一些乱码.
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-1 14:50

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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