|
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 |
|