无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: hilsonma
打印 上一主题 下一主题

[分享] 将grub2启动模板封装成efi单文件

  [复制链接]
36#
发表于 2020-3-26 13:53:27 | 只看该作者
hilsonma 发表于 2020-3-25 21:54
Wintoflash的Run,其最新版本是直接引用grub2的grubfm模块来处理文件浏览及打开的,我试了很久,也不知你 ...

我就是使用您的打包方案去打包他的Run然后失败,可能要请W大亲自操刀才能解决。另请问H大,Wintoflash大的最新Run能否提供下载?谢谢啦

点评

这是我之前下载保存的,也不知是不是最新  详情 回复 发表于 2020-3-26 14:59
回复

使用道具 举报

35#
 楼主| 发表于 2020-3-25 21:54:59 | 只看该作者
2012kwy 发表于 2020-3-23 13:57
hilsonma大,按照此法依样画葫芦,想把之前wintoflash的Run模块中的grub2更新到最新版,打包后测试发现已 ...

Wintoflash的Run,其最新版本是直接引用grub2的grubfm模块来处理文件浏览及打开的,我试了很久,也不知你反馈的问题是什么原因导致,要不你就直接使用他打好包的efi文件吧。

我现在尝试用我的打包方案去打包他的Run也是有问题,现在也找不到原因。

点评

我就是使用您的打包方案去打包他的Run然后失败,可能要请W大亲自操刀才能解决。另请问H大,Wintoflash大的最新Run能否提供下载?谢谢啦  详情 回复 发表于 2020-3-26 13:53
回复

使用道具 举报

34#
发表于 2020-3-23 13:57:17 | 只看该作者
hilsonma 发表于 2020-3-8 19:32
感谢分享。

仿照你的方法,我更新了我的方案,添加grub2模块目录和定制程序,做成完整独立的单文件efi ...

hilsonma大,按照此法依样画葫芦,想把之前wintoflash的Run模块中的grub2更新到最新版,打包后测试发现已无法加载iso 、wim文件(仅浏览功能可用),不知问题出在哪?是否还需修改其它内容?

点评

你要下载源码,然后自己编译run用的grubfm模块。  详情 回复 发表于 2020-3-27 14:04
Wintoflash的Run,其最新版本是直接引用grub2的grubfm模块来处理文件浏览及打开的,我试了很久,也不知你反馈的问题是什么原因导致,要不你就直接使用他打好包的efi文件吧。 我现在尝试用我的打包方案去打包他的R  详情 回复 发表于 2020-3-25 21:54
回复

使用道具 举报

33#
发表于 2020-3-22 18:55:56 | 只看该作者
迟到了,谢谢更新了
回复

使用道具 举报

32#
发表于 2020-3-21 15:54:17 | 只看该作者
这是制作EFI引导菜单吗,学习一下
回复

使用道具 举报

31#
 楼主| 发表于 2020-3-8 19:32:34 | 只看该作者
本帖最后由 hilsonma 于 2020-3-9 11:55 编辑
nivigo 发表于 2020-3-8 16:30
我修改了一下可以在win下定制,自测成功,欢迎大家测试。
用法:
1、把tools.7z解压出来,把tools文件夹 ...

感谢分享。

仿照你的方法,我更新了我的方案,添加grub2模块目录和定制程序,做成完整独立的单文件efi定制包。
grub2定制单文件efi.7z (2.43 MB, 下载次数: 864)

下载附件,解压放到任意文件夹
将 build/boot/grub 里的内容清空,换上自己的启动方案的整套文件
    启动方案的主程序需要命名为grub.cfg
按自己的启动方案用到的模块来修改模块清单文件 build/mod.txt
    注意有6个模块是本封装模式要用到的:cpio gzio loopback lzopio memdisk newc
    这6个模块不能缺少
点击执行脚本 制作单文件efi.cmd 就会生成 bootx64.efi .

如果自己没有现成的启动方案,也可以不清空 build/boot/grub 里的内容,直接对 build/boot/grub/grub.cfg 进行修改
根据修改的内容增删相应的文件,并在模块清单文件 build/mod.txt 中增删相应的模块,然后执行脚本。

点评

这个生产的efi启动win8.1x64.vhdx失败(提示硬件改动)而GrubFMx64.efi或GrubFMMultiArch.iso都可以成功,是什么原因?  发表于 2021-6-26 19:51
我下载了你这个打包生成efi,引导只显示grub>界面,看不到菜单,我不知道自己哪里错了?  详情 回复 发表于 2021-2-16 22:01
hilsonma大,按照此法依样画葫芦,想把之前wintoflash的Run模块中的grub2更新到最新版,打包后测试发现已无法加载iso 、wim文件(仅浏览功能可用),不知问题出在哪?是否还需修改其它内容?  详情 回复 发表于 2020-3-23 13:57
回复

使用道具 举报

30#
发表于 2020-3-8 16:30:30 | 只看该作者

RE: 将grub2启动模板封装成efi单文件

本帖最后由 nivigo 于 2020-3-8 16:35 编辑

我修改了一下可以在win下定制,自测成功,欢迎大家测试。
用法:
1、把tools.7z解压出来,把tools文件夹放到grub2的文件夹下。
2、进入tools文件夹点击“定制grub2_efi单文件版.bat”
3、在grub2文件夹下找bootx64.efi就是生成的efi文件。
4、把bootx64.efi文件放efi/boot/文件夹下就行了。
https://pan.baidu.com/s/1UBZKZoDKT8JUsWT9H7zEkg  验证码:qxhr


点评

感谢分享。 仿照你的方法,我更新了我的方案。 下载附件,解压放到grub2文件夹 将 build/boot/grub 里的内容清空,换上自己的启动模板的整套文件 启动模板的主程序需要命名为grub.cfg 按自己的启动模  详情 回复 发表于 2020-3-8 19:32
回复

使用道具 举报

29#
发表于 2020-2-21 08:42:05 | 只看该作者
太深奥,
看不懂


回复

使用道具 举报

28#
发表于 2020-1-20 11:40:35 | 只看该作者
重要提醒:在我测试H大,W大的GRUB定制程序时,由于使用了Win 10 1903里的 WSL2 ,在WSL2 的ubuntu 18.04 环境里,根本就没有grub环境,所以在运行脚本时误认为W大的grub2 定制包没有提供grub-mkimage命令,经大师们的指点,终于找到了处理办法, grub-mkimage命令包含在grub2-common包中,执行:
sudo apt-get update
sudo apt install grub-common
解决问题。

再执行H大,W大的GRUB定制程序,一马平川!!!
回复

使用道具 举报

27#
发表于 2020-1-19 23:21:07 | 只看该作者
模板结构很好
回复

使用道具 举报

26#
发表于 2020-1-19 18:47:21 | 只看该作者
玩wsl的导这个注册表,很方便
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\bash here]
"icon"="C:\\Users\\Administrator\\AppData\\Local\\lxss\\bash.ico"
@="在此打开WSL"

[HKEY_CLASSES_ROOT\Directory\Background\shell\bash here\command]
@="C:\\Windows\\System32\\bash.exe"

回复

使用道具 举报

25#
发表于 2020-1-19 17:46:24 | 只看该作者
本帖最后由 jxdeng2017 于 2020-1-19 17:51 编辑
wintoflash 发表于 2020-1-19 16:09
你这是什么操作,莫名其妙。
在Linux下,你应该用系统提供的grub-mkimage。
grub-mkimage.exe当然是给w ...

知道了,WSL 里的ubuntu 确实缺少grub,应该先安装 grub : sudo apt get grub ;再用update_grub2.sh 先下载grub2,因为太慢太慢,所以,我就用Windows 下的grub2-latest.tar.gz 包了。明白了!!谢谢,W大,hilsonma兄,葱大!!
回复

使用道具 举报

24#
发表于 2020-1-19 17:38:52 | 只看该作者
wintoflash 发表于 2020-1-19 16:09
你这是什么操作,莫名其妙。
在Linux下,你应该用系统提供的grub-mkimage。
grub-mkimage.exe当然是给w ...

WSL内的ubuntu 肯定不带grub-mkimage !所以,来了一波骚操作!
回复

使用道具 举报

23#
发表于 2020-1-19 17:23:54 | 只看该作者
wsl需要sudo apt-get install grub还是

grub-common忘了
回复

使用道具 举报

22#
发表于 2020-1-19 17:12:19 | 只看该作者
hilsonma 发表于 2020-1-19 16:55
有没有可能是wsl的问题呢?他用的是wsl,会不会是不带grub-mkimage的

我用的是porteus,在不带-d参数 ...

几乎所有的Linux发行版都带grub,不带的,也能通过官方仓库安装grub。
无论是何种情况,非开发者都应当使用系统自带的或者官方仓库的。


回复

使用道具 举报

21#
 楼主| 发表于 2020-1-19 16:55:36 | 只看该作者
wintoflash 发表于 2020-1-19 16:09
你这是什么操作,莫名其妙。
在Linux下,你应该用系统提供的grub-mkimage。
grub-mkimage.exe当然是给w ...

有没有可能是wsl的问题呢?他用的是wsl,会不会是不带grub-mkimage的

我用的是porteus,在不带-d参数的时候会有 usr/....没有x86_64-efi 这样的提示,加上-d 参数指向grub2定制包中的x86_64-efi就好了,没注意grub-mkimage用的是不是定制包的,按你们这样一说,应该是porteus自带的grub-mkimage

点评

几乎所有的Linux发行版都带grub,不带的,也能通过官方仓库安装grub。 无论是何种情况,非开发者都应当使用系统自带的或者官方仓库的。  详情 回复 发表于 2020-1-19 17:12
回复

使用道具 举报

20#
发表于 2020-1-19 16:09:46 | 只看该作者
jxdeng2017 发表于 2020-1-19 15:46
W大,hilsonma兄: 再次测试了一下,情况如下,用W大的最新的 grub2-latest.tar.gz ,放到Win 10 的WSL2 的 ...

你这是什么操作,莫名其妙。
在Linux下,你应该用系统提供的grub-mkimage。
grub-mkimage.exe当然是给windows用的。
Linux发行版一般都自带grub,你用它自带的就好了。
不自带,也可以直接从软件仓库安装。


点评

知道了,应该补齐用update_grub2.sh 先下载grub2,因为太慢太慢,所以,我就用Windows 下的grub2-latest.tar.gz 包了。明白了!!谢谢,W大,hilsonma兄,葱大!!  详情 回复 发表于 2020-1-19 17:46
WSL内的ubuntu 肯定不带grub-mkimage !所以,来了一波骚操作!  详情 回复 发表于 2020-1-19 17:38
有没有可能是wsl的问题呢?他用的是wsl,会不会是不带grub-mkimage的 我用的是porteus,在不带-d参数的时候会有 usr/....没有x86_64-efi 这样的提示,加上-d 参数指向grub2定制包中的x86_64-efi就好了,没注意gru  详情 回复 发表于 2020-1-19 16:55
回复

使用道具 举报

19#
发表于 2020-1-19 16:05:27 | 只看该作者

你得先要有Grub2啊,有update_grub2.sh
回复

使用道具 举报

18#
发表于 2020-1-19 15:52:12 | 只看该作者
截图

grub2.jpg (246.25 KB, 下载次数: 204)

grub2.jpg

winf.jpg (109.44 KB, 下载次数: 189)

winf.jpg

winf2.jpg (75.82 KB, 下载次数: 191)

winf2.jpg

点评

你得先要有Grub2啊,有update_grub2.sh  详情 回复 发表于 2020-1-19 16:05
回复

使用道具 举报

17#
发表于 2020-1-19 15:46:12 | 只看该作者

再运行

本帖最后由 jxdeng2017 于 2020-1-19 15:49 编辑

W大,hilsonma兄: 再次测试了一下,情况如下,用W大的最新的 grub2-latest.tar.gz ,放到Win 10 的WSL2 的ubuntu 环境,先用W大的build_grub.sh  测试一把,同样报没有 grub-mkimage 文件的错。我改了两处:1、cp grub-mkimage.exe grub-mkimage 生成一个grub-mkimage , 并加 x权限; 2、把build_grub.sh 里的
grub-mkimage -d x86_64-efi -p "/boot/grub" -o grubx64.efi -O x86_64-efi $modules 改了一下:
./grub-mkimage -d x86_64-efi -p "/boot/grub" -o grubx64.efi -O x86_64-efi $modules  再运行 build_grub.sh  可以了。请问两位老大,你们也是这种情况吗? 还是的linux 环境有点问题?请指点!

点评

你这是什么操作,莫名其妙。 在Linux下,你应该用系统提供的grub-mkimage。 grub-mkimage.exe当然是给windows用的。 Linux发行版一般都自带grub,你用它自带的就好了。 不自带,也可以直接从软件仓库安装。  详情 回复 发表于 2020-1-19 16:09
回复

使用道具 举报

16#
发表于 2020-1-19 14:26:48 | 只看该作者
jxdeng2017 发表于 2020-1-19 09:11
hilsonma兄,这个单一文件efi启动文件不错!我在定制时出现了一个问题,我把W大的 grub2-latest.tar.gz  ta ...
发现 生成命令是 grub-mkimage.exe



你看错了。

回复

使用道具 举报

15#
 楼主| 发表于 2020-1-19 14:23:58 | 只看该作者
本帖最后由 hilsonma 于 2020-1-19 14:52 编辑
jxdeng2017 发表于 2020-1-19 09:30
试了一下,grub-mkimage.exe 在Linux下确实不兼容!!

我用没有问题呀。
用的就是wintoflash的grub2-latest.tar.gz ,win/lin通用的

到这里下载试试。




回复

使用道具 举报

14#
发表于 2020-1-19 10:34:00 | 只看该作者
更方便了
回复

使用道具 举报

13#
发表于 2020-1-19 09:32:25 | 只看该作者
感谢分享!
回复

使用道具 举报

12#
发表于 2020-1-19 09:30:35 | 只看该作者
jxdeng2017 发表于 2020-1-19 09:11
hilsonma兄,这个单一文件efi启动文件不错!我在定制时出现了一个问题,我把W大的 grub2-latest.tar.gz  ta ...

试了一下,grub-mkimage.exe 在Linux下确实不兼容!!

点评

我用没有问题呀。 用的就是wintoflash的grub2-latest.tar.gz ,win/lin通用的 [attachimg]409880[/attachimg]  详情 回复 发表于 2020-1-19 14:23
回复

使用道具 举报

11#
发表于 2020-1-19 09:11:56 | 只看该作者
hilsonma兄,这个单一文件efi启动文件不错!我在定制时出现了一个问题,我把W大的 grub2-latest.tar.gz  tar开到linux环境后,用你的脚本运行了一下,发现 生成命令是 grub-mkimage.exe,这明显是Windows平台下的,翻了一下W大的Gibhub, 好像也没有linux 平台下的 grub2 (不要源码!),请问,W大的版本是兼容Win/Lin两个平台吗? 能否提供一个Linux下的grub2 ,要W大的最新版,支持map ,ntboot 的!

点评

你看错了。  详情 回复 发表于 2020-1-19 14:26
试了一下,grub-mkimage.exe 在Linux下确实不兼容!!  详情 回复 发表于 2020-1-19 09:30
回复

使用道具 举报

10#
发表于 2020-1-19 06:09:19 | 只看该作者
这个方法很好
回复

使用道具 举报

9#
 楼主| 发表于 2020-1-18 20:15:29 | 只看该作者
江南一根葱 发表于 2020-1-18 20:05
除了真要编译源码好像不太要用linux,grub2那个也都可以改成批处理的
wls就是在win上运行完整的linux, ...

感谢指点,看来还是要装虚拟机啊。我的硬盘都被西都冷占满了
回复

使用道具 举报

8#
发表于 2020-1-18 20:05:25 | 只看该作者
hilsonma 发表于 2020-1-18 19:51
我以前是用winrar的,近两三年才改用7z
tar没有用过,几乎不用linux,近来才接触,真正应用linux还是从 ...

除了真要编译源码好像不太要用linux,grub2那个也都可以改成批处理的
wls就是在win上运行完整的linux,通过win命令行窗口直接交互,以前编译ipxe很荒便,
porteus还是跑在虚拟机上比较方便吧,脱离win切换过去用会有孤独感
而且虚拟机还能建立些快照

点评

感谢指点,看来还是要装虚拟机啊。我的硬盘都被西都冷占满了  详情 回复 发表于 2020-1-18 20:15
回复

使用道具 举报

7#
 楼主| 发表于 2020-1-18 20:02:45 | 只看该作者
本帖最后由 hilsonma 于 2020-1-18 20:06 编辑
wintoflash 发表于 2020-1-18 19:16
说一个问题:

用7z压缩文件,不会保存unix权限信息。

是不是要这样的
单一efi文件封装模板.tar.gz (743.88 KB, 下载次数: 153)


压缩率没有7z的好,是tar本身没有那么高的压缩率还是没有使用合适的参数,稍后再深入学习。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-18 12:44

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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