无忧启动论坛

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

GRUB4DOS更新建议、bug反馈专帖

    [复制链接]
301#
发表于 2011-5-18 11:44:35 | 显示全部楼层
原帖由 fdd_ds 于 2011-5-18 10:21 发表
弱弱的问下:

在有多个(hd)设备时,需要让 find 在指定查找范围,该何编写?谢谢!

例如:

--------仅在(hd2)下查找/xxx/123.123    即:分区号不定; 类似:find (hd2,?)/xxx/123.123

--------仅 ...


目前不支持,也许以后会支持。

http://bbs.znpc.net/viewthread.php?tid=6098&extra=page%3D2
回复

使用道具 举报

302#
发表于 2011-5-18 13:48:52 | 显示全部楼层

回复 #904 fdd_ds 的帖子

这个"唯一存在"我的理解有N种,GRUB4DOS无法直接处理“唯一存在”
你只能自己想办法解决。
回复

使用道具 举报

303#
发表于 2011-5-19 16:43:38 | 显示全部楼层

回复 #906 zhaohj 的帖子

这个你应该把这么长的语句拆开,看看是执行哪一个FAT命令出错了。

另外有可能是因为你的命令太长了,后面的被截断了,所以产生这个错误((6) The path name format is invalid )

建议不要使用太长的命令行。很容易出错,也不容易定位出错的地方。
回复

使用道具 举报

304#
发表于 2011-5-20 14:49:23 | 显示全部楼层
原帖由 zhaohj 于 2011-5-20 13:22 发表
我认为,P处理的单步跟踪,用debug 3或以上的数字来启动单步跟踪比较好。
这样一个批处理,可以在批处理内部启动单步跟踪了。
比如debug 3单步跟踪,debug 4关闭单步跟踪。

现在纯用P处理,只有P处理内部再 ...



这个以后如果有更新再处理吧,或者你可以发短信给ROY,让它下次更新的时候顺便改一下。
回复

使用道具 举报

305#
发表于 2011-5-20 19:32:46 | 显示全部楼层
原帖由 2010roytam1 于 2011-5-20 18:01 发表

批處理的部份我不熟,應該做不了,但提交補丁的話可以幫你放上 svn 。



这个修改比较简单,若是要让debug 3的时候才启动调试只要按如下修改
找到
if (debug_ori > 1)

改成
if (debug_ori > 1 || debug == 3  )

这个固定了等于3的时候才开启调试,当然了如果在批处理启动之前使用了debug on也会开启调试模式。
回复

使用道具 举报

306#
发表于 2011-5-21 12:16:03 | 显示全部楼层
原帖由 zhaohj 于 2011-5-21 11:58 发表
那上面关闭跟踪没有写。
在P处理中,比如有很大的循环操作,在开启跟踪的情况下想关闭这个跟踪。
另问一下,批处理单步跟踪过程中能转到命令行状态吗?

---------------
configfile /menu.lst
有一个需求 ...


在单步跟踪的情况下按'c'可以进入命令行,按esc返回。

没有关闭的功能,算了,这些不是很重要,我觉得没有必要为这些去浪费代码空间。

configfile 这个我也不清楚,位置应该不是固定的。你可以自己研究一下configfile_func的执行过程也行能发现什么。
回复

使用道具 举报

307#
发表于 2011-5-21 12:17:00 | 显示全部楼层
@hhh333
一般情况下你可以在菜单头加上
root (bd)
这样就保证当前root和菜单文件在同一磁盘上。
回复

使用道具 举报

308#
发表于 2011-5-21 12:48:55 | 显示全部楼层
原帖由 hhh333 于 2011-5-21 12:25 发表
grldr中会默认如此处理吗?还是说“获得执行的menu.lst所在的盘就是当前盘”的说法本身就是错误的?



"获得执行的menu.lst所在的盘就是当前盘"这个说法不一定是正确的,但可以说一般情况下是正确的。

因为内置菜单使用了类似如下的语句,所以肯定也是当前盘。
find --set-root /menu.lst

如果是直接执行configfile (hd0,0)/menu.lst并不能保证当前盘是(hd0,0)
但是只要你在菜单头加上root (bd)就可以保证不出问题
回复

使用道具 举报

309#
发表于 2011-5-22 09:34:20 | 显示全部楼层
原帖由 2011exuejiao 于 2011-5-21 23:03 发表
dhcp option 67: /boot/pxe/grldr

目前版本中,/boot/pxe/menu.lst/default菜单无法显示,而需要将default菜单放至/boot/pxe/boot/pxe/menu.lst/目录中才能正常显示。

Grub4dos 0.4.4 2008-08-08及之前的 ...


这个我下午再抽空测试一下。
回复

使用道具 举报

310#
发表于 2011-5-22 09:44:08 | 显示全部楼层
原帖由 2011exuejiao 于 2011-5-21 23:03 发表
dhcp option 67: /boot/pxe/grldr

目前版本中,/boot/pxe/menu.lst/default菜单无法显示,而需要将default菜单放至/boot/pxe/boot/pxe/menu.lst/目录中才能正常显示。

Grub4dos 0.4.4 2008-08-08及之前的 ...


你的测试环境是什么?我刚刚用虚拟机测试一切正常,我记得之前也有类似的情况是在一台DELL的机器上。

不过没有找到原因。
回复

使用道具 举报

311#
发表于 2011-5-23 09:45:48 | 显示全部楼层
@2011exuejiao
新的版本一样是可以根据不同的MAC地址或IP地址出现不同菜单的呀。难道????
你可以先测试一下把GRLDR放在根目录。看看是否和旧版本一样。

我可能要晚上才有时间抽空看一下代码。另外你的TFTP服务器是什么的?和TFTP服务端可能也有关系。
回复

使用道具 举报

312#
发表于 2011-5-23 16:44:03 | 显示全部楼层
还没有说你用什么软件,我的测试还是正常的。

123.png (6.67 KB, 下载次数: 136)

123.png
回复

使用道具 举报

313#
发表于 2011-5-23 16:57:22 | 显示全部楼层
再试了几次发现问题了,

我看看先。

麻烦试试这个看看。

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

grldr_test.zip

139.9 KB, 下载次数: 12, 下载积分: 无忧币 -2

回复

使用道具 举报

314#
发表于 2011-5-23 19:18:53 | 显示全部楼层
@2011exuejiao
能用我就更新上传了,确实就是你上面所说的问题。以后的版本就不会有这样的问题了。
谢谢你的详细报告,又解决了一个BUG.
回复

使用道具 举报

315#
发表于 2011-5-24 14:52:55 | 显示全部楼层

回复 #938 zxw 的帖子

晚上在研究一下...

另外准备把批处理的调试模式修改一下,以前是debug on的时候就开启调试。

发现这样子有时候会有些麻烦。

前面已经有改过一次了,在批处理内部debug 3也可以开启。

我考虑了一下,觉得按zhaohj前面的方案也是个不错的选择。
((debug_ori == 3 || debug == 3) && (debug != 4))
debug_ori是执行批处理前的debug值。
即如果在执行批处理前的debug 值等于3或者当前的debug值等于3并且debug的值不等于4的时候才会进入调试模式。

另外在调试模式中可以按'C键'进入命令行,按'n'键可以中止脚本.
回复

使用道具 举报

316#
发表于 2011-5-24 16:32:57 | 显示全部楼层

回复 #940 jianliulin 的帖子

这个不行,我也没有那个精力去搞这些了。
等别人出手
回复

使用道具 举报

317#
发表于 2011-5-24 16:34:13 | 显示全部楼层

回复 #941 zxw 的帖子

debug 4暂定为临时停用批处理调试模式。没有其它用途(但还是属于debug on)

[ 本帖最后由 chenall 于 2011-5-24 19:04 编辑 ]
回复

使用道具 举报

318#
发表于 2011-5-24 19:29:57 | 显示全部楼层
尝试修复cat 的问题。麻烦测试一下。

还有修改了前面的批处理调试模式的设定。

[ 本帖最后由 chenall 于 2011-5-25 00:43 编辑 ]
回复

使用道具 举报

319#
发表于 2011-5-24 20:59:45 | 显示全部楼层

回复 #945 zxw 的帖子

应该算是正常的,因为超过的部份都是\0的。
回复

使用道具 举报

320#
发表于 2011-5-24 21:06:44 | 显示全部楼层
我是说你不应该找\0
比如长度是9,因为每次读取的是16字节,那就会把后面的部份清0.

即9以上的都是会\0.

也许你可能觉得很难理解。再考虑看看有什么比较好的方法
回复

使用道具 举报

321#
发表于 2011-5-24 21:29:51 | 显示全部楼层

回复 #949 zxw 的帖子

唉,没有学过算法,现在的cat查找效率还是很低的。

我先找找资料,看看有没有什么好的办法。
回复

使用道具 举报

322#
发表于 2011-5-25 00:44:18 | 显示全部楼层
重新上传了一个,麻烦多情况测试一下,如果没有什么大的问题就先这样子了,以后再考虑改进。

grldr.rar

128.8 KB, 下载次数: 13, 下载积分: 无忧币 -2

回复

使用道具 举报

323#
发表于 2011-5-25 12:37:57 | 显示全部楼层

回复 #954 zhaohj 的帖子

这个不影响使用吧,其实在configfile (rd)+1的时候是还没有扩展的。要等到执行的时候才会扩展。

因为菜单支持扩展,所以在菜单显示的时候就会进行扩展了(但只针对菜单的显示),使用菜单的编辑功能其实这个也算是另一种菜单。
回复

使用道具 举报

324#
发表于 2011-5-26 17:49:24 | 显示全部楼层

回复 #961 zhaohj 的帖子

抱歉,我没有看明白。
回复

使用道具 举报

325#
发表于 2011-5-26 23:45:44 | 显示全部楼层

回复 #965 blithewind 的帖子

这个不能确定是GRUB4DOS新版的问题吧,而且官方是不推荐用UltraISO修改ISO。
回复

使用道具 举报

326#
发表于 2011-5-27 00:48:33 | 显示全部楼层

回复 #967 blithewind 的帖子

你可以再试几次,如果说因为修改了ISO的内容而出现这种情况,基本上是没有办法确定问题原因。

另外你可以在命令行下加载字体看看提示,很有可能是字体文件出错了。

当然了你也可以提供一个最小化版的可以重现该错误的ISO,以供测试。这样比较容易定位问题。
回复

使用道具 举报

327#
发表于 2011-5-27 15:43:55 | 显示全部楼层

回复 #975 jianliulin 的帖子

嗯,这个我会看一下。
回复

使用道具 举报

328#
发表于 2011-5-27 15:56:22 | 显示全部楼层
@blithewind
我试了一下,我不知道你是如何引导GRLDR的,但是问题不在于GRLDR。而在于引导的程序。可能它没有完整的加载到GRLDR。

我试了进入命令行之后再次chainloader /wuyou它就正常了。

也许是ultraiso在保存的时候触发了什么东西,记得之前论坛上有人提供了一个ultraiso的什么补丁,你可以试一下也许就可以解决了。
回复

使用道具 举报

329#
发表于 2011-5-27 18:05:06 | 显示全部楼层
原帖由 jianliulin 于 2011-5-27 09:39 发表
grldr 引导buldr

当 root 为ud时进入buldr后将会丢失(boot) 即ud,但root为(hdx) 或者(hdx,y) 时候正常。


试试这个看看是否正常。

对于buldr应该kernel/chainloader都可以启动,你可以两种都试一下。

grldr_test.rar

128.82 KB, 下载次数: 15, 下载积分: 无忧币 -2

回复

使用道具 举报

330#
发表于 2011-5-28 15:30:58 | 显示全部楼层
这个是源用cmd的设计,为了避免自己在写批处理时出现混乱,所以保持和CMD的语法一致。

而且执行速度也比较快。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-8 10:59

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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