战雨灾 发表于 2014-11-5 10:26:02

问下grub2的grub.cfg搜索顺序

我在移动硬盘第一个分区安装grub2(UEFI),并有grub.cfg,
第二个分区后来又装了archlinux,在第二个分区生成了另一个grub.cfg
现在启动的话就显示第二个分区的archlinux生成的菜单
search file的顺序不是从第一个开始的吗?
怎么在保持生成的grub.cfg情况下加载我定制的文件呢?

战雨灾 发表于 2014-11-7 22:31:38

ludun 发表于 2014-11-6 09:49
你现在应该清楚是从你定制的Grub2启动电脑,还是从那个archlinux安装的grub2启动的电脑。
一般后安装的系 ...

是从定制的grub2,uefi方式启动
archlinux里的grub2只是用来生成grub.cfg作参考,而且也只安装了bios版本

ludun 发表于 2014-11-6 09:49:54

你现在应该清楚是从你定制的Grub2启动电脑,还是从那个archlinux安装的grub2启动的电脑。
一般后安装的系统会覆盖掉第一次安装的启动信息,你可以重新安装一下你定制的引导文件。

ludun 发表于 2014-11-8 21:42:17

现在的默认引导是第二分区,你可以修改第二分区的Grub.cfg,让他出现菜单,例如:
menuentry "启动Uefi系统" --class windows --class os {
这里指向第一分区的CFG
}
menuentry "【02】显示U盘软件区" --class windows --class os {
这里指向第二分区的grub1.cfg
}
让后另存。
第二分区的GRUB.CFG改名为GRUB2.CFG。
只是提供一种思路。看你的能力了。

战雨灾 发表于 2014-11-8 22:58:59

ludun 发表于 2014-11-8 21:42
现在的默认引导是第二分区,你可以修改第二分区的Grub.cfg,让他出现菜单,例如:
menuentry "启动Uefi系 ...

我的想法是不改生成的grub.cfg,在内置的配置里加入定制的grub.cfg(改名)的加载,没有的话再加载默认的
----
就是好奇search的搜索顺序,active的也是第一个分区啊,难道是倒序?!。。。

ludun 发表于 2014-11-8 23:20:53

你在Grub中测试一下,搜索到的是哪一个设备,具体能搜到哪一个设备,谁是第一个。

ludun 发表于 2014-11-8 23:25:49

本帖最后由 ludun 于 2014-11-8 23:27 编辑

试了一下,结果如图。
搜索的结果是第二个分区在前面。

战雨灾 发表于 2014-11-8 23:27:34

ludun 发表于 2014-11-8 23:20
你在Grub中测试一下,搜索到的是哪一个设备,具体能搜到哪一个设备,谁是第一个。

搜索结果有3个,
hd0,msdos2
hd0,msdos2
hd0,msdos1
ls出来的结果分区顺序也是反着的。。。

wuyu12315 发表于 2014-12-8 23:17:26

my9823 发表于 2014-12-9 09:47:14

重新定制,指定菜单名为其他名字

战雨灾 发表于 2014-12-9 20:50:51

my9823 发表于 2014-12-9 09:47
重新定制,指定菜单名为其他名字

更改文件名,想想还是觉得不爽
我现在的解决方法是去掉 mbr 里 ext 的支持

PS:还有其它想到的办法
更改分区顺序,既然是反着搜,那我的分区也反着排好了
search有 hint 参数,不过貌似得加模块
页: [1]
查看完整版本: 问下grub2的grub.cfg搜索顺序