无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4726|回复: 5
打印 上一主题 下一主题

[发布] 【自用】在linux下一键编译uefi下的grub2,含所有模块

[复制链接]
跳转到指定楼层
1#
发表于 2021-11-23 17:08:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在debian11下编译制作,
grub2-efi目录放到任意分区根目录下,默认菜单为根目录下的/grub2-efi/grub.cfg
grub2-efi.efi已包含所有模块及中文字体。


grub2-efi.rar (1.79 MB, 下载次数: 110)

贴上打渔的方法:
将以下代码存储为mk.sh
  1. #!/bin/sh
  2. current_dir=$(cd `dirname $0`; pwd)
  3. mkdir -p /tmp/boot/grub/x86_64-efi
  4. export ulg=/usr/lib/grub
  5. export bg=/boot/grub
  6. export temp=/tmp/boot/grub
  7. cd $ulg/x86_64-efi
  8. cp *.lst *.img *.mod $temp/x86_64-efi/
  9. mkdir $temp/locale
  10. cp $bg/locale/zh_CN.mo $temp/locale/zh_CN.mo
  11. mkdir $temp/fonts
  12. cp $bg/fonts/unicode.pf2 $temp/fonts/
  13. gzip -9 $temp/fonts/unicode.pf2
  14. echo 'if search -s -f /grub2-efi/grub.cfg ; then' >> $temp/grub.cfg
  15. echo ' configfile /grub2-efi/grub.cfg' >> $temp/grub.cfg
  16. echo 'else' >> $temp/grub.cfg
  17. echo ' echo "Could not find (${root})/grub2-efi/grub.cfg file!"' >> $temp/grub.cfg
  18. echo 'fi' >> $temp/grub.cfg
  19. echo 'normal (memdisk)/boot/grub/grub.cfg' >>$ulg/x86_64-efi/grub-bootstrap.cfg
  20. cd /tmp
  21. find boot | cpio -o -H newc > $ulg/x86_64-efi/memdisk.cpio
  22. cd $ulg/x86_64-efi
  23. grub-mkimage -O x86_64-efi -d . -o grub2-efi.efi -m memdisk.cpio -p '(memdisk)/boot/grub' -v newc iso9660 part_msdos part_gpt ext2 cpio memdisk blocklist minicmd loopback fat ntfs gfxterm reboot configfile normal echo test gfxmenu gfxterm search gzio
  24. chmod 666 grub2-efi.efi
  25. mv grub2-efi.efi $current_dir/grub2-efi.efi
  26. rm memdisk.cpio grub-bootstrap.cfg
  27. rm -rf /tmp/boot
  28. echo "生成的grub2-efi.efi在脚本运行目录下"
复制代码
在linux下执行脚本,即可生成grub2-efi.efi文件,

评分

参与人数 2无忧币 +10 收起 理由
freesoft00 + 5
wuxin9712 + 5

查看全部评分

2#
发表于 2021-11-24 06:05:19 | 只看该作者
谢谢分享
回复

使用道具 举报

3#
发表于 2021-11-24 10:27:05 | 只看该作者
这个做多功能启动菜单更有用吧
回复

使用道具 举报

4#
发表于 2021-12-4 20:44:28 来自手机 | 只看该作者
你这个应该叫做定制grub2,而不应该叫做编译grub2。

点评

调用了grub-mkimage,叫编译或者定制随意吧  详情 回复 发表于 2021-12-15 09:09
回复

使用道具 举报

5#
 楼主| 发表于 2021-12-15 09:09:38 | 只看该作者
liuzhaoyzz 发表于 2021-12-4 20:44
你这个应该叫做定制grub2,而不应该叫做编译grub2。

调用了grub-mkimage,叫编译或者定制随意吧
回复

使用道具 举报

6#
发表于 2021-12-18 09:32:55 | 只看该作者
分享快乐
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-22 08:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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