【BOOT】多重引导程序启动U盘

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xinlan3618/article/details/79973870

第1章.     准备U盘

1.1  U盘分区

准备工具:

1.        BooticeX64.exe

2.        U盘

建议:

1.        U盘容量不小于8G,太小存不下Windows、Linux系统镜像,只能简单的作为WinPE启动盘

1.2  操作步骤

打开bootice--》Destination Disk中选中U盘--》Physical disk--》Parts Manage--》Re-Partitioning--》选择USB-HDD mode(Multi-Partitions)--》OK--》在PartitionSetting中进行如下分区


建议:

1.        第一个分区可以在1.5G,其余划分给第二个分区,因为第一个分区要存放WinPE和其他引导文件,以及以后要添加的FreeDOS,

2.        第二个分区一定要用ExFAT格式,如果用FAT32将不能存放大于4G的单个文件,

3.        不用修改分区表类型为GPT,因为UEFI启动会搜寻FAT32格式磁盘目录下的EFI文件夹,修改为GPT分区表后MBR空间将只剩1个扇区,且不能设置活动分区。不能设置活动分区将导致BIOS方式下bootmgr不能启动,MBR只剩1个扇区(0扇区)将导致一部分引导程序的空间不足,不能写入MBR,且可能会造成GPT主分区表被覆盖(从1扇区开始)

4.        xorboot不能加载exFAT分区,所以不能加载位于exFAT分区上的wim和iso,需要使用grub2。

第2章.     操作思路

2.1  操作思路

1.        因为xorboot的启动功能强大,在此BIOS主引导程序采用xorbootV0.73(后边称为xorbootB),EFI引导程序采用xorbootUx64(后边称为xorbootU)。主要利用xorboot的RealMode模式来引导其他引导程序安装完成后导出的MBR、PBR、BIN、SYS的引导文件。

xorbootV0.73特性:

A.       BIOS版本XORBOOT支持的启动类型有GRLDR/GRLDR.MBR、NTLDR/SETUPLDR.BIN/BOOTMGR、SYSLINUX的LDLINUX.BIN/ISOLINUX.BIN(3.00~6.02)、PLoPBootManager、MS-DOS(IO.SYS)、FreeDOS(KERNEL.SYS)以及磁盘映像文件(IMG;IMA;ISO;VHD/VHDX(MSNT6x);WIM(MSNT5x/6x);VHD/VMDK(VBOOT驱动);WindowsNT5XPE(IMG/ISO/WIM))的启动。

B.        按文件系统读取文件时,文件名最大长度为31个英文字符,仅支持FAT16/FAT32/EXFAT/NTFS文件系统。

xorbootUx64特性:

A.       xorboot已内置了bootmgfw.efi,boot.sdi,启动Windows系列系统(本地系统、VHD/VHDX/WIM)时不再需要bootmgfw.efi,BCD,boot.sdi等支持文件。

2.        xorbootB放在最后在进行操作,因为操作过程中为提取一些其他引导工具的MBR文件会存在重复擦写MBR,造成xorboot的主引导记录丢失。

3.        先添加windows引导--》再grub2--》再添加--》再添加syslinux--》再添加FreeDOS--》再添加MaxDOS--》再添加WinPE。

2.2  UEFI版的特殊

因为UEFI版是通过查找FAT32格式分区内的EFI文件夹,所以不用写入等操作,只需要将文件复制到相应的目录下即可。

第3章.     添加windows引导

3.1  BIOS版引导

打开windows8或10的系统镜像,复制其中的boot文件夹至U盘FAT32分区的根目录下,并将bootmgr也复制到boot文件夹下以保持FAT32分区根目录下的文件清晰。

 

3.2  UEFI版引导

将EFI文件夹复制到FAT32分区根目录。

3.3  Windows引导总结

BIOS引导流程:

MBR中的WindowsNT6.X(第一个扇区)查找活动分区--》加载bootmgr启动管理器--》加载BCD菜单文件--》根据菜单内的文件路径启动各个系统

UEFI引导流程

UEFI启动后--》查找FAT32分区(FAT、FAT16,仅支持这几种格式)--》加载boot/bootx64.efi--》加载boot/microsoft/boot/BCD菜单文件--》根据菜单内的文件路径启动各个系统

3.4  BCD添加启动项

编辑BCD菜单,进行有目的的引导。详见:https://blog.csdn.net/xinlan3618/article/details/78860317

第4章.      添加grub2引导

4.1  安装grub2到u盘

准备材料:

grub-2.02-for-windows.zip

安装grub2到u盘过程详见:

https://blog.csdn.net/xinlan3618/article/details/78952698

4.2  准备操作

将压缩包解压至D盘根目录,并将文件夹名称修改为grub-2.02-for-windows(若不是则需要修改,因为以下步骤将需要该路径)

4.3  BISO版引导

1.        以管理员身份运行cmd,并运行cd /dd:\grub-2.02-for-windows,将工作目录转至grub-2.02-for-windows文件夹下。

2.        运行精简的命令行:grub-install.exe--directory=D:\grub-2.02-for-windows\i386-pc--locale-directory=D:\grub-2.02-for-windows\locale --boot-directory=X(FAT32分区盘符): --force --recheck--target=i386-pc \\.\PHYSICALDRIVE(X)(可以在磁盘管理器中查看U盘是第几个磁盘,将数值代替(X))

3.        此时将在FAT32分区根目录下生成grub文件夹,然后再将grub-2.02-for-windows目录下的themes文件夹复制到grub文件夹下。

4.        其他的自定义操作详见:https://blog.csdn.net/xinlan3618/article/details/78952698

5.        使用bootice备份mbr,备份63个扇区,生成grub.bin,放置在grub目录下。

4.4  UEFI版引导

1.        定制grubx64.efi,详见https://blog.csdn.net/xinlan3618/article/details/79862667

2.        精简的命令行:grub-mkimage.exe -d x86_64-efi -cx86_64-efi.cfg -p /EFI/grub -o grubx64.efi -O x86_64-efi disk part_gptpart_msdos fat exfat ext2 ntfs,精简模块,以减小生成的grubx64.efi的体积大小,其中x86_64-efi.cfg的内容如下:

search.file /EFI/grub/grub.cfgroot   

set prefix=($root)/EFI/grub   

configfile ($root)/EFI/grub/grub.cfg   

3.        复制生成的grubx64.efi至efi/boo文件夹下,在efi文件夹下新建grub文件夹,并将grub-2.02-for-windows目录下的locale、themes、x86_64-efi文件夹至efi/grub文件夹下。

4.        编辑grub.cfg文件,添加启动项,详见:https://blog.csdn.net/xinlan3618/article/details/78952698

5.        编辑theme.txt文件,详见:https://blog.csdn.net/xinlan3618/article/details/78963513

第5章.      添加syslinux引导

5.1  准备材料

Sysylinux-6.03.zip(下载地址:https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.zip)

5.2  BIOS版引导

1.        将syslinux-6.03.zip解压至d盘,在U盘根目录新建syslinux文件夹

2.        拷贝bios\win32中的syslinux.exe到U盘的syslinux文件夹下

3.        拷贝bios\com32\chain中的chain.c32到U盘的syslinux文件夹下

4.        拷贝bios\com32\menu中的menu.c32、vesamenu.c32到U盘的syslinux文件夹下

5.        拷贝bios\com32\modules中的poweroff.c32、reboot.c32到U盘的syslinux文件夹下

6.        拷贝bios\memdisk中的memdisk到U盘的syslinux文件夹下

7.        管理员身份运行cmd,切换工作目录至syslinux文件夹下

8.        运行syslinux.exe  -ma -d /syslinux/   [U盘Fat323分区盘符]: ,此时将写入引导至mbr,需备份MBR1个扇区;

9.        运行syslinux.exe  -d  /syslinux/   [U盘Fat323分区盘符]: ,此时将写入引导至pbr,需备份PBR1个扇区

10.     以上两种方法都可以,将备份文件命名为syslinux.bin,放置在syslinux文件夹下。

11.    同时生成ldlinux.sys文件,可以用xorbootB引导ldlinux.sys,也可以用xorbootB引导sysylinux.bin来跳转到ldlinux.sys。

5.3  UEFI版引导

1.        拷贝efi64\efi中的syslinux.efi到u盘的boot/syslinux文件夹下并改名为syslinuxx64.efi。

2.        拷贝efi64\com32\chain中的chain.c32到u盘的boot/syslinux文件夹下

3.        拷贝efi64\com32\menu中的menu.c32、vesamenu.c32到u盘的boot/syslinux文件夹下

4.        拷贝efi64\com32\modules中的poweroff.c32、reboot.c32到u盘的boot/syslinux文件夹下

5.        拷贝bios\memdisk中的memdisk到u盘的boot/syslinux文件夹下

6.        拷贝完成即完成部署

第6章.     添加grub4dos引导

6.1  准备材料

grub4dos-0.4.6a-2018-04-11.7z(下载地址;http://grub4dos.chenall.net/

grub4dos仅支持BIOS启动,不支持UEFI启动。

6.2  BIOS版引导

将文件解压至D盘根目录,复制grldr和menu.lst至U盘grub文件夹下。grldr即为引导文件。

第7章.     添加FreeDOS文件

7.1  准备材料

1.        已安装好的Freedos.VDI,具体获得办法详见:

2.        WinImage9.exe

7.2  BIOS版引导

1.     以管理员身份运行cmd,将当前目录切换至D:\Program Files\Oracle\VirtualBox\

2.     运行VBoxManage.exe clonehd FreeDOS.vdiFreeDOS.vhd --format vhd

3.     使用WinImage打开FreeDOS.vhd,将所有文件复制到FAT32分区根目录下,保持文件结构不变。

4.        引导过程:xorbootB引导KERNEL.SYS --》即可完成引导。

第8章.     添加MaxDOS工具箱

8.1  准备材料

Maxdos93.zip(下载地址http://pzz.cn/soft/maxdos93.zip

8.2  BIOS引导

解压安装后,将安装目录的MaxDos文件夹复制到U盘Fat32分区根目录下。

引导过程:xorbootB引导MaxDos/mxldr(需取消隐藏才能看到) --》即可完成引导。

第9章.      使用xorboot引导各引导工具

详见:https://blog.csdn.net/xinlan3618/article/details/78860317


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页