无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 5658|回复: 8

[求助] wintoflash的grub2如何保存默认启动项?

[复制链接]
发表于 2021-4-17 21:04:32 | 显示全部楼层 |阅读模式
本帖最后由 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, 下载次数: 7, 下载积分: 无忧币 -2

空模板

grubenv1.zip

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

两个环境变量模板

发表于 2021-4-17 21:22:57 | 显示全部楼层
这个功能我用得最多,出魔入化,应该是这个吧
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:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2021-4-17 22:02:55 | 显示全部楼层
楼上这个“嘉秋秋”是混ID的,鉴定完毕。

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

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

不过,我还要试一下,还没经过实践检验。
回复

使用道具 举报

 楼主| 发表于 2021-4-18 00:22:58 | 显示全部楼层
经过试验,发现这个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

空的

回复

使用道具 举报

发表于 2021-4-18 00:25:01 | 显示全部楼层
嘉秋秋 发表于 2021-4-17 21:50
谢谢楼主的分享,辛苦了。

机发大量无意义回帖浪费论坛服务器资源,此ID作禁言处理。
回复

使用道具 举报

发表于 2021-4-18 10:09:36 | 显示全部楼层
文要对题啊,你问的是保存默认启动项,还有savedefault没说要载入默认启动项,
而且我菜单本身支持被savedefault,也就是说,我的菜单和env是同一个文件
这个我常用来保存路径,还用来保存到ipxe脚本里,曾经被我玩坏了。

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


回复

使用道具 举报

发表于 2021-4-18 10:57:41 | 显示全部楼层
good
回复

使用道具 举报

 楼主| 发表于 2021-4-18 12:47:39 | 显示全部楼层
匿名者 发表于 2021-4-18 11:29
windows下也有grub-editenv的。

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

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

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

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

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-3-29 03:07

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表