无忧启动论坛

标题: 请问下wintoflash修改的grub2说明文件在哪里? [打印本页]

作者: liuzhaoyzz    时间: 2020-4-6 09:17
标题: 请问下wintoflash修改的grub2说明文件在哪里?
本帖最后由 liuzhaoyzz 于 2020-5-11 08:56 编辑

我记得有个详细的修改之后的用法说明,怎么找不到了?



编辑之后:

GRUB 2 中文手册 | a1ive@github https://a1ive.github.io/grub2_zh.html





作者: wintoflash    时间: 2020-4-6 10:41
https://github.com/a1ive/grub
你把网页拉到最下面有个 Manual。
作者: liuzhaoyzz    时间: 2020-4-6 10:48
哦,谢谢!  https://a1ive.github.io/grub2_zh.html
作者: Climbing    时间: 2020-4-6 17:38
wintoflash 发表于 2020-4-6 10:41
https://github.com/a1ive/grub
你把网页拉到最下面有个 Manual。

你这说明只是一个命令列表,还有没有其他的说明文件?我主要是指安装以及与grub4dos的互动。

最好如同Grub4dos那样提供一个经典的grub.cfg文件,在里面演示常用的高级用法,尤其是新增命令的用法。

当然,也可能已经有了,我只是不知道在哪里。

我在笔记本上安装了Win10 + Deepin + Ubuntu,目前用grub4dos可以成功加载这三个系统,也可以从grub4dos加载Ubuntu自带的grub2,但它自带的grub2功能太弱了,我想换成这个功能更强的版本(同时也找机会熟悉一下grub2的使用,否则在grub2的命令行下真是两眼黑),不知道我该如何操作?当然,我目前不使用UEFI功能,只使用bios下的grub2。

我印象中在哪个帖子里看到过一个g2ldr(类似grldr)和g2ldr.mbr,core.img需要使用kernel命令加载,貌似g2ldr直接chainloader就可以了。慢慢折腾。
作者: wintoflash    时间: 2020-4-6 19:14
Climbing 发表于 2020-4-6 17:38
你这说明只是一个命令列表,还有没有其他的说明文件?我主要是指安装以及与grub4dos的互动。

最好如同 ...
我在笔记本上安装了Win10 + Deepin + Ubuntu,目前用grub4dos可以成功加载这三个系统,也可以从grub4dos加载Ubuntu自带的grub2,但它自带的grub2功能太弱了,我想换成这个功能更强的版本(同时也找机会熟悉一下grub2的使用,否则在grub2的命令行下真是两眼黑),不知道我该如何操作?

Linux 下的 GRUB2 有一系列脚本可以自动检测安装的所有系统生成菜单啊。而且在有不同版本的内核的时候可以列出所有内核供用户选择。不需要手动改菜单啊。

作者: Climbing    时间: 2020-4-7 08:50
wintoflash 发表于 2020-4-6 19:14
Linux 下的 GRUB2 有一系列脚本可以自动检测安装的所有系统生成菜单啊。而且在有不同版本的内核的时候 ...

天生抵触傻瓜化操作,自动化的同时也要求自己完全手工可以做到。知其然,知其所以然。

比如我现在还搞不太清楚grub2的savedefault如何起效,savedefault的结果保存到哪里去了?
作者: wintoflash    时间: 2020-4-7 14:09
Climbing 发表于 2020-4-7 08:50
天生抵触傻瓜化操作,自动化的同时也要求自己完全手工可以做到。知其然,知其所以然。

比如我现在还搞 ...

一般保存到 grubenv 文件中。
作者: my9823    时间: 2020-4-7 15:06
http://www.jinbuguo.com/linux/grub.cfg.html
作者: liuzhaoyzz    时间: 2020-4-7 15:09
my9823 发表于 2020-4-7 15:06
http://www.jinbuguo.com/linux/grub.cfg.html

        这个说明是基于官方grub2的,而wintoflash大神对于grub2改动很大,他自己写了个修改之后的命令列表,我指的是他修改之后的命令列表。
作者: my9823    时间: 2020-4-7 15:13
融会贯通,活学活用啊!
作者: Climbing    时间: 2020-4-7 16:33
my9823 发表于 2020-4-7 15:06
http://www.jinbuguo.com/linux/grub.cfg.html

这个说明文件写得很好。就是我希望的那种类型。

wintoflash 如果能参照这种格式,把自己新加的命令再举几个经典的例子就好了(就是作者后面附上的自己用的grub.cfg)。
作者: hilsonma    时间: 2020-4-7 18:01
本帖最后由 hilsonma 于 2020-4-7 18:47 编辑
Climbing 发表于 2020-4-7 16:33
这个说明文件写得很好。就是我希望的那种类型。

wintoflash 如果能参照这种格式,把自己新加的命令再 ...

估计wintoflash没时间写吧

可参考一下 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=418147
命令说明我就不再写了,本来我自己也没有学透,贴中那几个链接结合grub2命令行应该都可以查询
贴中也有我的启动模板,含grub.cfg,或者我发贴单独晒一下 我的grub.cfg
作者: Climbing    时间: 2020-4-8 16:10
谢谢,你这个写的也不错,正是对wintoflash定制的grub2的补充,正在学习。

有一个疑问:@wintoflash 在原来grub2模块的基础上应该主要增加了wimboot、ntboot、map这几个新模块,使grub2在功能上向grub4dos靠近了一大步(或者说基本等价),但我看他定制grub2的启动模块时,只有EFI平台中增加了这几个新模块,这意思是这些模块只能用在EFI平台吗?bios平台不能用?

还有,不能打包到启动文件里的其他模块怎么办?我看你们最后就定制成了一个bootx64.efi文件,既不需要字体文件,也不需要其他模块?


作者: liuzhaoyzz    时间: 2020-4-8 16:43
本帖最后由 liuzhaoyzz 于 2020-4-8 16:49 编辑
Climbing 发表于 2020-4-8 16:10
谢谢,你这个写的也不错,正是对wintoflash定制的grub2的补充,正在学习。

有一个疑问:@wintoflash 在 ...

       grub2-BIOS应该没多少人用吧,似乎要懂汇编才能写,wintoflash主要改进的就是用于UEFI的grub2模块,很多是c语言写的。大家都倾向于把grub2用于UEFI启动,BIOS下不是已经有了很好的grub4dos了吗。

字体是另外的unicode.gz,当然需要gzio模块,要想用好grub2,必须学会定制,就是把自己需要的模块打包进入grub2x64.efi,添加UEFI引导序列与bootx64.efi/bootmgrfw.efi并列,或者直接用grub2x64.efi代替通用的bootx64.efi(不能过secure boot),bootx64.efi之外,任何模块可以根据平台类型用insmod插入,模块列表可以看command.lst等。

定制grub2的帖子,看看这个就知道所以然了。

Windows定制Grub2(包括BIOS和UEFI、自定义Grub2路徑) - GRUB2 - 无忧启动论坛 - Powered by Discuz! http://wuyou.net/forum.php?mod=v ... 9411&extra=page%3D1


作者: hilsonma    时间: 2020-4-8 18:18
本帖最后由 hilsonma 于 2020-4-9 20:25 编辑
Climbing 发表于 2020-4-8 16:10
谢谢,你这个写的也不错,正是对wintoflash定制的grub2的补充,正在学习。

有一个疑问:@wintoflash 在 ...

wintoflash开发和移植的模块主要是针对 uefi平台,bios平台在淘汰中,而且bios平台原本已有很好的grub4dos,没有必要重复开发。如果是某种原因需要在bios平台使用grub2(如统一主题统一界面等等),用到相应的模块功能,可以调用grub4dos。

grub2定制的bootxy64.efi 如果是不是使用gfxterm,是不需要字体文件的,如果要使用图片背景或使用主题,就需要使用gfxterm,也需要字体文件

至于不需要其他模块,也是因为要用到的模块都打包到bootx64.efi中了,没有打包的可以重新打包加入这些模块,如果需要临时调试才需要有模块文件并在配置中使用insmod来载入。

在单文件efi方案中,连配置文件等都可以打包到bootx64.efi中完全只使用一个文件来完成启动,甚至是一个微型系统,例如单文件linux.efi 这样的例子都有,你搜一下onefilelinux就可以找到。
作者: my9823    时间: 2020-4-9 13:28
为了封装的efi的通用,内置了grub.cfg,可以在里边搜索特定目录的配置文件加载
作者: my9823    时间: 2020-4-9 13:29
配置文件可以设置prefix变量,insmod应该可以找到模块目录。
作者: hilsonma    时间: 2020-4-9 15:02
my9823 发表于 2020-4-9 13:28
为了封装的efi的通用,内置了grub.cfg,可以在里边搜索特定目录的配置文件加载

我觉得没有必要绕来绕去,如果别人封装的不合用,就自己封装一个,要不然就不使用封装版。

但修改余地肯定是要留有的,象我封装的菜单第三项是将根目录下的pe目录列为自动菜单的,可以把配置文件放到/pe来变成自动菜单选择加载,这样方便测试。

但常用的固定启动我不建议放自动菜单,还是放到主菜单更高效。

象一些华丽的多层级的多界面的多模式的启动模板,不适合我,除了测试,我希望启动越直接越好,能不选择就不用选择尽快引导到真正的应用界面。
作者: 青青草    时间: 2020-8-5 07:52
wintoflash 发表于 2020-4-6 10:41
https://github.com/a1ive/grub
你把网页拉到最下面有个 Manual。

GRUB 2 中文手册 | a1ive@github https://a1ive.github.io/grub2_zh.html
无法打开。
作者: wintoflash    时间: 2020-8-5 08:57
青青草 发表于 2020-8-5 07:52
GRUB 2 中文手册 | a1ive@github https://a1ive.github.io/grub2_zh.html
无法打开。

肯定是美帝国主义和一小撮反动势力对网络的封锁。


作者: zhangze    时间: 2020-8-7 02:47
上边这个图我没看见,没看见!!
作者: wintoflash    时间: 2020-11-1 12:18
青青草 发表于 2020-8-5 07:52
GRUB 2 中文手册 | a1ive@github https://a1ive.github.io/grub2_zh.html
无法打开。

如果 github.io 打不开,可以直接在 github 上看对应文件,比如 https://github.com/a1ive/a1ive.g ... r/grub2_fatfs_zh.md

作者: wintoflash    时间: 2020-11-22 13:11
本帖最后由 wintoflash 于 2020-11-27 10:38 编辑

现在提供一个简单的示例菜单,仅供参考。
https://a1ive.github.io/grub2_menu_zh.html
打不开的可以看 https://a1ive.gitee.io/grub2_menu_zh.html


作者: blank007    时间: 2020-11-22 13:41
wintoflash 发表于 2020-11-22 13:11
现在提供一个简单的示例菜单,仅供参考。
https://a1ive.github.io/grub2_menu_zh.html
打不开的可以看 h ...

您在今日的更新中提到:[5cb1e99]: add grub_mb_firmware (a1ive)
请问这个是什么方面的功能或者改进?
作者: wintoflash    时间: 2020-11-22 14:17
本帖最后由 wintoflash 于 2020-11-22 14:19 编辑
blank007 发表于 2020-11-22 13:41
您在今日的更新中提到:[5cb1e99]: add grub_mb_firmware (a1ive)
请问这个是什么方面的功能或者改进?

你点进去,就能看到具体的改动。http://bbs.wuyou.net/forum.php?m ... &fromuid=487838

作者: blank007    时间: 2020-11-22 16:27
wintoflash 发表于 2020-11-22 14:17
你点进去,就能看到具体的改动。http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=41723 ...

多谢
作者: IT小森    时间: 2022-7-18 19:06
签到
作者: ryan1036    时间: 2022-9-8 08:38
来学习了
作者: 青青草    时间: 2023-11-24 10:43
本帖最后由 青青草 于 2023-11-24 18:07 编辑
wintoflash 发表于 2020-4-6 10:41
https://github.com/a1ive/grub
你把网页拉到最下面有个 Manual。

请教大神:
     命令 hexdump如何使用?
比如,要获取version.dll中10.0.22621.1的22621,应如何书写?
谢谢!    如果这样书写:
     hexdump --skip=33730 --length=10  (${device})/Windows/System32/version.dll zhcver

只能获取到数字2,--length=10 似乎不起作用。

作者: wintoflash    时间: 2023-11-24 21:17
青青草 发表于 2023-11-24 10:43
请教大神:
     命令 hexdump如何使用?
比如,要获取version.dll中10.0.22621.1的22621,应如何书写 ...

那是因为dll中的这个资源是宽字符串。
注意两者之间十六进制的区别:


作者: 青青草    时间: 2023-11-24 21:56
wintoflash 发表于 2023-11-24 21:17
那是因为dll中的这个资源是宽字符串。
注意两者之间十六进制的区别:

所以我设置了--length=10 ,而不是--length=5呀,无论设 --length的值为多少都只能获取到数字2。
作者: wintoflash    时间: 2023-11-24 22:30
青青草 发表于 2023-11-24 21:56
所以我设置了--length=10 ,而不是--length=5呀,无论设 --length的值为多少都只能获取到数字2。

第二个字符是\0表示字符串已经终止了。
作者: 青青草    时间: 2024-1-20 17:22
wintoflash 发表于 2020-4-7 14:09
一般保存到 grubenv 文件中。

请教大神:
       sbpolicy 如何使用?
比如,先检测安全启动是否开启,如果开启,则安装安全策略。应如何书写?
谢谢!

作者: wintoflash    时间: 2024-1-20 20:22
青青草 发表于 2024-1-20 17:22
请教大神:
       sbpolicy 如何使用?
比如,先检测安全启动是否开启,如果开启,则安装安全策略。应 ...

安装了这个自定义安全策略后,安全启动在 UEFI BS 阶段就形同虚设了,你要想清楚。
示例菜单里面有相关代码:https://a1ive.github.io/grub2_menu_zh.html
先判断是否为 EFI 启动,再获取 SecureBoot 变量的值:
  1. if [ "${grub_platform}" = "efi" ]; then
  2.     getenv -t uint8 SecureBoot grub_secureboot;
  3.     if [ "${grub_secureboot}" = "1" ]; then
  4.         sbpolicy -i;
  5.     fi;
  6. fi;
复制代码


作者: 青青草    时间: 2024-1-20 22:01
wintoflash 发表于 2024-1-20 20:22
安装了这个自定义安全策略后,安全启动在 UEFI BS 阶段就形同虚设了,你要想清楚。
示例菜单里面有相关 ...

如果利用fucksb,将安全启动状态伪装为关闭,是否能绕过安全启动呢?
作者: wintoflash    时间: 2024-1-21 10:21
青青草 发表于 2024-1-20 22:01
如果利用fucksb,将安全启动状态伪装为关闭,是否能绕过安全启动呢?

我不知道你说的 "绕过" 是什么意思。
任何方案都不能 "绕过" 主板 UEFI 的安全启动机制。
如果你想静默通过安全启动,启动任意 EFI 应用,那要用一些 BootKit,比如 BlackLotus 或者 KRD 的早期版本。这些已经被拉黑了,在开启了系统更新的情况下已经失效了。

作者: 青青草    时间: 2024-1-21 18:28
wintoflash 发表于 2024-1-20 20:22
安装了这个自定义安全策略后,安全启动在 UEFI BS 阶段就形同虚设了,你要想清楚。
示例菜单里面有相关 ...

利用sbpolicy -i;安装自定义安全策略后,安全启动在 UEFI BS 阶段形同虚设,
事后,如果再利用sbpolicy -u 卸载安全策略,安全启动应该就不会形同虚设了吧?
作者: wintoflash    时间: 2024-1-21 19:13
本帖最后由 wintoflash 于 2024-1-21 19:15 编辑
青青草 发表于 2024-1-21 18:28
利用sbpolicy -i;安装自定义安全策略后,安全启动在 UEFI BS 阶段形同虚设,
事后,如果再利用sbpolicy ...

完全不是一回事。你要说清楚自己弄 GRUB 启动的目的。





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