利用GRUB4DOS打造4重引导U盘

时间:2024-02-18 07:07:13
利用GRUB4DOS打造4重引导U盘
拿光碟重装系统不怎么方便,花了点时间做了一个4重引导的系统U盘。
U盘:
芯片制造商:  慧荣(SMI)
芯片型号  :  SM3257ENAA
闪存颗粒  :  东芝(Toshiba)  闪存类型: TLC  通道: 单通道  闪存总量: 32G 
模式:USB-HDD
操作系统:Windows 7
引导器:GRUB4DOS
MBR分区表:
主分区0 FAT 3.2GB WINDOWS 7 SP1 [解压缩存放]
主分区1 FAT 3.2GB RHEL6 [*解压缩存放]
主分区2 FAT 750MB Ubuntu12.04 [ISO存放]
扩展分区3
逻辑分区4FAT 750MB Windows XP [Ghost文件] + 深红叶DOS工具箱 [.img]
逻辑分区5FAT 22.5GB
因为U盘一买回来是可移动磁盘(USB-ZIP)模式,要用量产工具把它转为USB-HDD,如果不转换的话,Window磁盘对U盘是分不了区,就算用DiskGenius强行分区了,Window也只能识别第一个分区。如果全程在Linux下操作就不会有这个问题。

 

GRUB我用grubinst安装到U盘的MBR上,复制GRUB4DOS压缩包里面的grldr和menu.lst到主分区1下面。
编辑menu.lst
##########################################################################################
color black/cyan yellow/cyan
timeout 30
default /default

 

title Install Windows 7 SP1 CHN
root (hd0,0)
chainloader /bootmgr

 

title Install RedHat Enterprise Linux 6
root (hd0,1)
kernel /isolinux/vmlinuz
initrd /isolinux/initrd.img

 

title Install Ubuntu 12.07
root (hd0,2)
kernel /vmlinuz boot=casper  iso-scan/filename=/Ubuntu.iso quiet splash noprompt --
initrd /initrd.lz

 

title Start DosTools
map --mem (hd0,4)/dos.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
##########################################################################################

 

依照上文放好4个系统和DOS工具箱,把Ubuntu.iso/casper里面的vmlinuz和initrd.lz解压缩到主分区2根目录。
至于逻辑分区4就只有个.gho和.img文件就够了。
基本完成了。

 

PS:觉得很多分区不好看的话可以用DiskGenius隐藏起来。

 

FAQ:
1.为什么要每个区存放一个系统安装文件?
Windows7的bootmgr不能放到文件夹里进行引导,必须放在根目录才能引导成功,所以干脆一个系统一个区。
2.RHEL6必须解压缩存放吗?
不清楚,反正我解压缩了,并且成功引导。
3.为什么Ubuntu要用ISO存放?解压缩不行吗?
不行,必须放置整个ISO,要是解包存放,就会出错。
4.为什么用DOS工具箱而不用PE?
我试过三张不同的碟的PE都没引导成功。[ERROR: NTDETECT Failed] 故采用DOS工具箱。