无忧启动论坛
标题:
grub2代码的意思 启动菜单的配置文件中一段代码
[打印本页]
作者:
rbwrbw
时间:
2023-12-23 22:30
标题:
grub2代码的意思 启动菜单的配置文件中一段代码
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt7 --hint-efi=hd0,gpt7 --hint-baremetal=ahci0,gpt7 E0E9-6A2E
else
search --no-floppy --fs-uuid --set=root E0E9-6A2E
fi
谁能解释一下条件的意思??
两大分支的代码意思也差不多,区别在哪儿?欢迎高手论剑!!
作者:
hilsonma
时间:
2023-12-23 23:00
本帖最后由 hilsonma 于 2023-12-23 23:07 编辑
前者使用 --hint 后者没有使用 --hint
--hint 指定了找到多个分区的情况下的优先顺序
就适用于你之前的多esp的情况
作者:
hilsonma
时间:
2023-12-24 12:58
两个分支的区别就是用不用 --hint 参数,没有涉及uefi/legacy的区分。
grub2有一个变量叫 feature_platform_search_hint,这个变量的值为y时,--hint参数才起作用。
--hint参数的作用就是优先找 --hint指定的分区,你上面的例子中,加了平台的hint就是这个优先参数只适用于相应的平台。
解读你上面的例子就是:
如果 变量feature_platform_search_hint的值为y ,则
按uuid找分区 E0E9-6A2E,bios平台先找hd0,gpt7 ,efi平台先找hd0,gpt7 ,baremetal平台先找ahci0,gpt7 ,忽略软驱,找到的第一个分区设为root
否则
按uuid找分区 E0E9-6A2E,忽略软驱,找到的第一个分区设为root
再详细的解释我也不知道了,我也是看说明文档知道这些的,我自己比较少用这些复杂的。
作者:
nathan6498
时间:
2023-12-24 13:54
谢谢分享
作者:
pbmmm
时间:
2023-12-25 10:42
路过.....
作者:
zqfeng01
时间:
2023-12-25 11:36
谢谢分享
作者:
hilsonma
时间:
2023-12-25 13:32
在这个例子中,xy并不都是变量,xy都是常量,x是辅助常量,y是值
为提防变量为空(不存在),一般都会将变量加双引号或者加一个辅助常量,这个例子中,x就是这样的辅助常量。
x$feature_platform_search_hint = xy
当变量 feature_platform_search_hint 不存在时,这个表达式就变成 x=xy 当然结果就为假
如果没有辅助常量x,当变量 feature_platform_search_hint 不存在时,这个表达式就变成 =y 这个表达式是报错的
作者:
rbwrbw
时间:
2023-12-27 10:53
第一次听说辅助常量,平常没怎么用过!!
作者:
无犹启动
时间:
2024-1-29 08:40
谢谢分享
作者:
hehuiying
时间:
2024-4-18 13:02
谢谢分享
欢迎光临 无忧启动论坛 (http://wuyou.net/)
Powered by Discuz! X3.3