wintoflash的grub2如何保存默认启动项?
本帖最后由 Climbing 于 2021-4-18 00:29 编辑在grub4dos下有一个savedefault命令,配合defaut /boot/defaut命令(或者说直接修改/boot/default文件)就可以有菜单外定制默认启动项。
请问wintoflash的grub2有没有类似的功能,我翻了好多人的示例菜单,貌似没有人解决这个问题,大部分都是在菜单文件里(grub.cfg)用set default=?来设置。
另外,GRUB4DOS UEFI版是否兼容grub4dos,继承了savedefault这个功能?【补充:】经测试,grub4dos UEFI版继续了savedefault的功能。
【2021年4月18日 00:23:32】继续补充关于grub2的相关答案:
首先,grub2保存环境变量的默认文件是/boot/grub/grubenv。
保存默认启动项:
set default=N
save_env default或 save_env -f /boot/grubenv default
读取默认启动项:
load_env default或 load_env -f /boot/grubenv default
经过试验,发现这个save_env要保存的grubenv文件不是随便一个文件就可以的,它也是有格式上的要求的,而且,跟Grub4dos的default文件不同。首先,它要求是一个1024字节的文件。然后文件头应该还有一行:
# GRUB Environment Block这一行下面就保存的环境变量,例如:
default=1
然后再下面用#号填充到1024字节。
附件中我上传了两个grubenv文件,v0是使用Ubuntu下的grub-editenv grubenv create创建的空模板文件。v1则是使用grub-editenv grubenv set命令写入两个环境变量后的模板文件。
这个功能我用得最多,出魔入化,应该是这个吧
set default=xxxx
save_env -f /boot/default default
我的diygrubfm就是用的这个
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=420722&extra=page%3D1 楼上这个“嘉秋秋”是混ID的,鉴定完毕。
最佳答案给3楼,本来应该是2楼,但他没提load_env的事,相当于话只说了半截,完整答案:
保存默认启动项:
set default=N
save_env -f /boot/default default
读取默认启动项:
load_env -f /boot/default default
不过,我还要试一下,还没经过实践检验。 经过试验,发现这个save_env要保存的文件不是随便一个文件就可以的(默认位置在/boot/grub/grubenv),它也是有格式上的要求的,而且,跟Grub4dos的default文件不同。首先,它要求是一个1024字节的文件。然后文件头应该还有一行:
# GRUB Environment Block这一行下面就保存的环境变量,例如:
default=1
然后再下面用#号填充到1024字节。
附件中我上传了两个grubenv文件,v0是使用Ubuntu下的grub-editenv grubenv create创建的空模板文件。v1则是使用grub-editenv grubenv set命令写入两个环境变量后的模板文件。
嘉秋秋 发表于 2021-4-17 21:50
谢谢楼主的分享,辛苦了。
机发大量无意义回帖浪费论坛服务器资源,此ID作禁言处理。 文要对题啊,你问的是保存默认启动项,还有savedefault没说要载入默认启动项,{:1_201:}
而且我菜单本身支持被savedefault,也就是说,我的菜单和env是同一个文件
这个我常用来保存路径,还用来保存到ipxe脚本里,曾经被我玩坏了。
最初我在菜单本身加了# GRUB Environment Block,所以不需要load_env
good 匿名者 发表于 2021-4-18 11:29
windows下也有grub-editenv的。
文件头既可以是 "# GRUB Environment Block" 也可以是 "#!ipxe ...
首先感谢你补充了相关的资料。
问题是我对grub2并不熟悉啊,从google中搜索到的只有Linux下的资料。
真的,你在中文区域搜索,基本上没有什么完整的答案的。https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif
页:
[1]