【Syslinux & Grub & Grub2】万能优盘启动盘 (WinPE、LinuxPE)-- 方法2 U盘ISO写入(推荐)

版权声明:本文为博主原创文章,转载注明出处 https://blog.csdn.net/u010875635/article/details/82820121

本方法相对于方法一,采用了单ISO方式,管理更方便,ISO内集成了Syslinux、Grub4Dos、Grub2,同时支持UEFI和BIOS。

单镜像模板,需要自行放入WinPE、Slitaz、Clonezilla及其它镜像。

下载地址:https://download.csdn.net/download/u010875635/10685220

 

若不想自己制作,可直接下载成品,将三个分卷下载,放在同一个文件夹,解压出ISO,下载地址:

第一部分:https://download.csdn.net/download/u010875635/10683450

第二部分:https://download.csdn.net/download/u010875635/10683456

第三部分:https://download.csdn.net/download/u010875635/10683464

 

写入时,需要使用UltraISO9.7以上版本,支持Syslinux v6,因为内部Syslinux引导使用的6.02版的模块。

UltraISO写入时,会自动检测文件夹中是否存在isolinux.bin和isolinux.cfg文件,根据文件往U盘中写入Syslinux引导,并生成syslinux.cfg,U盘启动时读取的是syslinux.cfg而非isolinux.cfg。

 

启动过程:

BIOS:初始启动Syslinux,在Syslinux中可启动WinPE、Slitaz、CloneZilla,还可从Syslinux启动Grub和Grub2

UEFI:直接通过grub2的efi启动Grub2,Grub2,链接到修改过的bootmgfw.efi启动当前目录下的BCD,进而启动WinPE,Slitaz和CloneZilla启动方式与BIOS一样。

 

 

本来打算BIOS和UEFI下都只使用Grub2,但是有一些小问题尚未解决:

1、BIOS下如果ISO内使用Grub2引导,只能使用raw模式写入,不能使用USB-HDD,这样会导致多余的空间需要自己手动来格式化分区,后续考虑自己写一个软件来写入并自动分区。

2、Grub2可快速挂载ISO9660标准的镜像,但是无法模拟从ISO启动,但是很多WinPE并非此标准,虽然说Grub2有两种方法可以启动WinPE(1、使用Syslinux的memdisk,但是加载速度远远不如Syslinux和Grub,部分机型无法启动;2、使用WimBoot引导wim文件,测试发现黑屏),但是不是很好用。

 

目录结构:

除了WinPE相关工具,Slitaz及CloneZilla不区分BIOS和UEFI。

 

制作方法:

一、准备文件

1、制作BIOS及UEFI版本的grub2(制作时要指定路径,路径示例:BIOS:/BIOS/grub2UEFI:/EFI/grub2)。

grub2的BIOS和UEFI版本内核参考另外两篇博客来制作即可,也可直接下载ISO提取。

注意:BIOS版本中,从Syslinux启动grub2,制作内核时与机器直接启动略有不同,需要注意不能使用boot.img,而是lnxboot.img,否则无法启动

grub-mkimage.exe -d i386-pc -c i386-pc.cfg -p /BIOS/grub -o z_core.img -O i386-pc biosdisk part_msdos fat exfat iso9660 
copy i386-pc\lnxboot.img zlnx_boot.img 
copy /b zlnx_boot.img+z_core.img zlnx_g2ldr 
del /f zlnx_boot.img z_core.img pause

BIOS:https://blog.csdn.net/u010875635/article/details/82584644

UEFI:https://blog.csdn.net/u010875635/article/details/74289971

2、提取BIOS版本grldr(路径示例:BIOS:/BIOS/grub)

直接下载grub4dos,提取grldr即可,由于grldr菜单编辑需要特殊工具,后期修改麻烦,最后在grldr中设置一个菜单,指向grub.lst,后续编辑grub.lst即可。

3、提取BIOS版本Syslinux(路径示例:BIOS:/BIOS/syslinux)

下载Syslinux6.02完全版,然后提取文件夹中的bios下的isolinux.bin和isolinux.cfg,以及chain.c32、ldlinux.c32、libutl.c32、libcom32.c32、menu.c32、poweroff.c32、reboot.c32、vesamenu.c32等用到的模块。

4、提取clonezilla的live文件夹(路径示例:/live)

直接从clonezilla镜像中解压出来即可。

5、提取slitaz的bzImage和rootfs.gz(路径示例:/BIOS/IMGS)

从下载的slitaz中提取出ram版本。

6、BIOS和UEFI版本WinPE(路径示例:BIOS:/BIOS/IMGS,UEFI:/EFI/WinPE)

下载BIOS和UEFI版本的PE镜像,注意最好不要使用外挂PETOOLS,否则要根据路径修改PE里面的PECMD.ini,BIOS版本直接使用ISO,UEFI版本需要解压出boot.img,下载特殊的bootmgfw.efi(可引导同一文件夹的BCD)、指向本文件夹boot.img的BCD,boot.sdi等文件,放到同一个文件夹

 

二、开始制作

1、编辑好isolinux.cfg、grub2.cfg、grub.lst菜单,对应好目录。

2、将grub2的UEFI版本z_g2ldr.efi改为bootx64.efi(UEFI会搜索/EFI/Boot/bootx64.efi)

3、使用UltraISO新建iso镜像,将准备好的文件按照对应文件夹放好,然后修改属性,提示不可引导光盘不用理会,没有影响,不使用自带引导,引导是写入时才生成的。

 

写入u盘时,会自动搜索isolinux.bin和isolinux.cfg,形成BIOS引导,UEFI无引导,直接启动bootx64.efi

猜你喜欢

转载自blog.csdn.net/u010875635/article/details/82820121