无忧启动论坛

标题: wintoflash的grub2如何保存默认启动项? [打印本页]

作者: Climbing    时间: 2021-4-17 21:04
标题: 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命令写入两个环境变量后的模板文件。


grubenv0.zip

147 Bytes, 下载次数: 9, 下载积分: 无忧币 -2

空模板

grubenv1.zip

167 Bytes, 下载次数: 13, 下载积分: 无忧币 -2

两个环境变量模板


作者: 江南一根葱    时间: 2021-4-17 21:22
这个功能我用得最多,出魔入化,应该是这个吧
set default=xxxx
save_env -f /boot/default default
我的diygrubfm就是用的这个
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1
作者: 嘉秋秋    时间: 2021-4-17 21:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: Climbing    时间: 2021-4-17 22:02
楼上这个“嘉秋秋”是混ID的,鉴定完毕。

最佳答案给3楼,本来应该是2楼,但他没提load_env的事,相当于话只说了半截,完整答案:
保存默认启动项:
set default=N
save_env -f /boot/default default

读取默认启动项:
load_env -f /boot/default default

不过,我还要试一下,还没经过实践检验。
作者: Climbing    时间: 2021-4-18 00:22
经过试验,发现这个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命令写入两个环境变量后的模板文件。


grubenv1.zip

167 Bytes, 下载次数: 2, 下载积分: 无忧币 -2

两个环境变成

grubenv0.zip

147 Bytes, 下载次数: 1, 下载积分: 无忧币 -2

空的


作者: 朱玛12345678    时间: 2021-4-18 00:25
嘉秋秋 发表于 2021-4-17 21:50
谢谢楼主的分享,辛苦了。

机发大量无意义回帖浪费论坛服务器资源,此ID作禁言处理。
作者: 江南一根葱    时间: 2021-4-18 10:09
文要对题啊,你问的是保存默认启动项,还有savedefault没说要载入默认启动项,
而且我菜单本身支持被savedefault,也就是说,我的菜单和env是同一个文件
这个我常用来保存路径,还用来保存到ipxe脚本里,曾经被我玩坏了。

最初我在菜单本身加了# GRUB Environment Block,所以不需要load_env



作者: zhjsn    时间: 2021-4-18 10:57
good
作者: Climbing    时间: 2021-4-18 12:47
匿名者 发表于 2021-4-18 11:29
windows下也有grub-editenv的。

文件头既可以是 "# GRUB Environment Block" 也可以是 "#!ipxe        ...

首先感谢你补充了相关的资料。

问题是我对grub2并不熟悉啊,从google中搜索到的只有Linux下的资料。

真的,你在中文区域搜索,基本上没有什么完整的答案的。




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3