无忧启动论坛

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

GRUB4DOS更新建议、bug反馈专帖

    [复制链接]
901#
发表于 2011-5-18 13:48:52 | 只看该作者

回复 #904 fdd_ds 的帖子

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

使用道具 举报

902#
 楼主| 发表于 2011-5-19 16:16:44 | 只看该作者
一直找不出下面的毛病,不知从什么时候开始出现这个错误:

注:(fd2)是标准软盘1.44M空盘。

手动FAT copy 正常
FAT是2011-04-22的版本。

[ 本帖最后由 zhaohj 于 2011-5-19 16:27 编辑 ]

Snap1.jpg (24.73 KB, 下载次数: 165)

Snap1.jpg

Snap2.jpg (52.92 KB, 下载次数: 152)

Snap2.jpg

Snap2.jpg (10.68 KB, 下载次数: 160)

Snap2.jpg
回复

使用道具 举报

903#
发表于 2011-5-19 16:43:38 | 只看该作者

回复 #906 zhaohj 的帖子

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

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

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

使用道具 举报

904#
 楼主| 发表于 2011-5-19 17:34:00 | 只看该作者
重新做了一遍P处理续尾,竟然全好了。这个问题忽略。

可能是fbinsttool续尾引起的错误。
回复

使用道具 举报

905#
 楼主| 发表于 2011-5-20 13:22:10 | 只看该作者
我认为,P处理的单步跟踪,用debug 3或以上的数字来启动单步跟踪比较好。
这样一个批处理,可以在批处理内部启动单步跟踪了。
比如debug 3单步跟踪,debug 4关闭单步跟踪。

现在纯用P处理,只有P处理内部再调用P处理才能做到。
回复

使用道具 举报

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

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



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

使用道具 举报

907#
发表于 2011-5-20 18:01:44 | 只看该作者
原帖由 chenall 于 2011-5-20 14:49 发表



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

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

使用道具 举报

908#
发表于 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也会开启调试模式。
回复

使用道具 举报

909#
 楼主| 发表于 2011-5-21 11:58:12 | 只看该作者
那上面关闭跟踪没有写。
在P处理中,比如有很大的循环操作,在开启跟踪的情况下想关闭这个跟踪。
另问一下,批处理单步跟踪过程中能转到命令行状态吗?

---------------
configfile /menu.lst
有一个需求,比如configfile (fd2)/menu.lst
菜单中执行了:
map --unmap=2
map --rehook
(fd2)没有了,想在menu.lst中重新加载这个菜单文件,也即reconfigfile
我知道这个菜单肯定在内存中,但不知道具体位置。
回复

使用道具 举报

910#
发表于 2011-5-21 12:00:22 | 只看该作者
就UD的问题我还是想问一下:
1、一般情况下如果从(ud)启动,当前盘应该是U盘的可见区。
2、如果找到了外置的menu.lst则当前盘就会转到menu.lst所在的盘。

以上两点第1点似乎是正确的,但第2点多数情况下是这样的,但在menu.lst在(ud)内时,可见区不放任何内容,当前盘还是可见区。这样就会导致“获得执行的menu.lst所在的盘就是当前盘”的说法出现了例外,我觉得是不可取的。

譬如我要达到如下效果:
   整体启动时,保证ISO总与menu.lst处于同一位置,这样这个菜单就相对简单了,启动时只要检测当前盘下是不是有这个ISO,也不用find命令满世界去找ISO了。
  如直接就用 if exist /%h3cd% 转整体启动,整体启动中只要用map --mem /%h3cd% (0xff) ,不用处理ISO是位于UD内还是可见区了。
回复

使用道具 举报

911#
 楼主| 发表于 2011-5-21 12:10:01 | 只看该作者
UD把当前盘指向可见区,主要是为了zip,即有些是(fd0),有些是(fd0,0)、(fd0,1)...

如果不想转到可见区,只要root (bd)就行。
回复

使用道具 举报

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

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


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

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

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

使用道具 举报

913#
发表于 2011-5-21 12:17:00 | 只看该作者
@hhh333
一般情况下你可以在菜单头加上
root (bd)
这样就保证当前root和菜单文件在同一磁盘上。
回复

使用道具 举报

914#
发表于 2011-5-21 12:25:14 | 只看该作者

回复 #917 chenall 的帖子

grldr中会默认如此处理吗?还是说“获得执行的menu.lst所在的盘就是当前盘”的说法本身就是错误的?
回复

使用道具 举报

915#
发表于 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)就可以保证不出问题
回复

使用道具 举报

916#
发表于 2011-5-21 18:23:44 | 只看该作者
http://code.google.com/p/grub4dos-chenall/
http://grub4dos-chenall.googleco ... .4.5b-2011-05-19.7z
发现这个版本会将menu.lst的title中的\自动去除,是bug or特意设置?
如:
title Boot From C:\my.iso
将显示为:
Boot From C: my.iso
感觉保持原样会比较好,便于user理解。
谢谢!

btw:以前一直用0.4.4之前的版本,感觉最新版加载ISO速度特别快,不知是错觉还是的确有优化过。

[ 本帖最后由 lforl 于 2011-5-21 18:26 编辑 ]
回复

使用道具 举报

917#
发表于 2011-5-21 19:59:40 | 只看该作者
修改为:
title Boot From C:\\my.iso
试试
回复

使用道具 举报

918#
发表于 2011-5-21 21:12:59 | 只看该作者
原帖由 zxw 于 2011-5-21 19:59 发表
修改为:
title Boot From C:\\my.iso
试试

测试可行,多谢指点!
这点是:跟之前的版本的差异。
回复

使用道具 举报

919#
发表于 2011-5-21 23:03:57 | 只看该作者

grldr pxe detect的菜单bug反馈

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及之前的版本没有这个问题。

即:
Grub4dos 0.4.4 2008-08-08及之前的版本pxe找boot/pxe/menu.lst/default,而现在的版本找/boot/pxe/boot/pxe/menu.lst/default,多叠加了一次启动目录。
回复

使用道具 举报

920#
发表于 2011-5-22 00:52:01 | 只看该作者
我记得把menu.lst改为了菜单文件名,/boot/pxe/下不能再用作目录了。置顶帖有0.4.5b的help教程,建议你看看。
你这是一个无效的bug报告,你的版本太旧了,有将近两年没有更新了吧。

[ 本帖最后由 2011_dihuo0 于 2011-5-22 01:06 编辑 ]
回复

使用道具 举报

921#
发表于 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及之前的 ...


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

使用道具 举报

922#
发表于 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的机器上。

不过没有找到原因。
回复

使用道具 举报

923#
发表于 2011-5-22 11:32:00 | 只看该作者
背景:
1.我用U盘启动一般是这样:U盘的第一区量产PE,第二分区U+其它PE,第三分区做可移动磁盘;
2.习惯我家电脑BIOS设定:第一启动为光盘(量产区PE),第二启动为硬盘-USB盘启动优先于本地硬盘,目的是当放弃第一启动0PE后转第二启动U+区的PE;、
3.当U盘量产的PE有easyboot菜单,并且有“从硬盘启动”选项,就可以顺利放弃第一启动,引导启动U盘U+区的PE,这样以后就不用重设BIOS了;因为默认第一启动可以是量产区PE,放弃第一启动后进入U+区PE,至于进入本机系统只要用前面任一PE引导系统文件即可实现。、
遇到的问题:
当我量产的PE没有easyboot菜单“从硬盘启动”功能时(如0PE只有单一的grub4dos启动方式),想进入U+区PE就必须重新设定BIOS,使USB硬盘启动顺序优先于量产区CDROM,请教版主:GRUB4DOS命令如何实现easyboot菜单“从硬盘启动”功能?使我从量产区GRUB4DOS菜单的PE直接转到启动U+区PE,而不需要重新设定BIOS?
     “感觉”GRUB4DOS引导启动PE都是要找到PE启动文件,并不是放弃其本身功能而利用BIOS,这样当第一启动失败后自动转到第二启动,这样就很方便实现量产区PE转换到U+区PE的启动,不用很麻烦的根据U+区PE不同而写GRUB4DOS菜单,这不知到这个感觉对不?、
     如果以上“感觉”正确,建议GRUB4DOS完善“放弃”功能,让BIOS本身决定下一个启动方式是什么。
回复

使用道具 举报

924#
发表于 2011-5-22 13:05:23 | 只看该作者
学习中解谢谢楼主了,哈
回复

使用道具 举报

925#
发表于 2011-5-22 20:35:38 | 只看该作者
原帖由 chenall 于 2011-5-22 09:44 发表


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

不过没有找到原因。


测试版本:grub4dos-0.4.5b-2011-05-19, VMware

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及之前的版本没有这个问题。

即:
Grub4dos 0.4.4 2008-08-08及之前的版本pxe找boot/pxe/menu.lst/default,而现在的版本找/boot/pxe/boot/pxe/menu.lst/default,多叠加了一次启动目录。



grldr放在(tftproot)/boot/pxe目录,而不是tftp根目录;(tftproot)/boot/pxe/menu.lst/是目录而不是文件,下面放了文件名为default的菜单文件。
dhcp option 67: /boot/pxe/grldr,pxe客户端tftp下载(tftproot)/boot/pxe/grldr启动。
就会出现上问题,在VMware和真实PC都一样。

我测试过的2009年初之后的版本,都存在这个问题,所以我一直在用2008年的版本,望大侠修正。


从抓到包分析来看,我觉得原因大致是
在找到/boot/pxe/menu.lst/default后,去读取该文件时,读成了/boot/pxe/boot/pxe/menu.lst/default文件

大致可能是:找到的/boot/pxe/menu.lst/default为一个字符串变量,在前面加了(pd),便成了(pd)/boot/pxe/menu.lst/default
而(pd)本身是(tftproot)/boot/pxe,所以就成了(tftproot)/boot/pxe/boot/pxe/menu.lst/default,
不知我有没有猜对。
如果猜对,只需将/boot/pxe/menu.lst/default这个字符串变量前面截去pxe basedir长度或长度-1个字符就可以了,
或者,此时将pxe basedir改为tftp根目录。

[ 本帖最后由 2011exuejiao 于 2011-5-22 21:38 编辑 ]

引导过程.rar

77.84 KB, 下载次数: 10

引导过程界面与抓包

回复

使用道具 举报

926#
发表于 2011-5-22 20:47:03 | 只看该作者
原帖由 2011_dihuo0 于 2011-5-22 00:52 发表
我记得把menu.lst改为了菜单文件名,/boot/pxe/下不能再用作目录了。置顶帖有0.4.5b的help教程,建议你看看。
你这是一个无效的bug报告,你的版本太旧了,有将近两年没有更新了吧。



我们需要根据不同的MAC地址或IP地址,出现不同的菜单,所以一直在用2008年的版本。
回复

使用道具 举报

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

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

使用道具 举报

928#
发表于 2011-5-23 14:55:15 | 只看该作者
原帖由 chenall 于 2011-5-23 09:45 发表
@2011exuejiao
新的版本一样是可以根据不同的MAC地址或IP地址出现不同菜单的呀。难道????
你可以先测试一下把GRLDR放在根目录。看看是否和旧版本一样。

我可能要晚上才有时间抽空看一下代码。另外你的 ...


grldr放在tftp根目录:旧版本和新版本都没问题。
grldr放在tftp下面的其他目录:旧版本没问题,新版本有问题。
回复

使用道具 举报

929#
发表于 2011-5-23 16:44:03 | 只看该作者
还没有说你用什么软件,我的测试还是正常的。

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

123.png
回复

使用道具 举报

930#
发表于 2011-5-23 16:57:22 | 只看该作者
再试了几次发现问题了,

我看看先。

麻烦试试这个看看。

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

grldr_test.zip

139.9 KB, 下载次数: 12

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-2-17 21:58

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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