linux uefi iso,支持UEFI启动的GRUB2 ISO光盘镜像的制作

本文详细介绍如何使用GRUB2创建可引导的ISO文件,包括生成GRUB2内核文件、制作EFI启动镜像及利用genisoimage生成最终的可启动ISO文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本帖最后由 rkr077 于 2017-3-23 10:10 编辑

昨天试了一晚上才成功,贴出全过程。

工具:UltraISO(用于制作光盘的EFI启动镜像)

命令行工具genisoimage,mkisofs(Linux下用于生成iso文件的的命令行工具,如果是Windows系统,也可以使用其Windows版本或者Linux模拟器cygwin)或oscdimg.exe(Windows ADK包含的iso文件生成工具,注意该文件带有微软的数字签名)

GRUB2的Windows版本(下载地址:alpha.gnu.org/gnu/grub)

1.生成GRUB2的内核文件(core.img)

先使用bootice的GRUB4DOS编辑器编写grub.cfg文件(以UTF-8编码保存),包含以下内容:

search.file /boot/grub/grub.cfg root

set prefix=/boot/grub

normal

然后执行以下命令:

Legacy启动

grub-mkimage -c grub.cfg -p /boot/grub -o core.img -O i386-pc iso9660 udf fat exfat ntfs ext2 part_msdos part_gpt search disk biosdisk normal halt reboot

64位UEFI启动

grub-mkimage -c grub.cfg -p /boot/grub -o bootx64.efi -O x86_64-efi iso9660 udf fat exfat ntfs ext2 part_msdos part_gpt search disk normal halt reboot

32位UEFI启动

grub-mkimage -c grub.cfg -p /boot/grub -o bootia32.efi -O i386-efi iso9660 udf fat exfat ntfs ext2 part_msdos part_gpt search disk normal halt reboot

将GRUB2安装目录下的i386-pc\cdboot.img文件复制到当前目录下,并用copy命令将cdboot.img和core.img文件合并为grub2cd.img:

copy /B cdboot.img+core.img grub2cd.img

2.生成EFI启动镜像

用UltraISO新建一个软盘文件,然后在软盘下面新建以下文件夹:

efi\boot\

再将前面生成的bootx64.efi和bootia32.efi复制到该文件夹。最后保存为cdefi.img。

在Linux下面可以用dd生成软盘镜像,并用mount挂载软盘镜像。

3.用genisoimage命令生成可启动iso文件

在当前文件夹下面新建iso文件夹,并将iso镜像包含的文件复制到iso文件夹里面。在iso文件夹下面新建boot\grub文件夹,并将GRUB2安装目录的以下文件夹复制到iso\boot\grub文件夹下:

i386-pc(用于BIOS启动的GRUB2模块)

x86_64-efi(用于64位UEFI启动的GRUB2模块)

i386-efi(用于32位UEFI启动的GRUB2模块)

然后将grub2cd.img和cdefi.img复制到iso文件夹下面。

最后在Cygwin下面cd到当前目录,执行以下命令生成iso文件:

genisoimage -J -l -allow-lowercase -R -V GRUB2 -joliet-long -no-emul-boot -boot-load-size 4 -boot-info-table -b grub2cd.img -eltorito-alt-boot -b cdefi.img -o grub2.iso iso

genisoimage命令用法参见:

https://linux.die.net/man/1/genisoimage

genisoimage参数简介:-J:使用Joliet;-l:使用长文件名;-allow-lowercase:允许小写文件名;-R:使用Rock Ridge;-V:光盘卷标;-joliet-long:使用Joliet长文件名;-o grub2.iso:生成的ISO文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值