中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: grldr不首先搜索当前设备上的menu.lst 上一主题 | 下一主题
yaya
银牌会员





积分 1009
发帖 353
注册 2003-9-4
状态 离线
『楼 主』:  grldr不首先搜索当前设备上的menu.lst

硬盘上有一个menu.lst文件,当用u盘启动时,grldr总是打开硬盘上的menu.lst,除非删除硬盘各分区根目录上的menu.lst,否则不会打开u盘上的menu.lst.
看来grldr不是首先搜索当前设备上的menu.lst,而是首先搜索第一硬盘各分区的menu.lst.
怎样才能使当前设备上的menu.lst发挥正常作用?

[ Last edited by yaya on 2008-9-12 at 08:42 AM ]

2008-9-8 13:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zw2312914
初级用户





积分 39
发帖 16
注册 2007-2-19
状态 离线
『第 2 楼』:  

grub4dos (grub.exe和grldr略有不同)对配置菜单的搜索顺序是:
grldr首先搜索当前盘根目录,然后是按硬盘顺序搜索各分区根目录。然后是软盘。
最后,如果都没搜索到,将采用内置菜单的搜索项。

默认的内置菜单搜索项不搜索软盘,搜索顺序是:
默认盘根目录,然后是/boot/grub目录,然后是/grub目录, (补充:启动前未指定root,默认设备将是(hd0,0),也即c 盘)

最终还没找到就启动到命令行。


楼主的问题应该是menu.lst没放在U盘的根目录。
因此,参照上面的顺序,楼主U盘的menu.lst只要放在U盘根目录就可以被首先找到。
如果楼主不想改变menu.lst现在的存放位置,解决的方法是把硬盘各根目录上的menu.lst改名,同时修改下内置菜单即可。

(grub.exe,只搜索当前目录和当前盘根目录然后就是内置菜单,所以对于grub.exe只要把配置菜单放在和他相同目录就可以首先被找到.)

[ Last edited by zw2312914 on 2008-9-12 at 05:57 PM ]

2008-9-8 16:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yaya
银牌会员





积分 1009
发帖 353
注册 2003-9-4
状态 离线
『第 3 楼』:  

硬盘的menu.lst在c:\boot\grub,u盘的menu.lst在根目录.加载的是硬盘的menu.lst.

[ Last edited by yaya on 2008-9-8 at 04:46 PM ]

2008-9-8 16:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zw2312914
初级用户





积分 39
发帖 16
注册 2007-2-19
状态 离线
『第 4 楼』:  

对不起,我上面说的内置菜单的搜索顺序说得不严谨。(已修改)

我又看了下默认的内置菜单。发现内置菜单的写法是 /menu.lst 这样的形式,缺少了 (...) ,也就是说他没带设备名。而没带设备名时,如果grub4dos启动前没有指定root的话,启动后默认的设备是(hd0,0),即c:盘。

所以实际上对于grldr来说,默认的内置菜单搜索的还是c盘。

[ Last edited by zw2312914 on 2008-9-8 at 05:39 PM ]

2008-9-8 17:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zw2312914
初级用户





积分 39
发帖 16
注册 2007-2-19
状态 离线
『第 5 楼』:  

很明显,楼主是通过了内置菜单才找到配置文件的。
所以参考上一楼,你可以修改内置菜单,在/menu.lst 这样形式的路径前,添加(),即: ()/menu.lst

()代表当前盘。


to 不点
原来就看到过有人说找不到配置菜单(特别是U盘用户),很可能也是因为默认的内置菜单没加(),从而在c盘搜索了。

所以建议不点考虑把默认内置菜单搜索路径前都加上().

[ Last edited by zw2312914 on 2008-9-8 at 05:41 PM ]

2008-9-8 17:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 6 楼』:  

内置的菜单是没问题的。

/menu.lst 和 ()/menu.lst 是等价的,除非用 root (...)/.../.../.../ 的方式定义了相对路径,两者才不同。

楼主没说使用的版本。最新版(8月3日以后的版本,参见8月3日的更动说明)在这方面又有了加强。感觉这个问题不严重,某位网友曾经说了他是如何对付(解决)这一问题的。抱歉这里不能详谈。

[ Last edited by 不点 on 2008-9-8 at 06:34 PM ]



因为我们亲手创建,这个世界更加美丽。
2008-9-8 18:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yaya
银牌会员





积分 1009
发帖 353
注册 2003-9-4
状态 离线
『第 7 楼』:  

我使用2008.8.14版本。
由于u盘被设备为软盘(分配a:盘符),需搜索软盘,所有删除了内置菜单中的"--ignure-floppies"。
从内置菜单看,是首先搜索/menu.lst ,再搜索/boot/grub/menu.lst ,最后搜索/grub/menu.lst 。
以搜索/boot/grub/menu.lst 为例,首先搜索硬盘个分区,再搜索软盘。如果硬盘和软盘都存在/boot/grub/menu.lst ,那么一定是加载硬盘的menu.lst。
解决办法:
    1.更改u盘menu.lst名称,如menu.txt,同时更改grldr内置菜单(在最后面);
    2.或者更改u盘menu.lst的存放目录,如/boot/menu.lst,同时更改grldr内置菜单(只保留1个相应目录,其他删除)。
用u盘制作启动维护盘,并不知被维护的电脑安装了grub4dos没有,menu.lst放在何处,因此建议不点考虑,首先搜索当前引导设备上的menu.lst。

[ Last edited by yaya on 2008-9-19 at 09:20 AM ]

2008-9-9 11:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: