无忧启动论坛
标题:
【自用】在linux下一键编译uefi下的grub2,含所有模块
[打印本页]
作者:
ql1307096
时间:
2021-11-23 17:08
标题:
【自用】在linux下一键编译uefi下的grub2,含所有模块
在debian11下编译制作,
grub2-efi目录放到任意分区根目录下,默认菜单为根目录下的/grub2-efi/grub.cfg
grub2-efi.efi已包含所有模块及中文字体。
grub2-efi.rar
(1.79 MB, 下载次数: 110)
2021-11-23 17:07 上传
点击文件名下载附件
下载积分: 无忧币 -2
贴上打渔的方法:
将以下代码存储为mk.sh
#!/bin/sh
current_dir=$(cd `dirname $0`; pwd)
mkdir -p /tmp/boot/grub/x86_64-efi
export ulg=/usr/lib/grub
export bg=/boot/grub
export temp=/tmp/boot/grub
cd $ulg/x86_64-efi
cp *.lst *.img *.mod $temp/x86_64-efi/
mkdir $temp/locale
cp $bg/locale/zh_CN.mo $temp/locale/zh_CN.mo
mkdir $temp/fonts
cp $bg/fonts/unicode.pf2 $temp/fonts/
gzip -9 $temp/fonts/unicode.pf2
echo 'if search -s -f /grub2-efi/grub.cfg ; then' >> $temp/grub.cfg
echo ' configfile /grub2-efi/grub.cfg' >> $temp/grub.cfg
echo 'else' >> $temp/grub.cfg
echo ' echo "Could not find (${root})/grub2-efi/grub.cfg file!"' >> $temp/grub.cfg
echo 'fi' >> $temp/grub.cfg
echo 'normal (memdisk)/boot/grub/grub.cfg' >>$ulg/x86_64-efi/grub-bootstrap.cfg
cd /tmp
find boot | cpio -o -H newc > $ulg/x86_64-efi/memdisk.cpio
cd $ulg/x86_64-efi
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
chmod 666 grub2-efi.efi
mv grub2-efi.efi $current_dir/grub2-efi.efi
rm memdisk.cpio grub-bootstrap.cfg
rm -rf /tmp/boot
echo "生成的grub2-efi.efi在脚本运行目录下"
复制代码
在linux下执行脚本,即可生成
grub2-efi.efi文件,
作者:
lily9718
时间:
2021-11-24 06:05
谢谢分享
作者:
进士小站
时间:
2021-11-24 10:27
这个做多功能启动菜单更有用吧
作者:
liuzhaoyzz
时间:
2021-12-4 20:44
你这个应该叫做定制grub2,而不应该叫做编译grub2。
作者:
ql1307096
时间:
2021-12-15 09:09
liuzhaoyzz 发表于 2021-12-4 20:44
你这个应该叫做定制grub2,而不应该叫做编译grub2。
调用了grub-mkimage,叫编译或者定制随意吧
作者:
688022
时间:
2021-12-18 09:32
分享快乐
欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/)
Powered by Discuz! X3.3