一、对U盘分区格式化
如果,不给U盘分多个区,那么直接使用WinSetupFromUSB工具即可,否则,需要使用DiskGenius给U盘分多个分区(注:Windows只识别到一个U盘的首部分分区,可以使用bootice工具修改默认显示哪个分区,其实,也可以让Windows识别到U盘的所有分区,不过得用针对于特定U盘的「量产工具」修改U盘属性,容易弄坏U盘,不推荐)
二、写入系统到U盘
可以根据需要制作系统的情况,多次添加ISO镜像。
另外,对于不想要的启动选项可以通过修改menu.lst文件,如果不需要该启动项,则直接删掉配置信息就行了(如果确定不用这个系统启动项了,也可以删除对应的系统镜像文件)。
显示的启动选项顺序是根据menu.lst文件中各个配置信息的顺序决定的。
启动选项配置一般就是:
titlearchlinux-20170201 from partition 0
…
chainloader (0xff)
完整例子如下:
title archlinux-20170201 from partition 0
map --unmap=0:0xff
map --unhook && map --rehook
cat --hex --locate=PoLPu@ (md)0x3D0+0x130> nul && echo Cannot continue if PLoP is active, please start thisentry without loading PLoP first && echo && pause Press any keyto return to the main menu && configfile /menu.lst
set /a dev=*0x8280&0xff
root (%dev%,0)
set ISO=/ISO/archlinux-20170201.iso
ls %ISO% > nul || find --set-root--devices=hf /usbdrive.tag|| echo Error! Could not find usbdrive.tag &&echo && pause Press any key toreturn to the main menu && configfile /menu.lst
ls %ISO% > nul || find --set-root--devices=hf %ISO% || echo Error! Could not find %ISO% && echo && pause Press any key to return tothe main menu && configfile /menu.lst
map %ISO% (0xff) || map --heads=0--sectors-per-track=0 %ISO% (0xff) || echo FATAL ERROR mapping %ISO%, pleasecheck if file is present and defragmented && pause Press any key toreturn to main menu && configfile /menu.lst
#http://reboot.pro/topic/9916-grub4dos-isohybrided/page-2#entry88531
#http://www.rmprepusb.com/tutorials/tails
set /a dev=*0x82a0&0xff
debug 1
parttype (%dev%,3) | set check=
debug off
set check=%check:~-5,4%
if "%check%"=="0x00"partnew (%dev%,3) 0 0 0 && partnew (%dev%,3) 0x00 %ISO%
if not"%check%"=="0x00" echo WARNING: PARTITION TABLE 4 IN BIOSDEVICE %dev% IS ALREADY IN USE! && echo && echo To prevent possible data loss will not continue further&& pause && configfile /menu.lst
map --rehook
root (0xff)
chainloader (0xff)
三、附录
其实制作U盘多启动的关键之处就在于引导部分的写录,方法有很多种,可以使用bootice工具进行操作。
对于U盘分多个区之后,也可以通过bootice工具进行分区的显示和隐藏等管理操作。