2023年12月11日发(作者:)
linuxuefiiso,支持UEFI启动的GRUB2ISO光盘镜像的制作
本帖最后由 rkr077 于 2017-3-23 10:10 编辑
昨天试了一晚上才成功,贴出全过程。
工具:UltraISO(用于制作光盘的EFI启动镜像)
命令行工具genisoimage,mkisofs(Linux下用于生成iso文件的的命令行工具,如果是Windows系统,也可以使用其Windows版本或者
Linux模拟器cygwin)或(Windows ADK包含的iso文件生成工具,注意该文件带有微软的数字签名)
GRUB2的Windows版本(下载地址:/gnu/grub)
1.生成GRUB2的内核文件()
先使用bootice的GRUB4DOS编辑器编写文件(以UTF-8编码保存),包含以下内容:
/boot/grub/ root
set prefix=/boot/grub
normal
然后执行以下命令:
Legacy启动
grub-mkimage -c -p /boot/grub -o -O i386-pc iso9660 udf fat exfat ntfs ext2 part_msdos part_gpt
search disk biosdisk normal halt reboot
64位UEFI启动
grub-mkimage -c -p /boot/grub -o -O x86_64-efi iso9660 udf fat exfat ntfs ext2 part_msdos part_gpt
search disk normal halt reboot
32位UEFI启动
grub-mkimage -c -p /boot/grub -o -O i386-efi iso9660 udf fat exfat ntfs ext2 part_msdos part_gpt
search disk normal halt reboot
将GRUB2安装目录下的文件复制到当前目录下,并用copy命令将和文件合并为
:
copy /B +
2.生成EFI启动镜像
用UltraISO新建一个软盘文件,然后在软盘下面新建以下文件夹:
efiboot
再将前面生成的和复制到该文件夹。最后保存为。
在Linux下面可以用dd生成软盘镜像,并用mount挂载软盘镜像。
3.用genisoimage命令生成可启动iso文件
在当前文件夹下面新建iso文件夹,并将iso镜像包含的文件复制到iso文件夹里面。在iso文件夹下面新建bootgrub文件夹,并将GRUB2
安装目录的以下文件夹复制到isobootgrub文件夹下:
i386-pc(用于BIOS启动的GRUB2模块)
x86_64-efi(用于64位UEFI启动的GRUB2模块)
i386-efi(用于32位UEFI启动的GRUB2模块)
然后将和复制到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
-eltorito-alt-boot -b -o iso
genisoimage命令用法参见:
genisoimage参数简介:-J:使用Joliet;-l:使用长文件名;-allow-lowercase:允许小写文件名;-R:使用Rock Ridge;-V:光盘卷
标;-joliet-long:使用Joliet长文件名;-o :生成的ISO文件。


发布评论