梦想成真 高兼容性启动U盘制作实例与分析
文/易云
U盘是一种新型的移动存储产品,一般采用闪存存储介质(Flash Memory)和通用串行总线(USB)接口,具有轻巧精致、容量较大、便于携带、使用方便、安全可靠等特点,可用于存储数据文件以及在电脑间方便地交换数据。随着大容量U盘的普及,人们越来越期望用U盘代替软盘和光盘来实现操作系统安装、电脑维护等工作。目前主要的启动方式有USB-HDD,USB-ZIP和USB-CDROM等三种,前两种方式一般可以用HP U盘格式化工具、USBoot、FlashBoot等通用工具制作,USB-CDROM方式则需要U盘芯片(包括主控、闪存等)对应的专用“量产工具”(PDT)来实现。从大量网友的实践经验看,这几种方式均有一定的局限性,比如USB-HDD/USB-ZIP互不兼容,而有些电脑的BIOS往往仅支持其中的一种,从而导致无法启动情况的发生;而U盘对应的量产工具一般很难找到,找到了也不容易成功,还可能导致硬件损坏,量产成功后想再还原成U盘也比较困难。制作高兼容性启动U盘有没有更好的方法呢?我们通过DOS、WinPE、Linux等几种常见启动U盘的制作实例来研究一下这个问题。
一、材料选择
1、 U盘选择
我们选用市场上主流品牌KingSton和SanDisk U盘共4个,容量从1GB到8GB不等。具体参数如下:
1) KingSton DataTraveler 2.0 1G U盘 1个, usbview显示的主要参数为:
====================
Device Descriptor:
bcdUSB: 0x0200
idVendor: 0x0951 (Kingston Technology Company)
idProduct: 0x160B
iManufacturer: 0x01
0x0409: "Kingston"
iProduct: 0x02
0x0409: "DataTraveler2.0 "
iSerialNumber: 0x03
0x0409: "0801160829397"
===================
2) SanDisk cruzer TITANIUM 2GB U盘1个, usbview显示的主要参数为:
======================
Device Descriptor:
bcdUSB: 0x0200
idVendor: 0x0781 (SanDisk Corporation)
idProduct: 0x5408
iManufacturer: 0x01
0x0409: "SanDisk Corporation"
iProduct: 0x02
0x0409: "U3 Titanium"
iSerialNumber: 0x03
0x0409: "00001873CB60E14C"
======================
3) KingSton DataTraveler 2.0 4GB U盘 1个, usbview显示的主要参数为:
======================
Device Descriptor:
bcdUSB: 0x0200
idVendor: 0x0951 (Kingston Technology Company)
idProduct: 0x1603
iManufacturer: 0x01
0x0409: "Kingston"
iProduct: 0x02
0x0409: "DataTraveler 2.0"
iSerialNumber: 0x03
0x0409: "200801250000000059187F61"
======================
4) SanDisk cruzer contour 8GB U盘1个, usbview显示的主要参数为:
======================
Device Descriptor:
bcdUSB: 0x0200
idVendor: 0x0781 (SanDisk Corporation)
idProduct: 0x540E
iManufacturer: 0x01
0x0409: "SanDisk Corporation"
iProduct: 0x02
0x0409: "U3 Contour"
iSerialNumber: 0x03
0x0409: "0000161CB2704AC1"
======================
2、系统文件选择
1) DOS
目前网上有多个流行DOS镜像文件,大都是基于Windows 98自带的MS-DOS 7.1系统制作。为了方便,我们采用EasyBoot (下载:http://www.onlinedown.net/soft/4530.htm) 中自带的setup98.img文件(c:\easyboot\disk1\ezboot\setup98.img, 1.44MB),其特点是比较纯净,不包含太多的工具。
2) WinPE
采用老毛桃的070911版WinPE(BootCD_070911.ISO, 109MB,网上下载),是比较纯净的PE,比起红叶PE V30 的195MB,个头小多了。
3) Linux
选用Ubuntu 8.04 LTS 桌面版(下载:http://releases.ubuntu.com/8.04/ubuntu-8.04-desktop-i386.iso, 699MB),主流Linux Live CD之一。尽管比Knoppix大了点,本人更喜欢Ubuntu的界面。
3、制作工具选择
选用最新版UltraISO 9.2 PE。大家可能感到奇怪,UltraISO不是一款光盘工具吗?它也能制作启动U盘?为什么不选用常见的HP U盘格式化工具、USBoot、FlashBoot等工具呢?
其实,自UltraISO V9.12起,UltraISO已经包含制作启动U盘的功能。选用UltraISO来制作启动U盘有以下特点:
1) 新版UltraISO V9.2支持一种新的U盘启动技术 -- U+启动技术,它包括USB-HDD+和USB-ZIP+两种启动方式。根据UltraISO的文档(http://cn.ezbsystems.com/ultraiso/history.htm),U+启动技术可以实现USB-HDD/USB-ZIP双模式启动,从而极大地提高启动U盘的兼容性。
2) 操作简便。对于DOS、WinPE和ISOLINUX镜像文件(.IMA/.IMG, .ISO等),新版UltraISO可以直接打开、自动选择引导信息、一次性写入来完成启动U盘制作,无需额外的配置操作。
3) 支持Vista,不必回到Windows XP下操作。
二、启动U盘制作
新版UltraISO 9.2 PE的启动U盘的制作方法十分简单:
1、 运行UltraISO 9.2 PE
2、 在主菜单选“文件”-〉“打开”,出现“打开ISO文件对话框”
3、 选择镜像文件setup98.img(或者BootCD_070911.ISO,ubuntu-8.04-desktop-i386.iso)点击“打开”按钮
4、 在主菜单选“启动光盘”-〉“写入硬盘映像”,出现“写入硬盘映像”对话框
5、 插入U盘,选择USB-HDD/USB-ZIP/USB-HDD+/USB-ZIP+模式之一,点击“写入”按钮,UltraISO会提示“警告!驱动器(-X-: -容量-)-型号- 上的所有数据会丢失! 您确定继续吗?”,点击“是”即开始启动U盘制作
6、 制作完成后拔出U盘
二、启动U盘测试
1、 测试方法
为了找出高兼容性的U盘制作方法,我们针对DOS、WinPE、Linux三种系统,将所有U盘分别制作成USB-HDD, USB-ZIP, USB-HDD+和USB-ZIP+ 等4种启动模式,在测试电脑上逐一测试,记录测试结果并进行比较分析。
2、 测试电脑选择
我们选择两台笔记本电脑和三台台式机来进行启动兼容性测试。
1) IBM ThinkPad X31笔记本 1台
配置:Pentium M 1.3Ghz CPU/768MB内存,Everest显示的主要BIOS信息为:
==================
BIOS Type Phoenix
BIOS Version 1QET36WW (1.04a)
System BIOS Date 06/30/03
Video BIOS Date 03/27/03
==================
2) Dell Latitude D610笔记本 1台
配置:Pentium M 1.6Ghz CPU/512MB 内存,Everest显示的主要BIOS信息为:
==================
BIOS 类型 Phoenix
BIOS 版本 A03
系统 BIOS 日期 03/02/05
视频 BIOS 日期 11/24/04
==================
3) 华硕 K8N 组装电脑 1台
配置:K8N主板/AMD Althon 64 2800+/1GB内存,Everest显示的主要BIOS信息为:
==================
BIOS 类型 AMI
BIOS 版本 1011.005
系统 BIOS 日期 02/16/06
视频 BIOS 日期 12/18/03
==================
4)技嘉 945GC 组装电脑1台
配置:945GC主板/Intel E2140 双核CPU/2GB 内存, Everest显示的主要BIOS信息为:
=================
BIOS 类型 Award
BIOS 版本 F5
Award BIOS 类型 BIOS v6.00PG
Award BIOS 信息 Intel I945 BIOS for 945GCMX-S2 F5
系统 BIOS 日期 10/08/07
视频 BIOS 日期 03/11/05
==================
5) Dell OptiPlex 755 台式电脑1台
配置:Intel E4500 双核CPU/4GB内存,Everest显示的主要BIOS信息为:
==================
BIOS 类型 Phoenix
BIOS 版本 A05
系统 BIOS 日期 12/19/07
视频 BIOS 日期 05/18/06
==================
这些电脑涵盖了AMI, Award和Phoenix三大BIOS,BIOS日期从2003年到2007年,有较强的代表性。
值得注意的是,一般情况下BIOS会把硬盘或光盘作为首先启动设备(有些网友制作好启动U盘,直接上电脑测试如果不成功,可能并不是启动U盘没做好,应先检查一下BIOS配置),因此,要使电脑从U盘启动,必须修改BIOS的启动设备顺序,将USB设备作为首先启动设备才可以。
本次测试电脑IBM X31、技嘉 945GC、华硕 K8N BIOS的设置方法如下。
1) IBM X31 BIOS设置
开机后按“Access IBM”按钮,出现BIOS配置界面:
选“Start setup utility”,进入下一界面:
选“Startup”,进入下一界面:
再选“Boot”,进入下一界面:
展开“Hard disk”,选中U盘按F6键,使其成为第一引导盘。
最后按F10保存即可。
2)华硕K8N BIOS设置
开机后按<Del>键,进入BIOS设置界面:
切换到“Boot”页面,选“Hard Disk Drives”进入下一界面:
在“1st Drive”按<Enter>键,设置U盘为第一启动设备。
最后按F10保存退出即可。
3) 技嘉 945GC BIOS设置
开机后按<Del>键进入BIOS设置界面:
选“Advanced BIOS Features”进入下一界面:
分别设置“USB-HDD”、“USB-ZIP”、“Hard Disk”为第一、第二、第三启动设备。
最后按F10保存推出就可以了。
另外,技嘉945GC还支持F12启动菜单。在开机时按F12,出现启动菜单:
选USB-ZIP或USB-HDD启动即可。
对于Dell D610和OP755,电脑启动时按F12键,选择USB启动就可以了,可以不修改BIOS配置。
3、 测试结果
实际测试结果如下表所示。说明如下:
1) 测试结果以DOS、WinPE、Linux为大类、测试电脑为小类、测试U盘为项目进行记录
2) 测试结果分四种:
1) OK 表示完全启动(DOS出现盘符, WinPE/Linux出现完整桌面)
2) – 表示BIOS跳过U盘,从硬盘或其它设备启动
3) X 表示死机
4) E 表示无法完全启动,但有错误提示信息
注:对于USB-HDD/USB-HDD+/USB-ZIP+ 模式,UltraISO制作的U盘均会显示“Start booting from USB Device…”,因为是常规信息,在测试结果中未作记录
特别说明:由于测试工作量很大,共有3(系统)x5(电脑)x4(U盘)x4(模式)=240种组合。尽管本人力求结果数据准确无误(有些数据还测试了2次),但难免出现纰漏,也无法排除硬件个体存在的差异,欢迎大家加以验证并纠错。
系统 |
主机 |
容量 |
USBHDD |
USB ZIP |
USB HDD+ |
USB ZIP+ |
说明 |
DOS |
技嘉 945GC |
1G |
- |
OK |
OK |
OK |
E1=command.com load error |
2G |
- |
OK |
OK |
OK |
|||
4G |
- |
x |
E1 |
E1 |
|||
8G |
- |
x |
E1 |
E1 |
|||
华硕 K8N |
1G |
OK |
OK |
OK |
OK |
|
|
2G |
OK |
OK |
OK |
OK |
|||
4G |
OK |
OK |
OK |
OK |
|||
8G |
OK |
OK |
OK |
OK |
|||
IBM X31 |
1G |
OK |
E2 |
OK |
OK |
E2=Invalid system disk Replace the disk,and then press any key |
|
2G |
OK |
E2 |
OK |
OK |
|||
4G |
x |
E2 |
x |
E2 |
|||
8G |
OK |
x |
OK |
OK |
|||
Dell D610 |
1G |
OK |
E2 |
OK |
OK |
||
2G |
OK |
E2 |
OK |
OK |
|||
4G |
OK |
x |
OK |
OK |
|||
8G |
OK |
x |
OK |
OK |
|||
Dell OP755 |
1G |
OK |
E2 |
OK |
OK |
||
2G |
OK |
E2 |
OK |
OK |
|||
4G |
OK |
x |
OK |
OK |
|||
8G |
OK |
x |
OK |
OK |
|||
WINPE |
技嘉 945GC |
1G |
- |
OK |
OK |
OK |
E3=ntdetect.com run error |
2G |
- |
OK |
OK |
OK |
|||
4G |
- |
x |
E3 |
E3 |
|||
8G |
- |
x |
E3 |
E3 |
|||
华硕 K8N |
1G |
OK |
OK |
OK |
OK |
|
|
2G |
OK |
OK |
OK |
OK |
|||
4G |
OK |
x |
OK |
OK |
|||
8G |
OK |
x |
OK |
OK |
|||
IBM X31 |
1G |
OK |
E4 |
OK |
OK |
E4=Remove disks or other media, Press any key to restart |
|
2G |
OK |
E4 |
OK |
OK |
|||
4G |
E4 |
x |
E4 |
E4 |
|||
8G |
E4 |
x |
E4 |
OK |
|||
Dell D610 |
1G |
OK |
E4 |
OK |
OK |
||
2G |
OK |
E4 |
OK |
OK |
|||
4G |
x |
x |
x |
OK |
|||
8G |
E4 |
x |
E4 |
OK |
|||
Dell OP755 |
1G |
OK |
E4 |
OK |
OK |
||
2G |
OK |
E4 |
OK |
OK |
|||
4G |
x |
x |
x |
OK |
|||
8G |
OK |
x |
E4 |
OK |
|||
LINUX |
技嘉 945GC |
1G |
- |
OK |
OK |
OK |
E5=linux kernel not found |
2G |
- |
OK |
OK |
OK |
|||
4G |
- |
E5 |
OK |
OK |
|||
8G |
- |
E5 |
OK |
OK |
|||
华硕 K8N |
1G |
OK |
OK |
OK |
OK |
|
|
2G |
OK |
OK |
OK |
OK |
|||
4G |
OK |
OK |
OK |
OK |
|||
8G |
OK |
OK |
OK |
OK |
|||
IBM X31 |
1G |
OK |
OK |
OK |
OK |
E6=SYSLINUX copyright message |
|
2G |
OK |
OK |
OK |
OK |
|||
4G |
E6 |
E6 |
E6 |
E6 |
|||
8G |
OK |
OK |
OK |
OK |
|||
Dell D610 |
1G |
OK |
E7 |
OK |
OK |
E7=boot error |
|
2G |
OK |
E7 |
OK |
OK |
|||
4G |
OK |
E7 |
OK |
OK |
|||
8G |
OK |
E7 |
OK |
OK |
|||
Dell OP755 |
1G |
OK |
E7 |
OK |
OK |
||
2G |
OK |
E7 |
OK |
OK |
|||
4G |
OK |
E7 |
OK |
OK |
|||
8G |
OK |
E7 |
OK |
OK |
四、启动U盘兼容性统计分析
我们将测试结果按启动模式、U盘大小、运行系统和电脑分别进行统计。在240组实验结果中,以成功数(完全启动的次数)和成功率(成功率=成功数/样本数x100%)来表示启动U盘的兼容性。
1、 不同启动模式比较分析
每种启动模式的平均样本数为60个,统计情况如下:
启动模式 |
USB-HDD |
USB-ZIP |
USB-HDD+ |
USB-ZIP+ |
成功数 |
41 |
19 |
48 |
53 |
成功率(%) |
68.33% |
31.67% |
80% |
88.33% |
结果表明,采用U+启动技术(USB-HDD+和USB-ZIP+)制作的启动U盘的兼容性大幅高于传统USB-HDD/USB-ZIP模式,USB-HDD的兼容性也比USB-ZIP要好。
这里有一个问题需要说明一下。网上流传USB-ZIP的兼容性要比USB-HDD好,很多地方推荐将U盘格式化成USB-ZIP方式,而本次实现说明USB-HDD的成功率(68.33%)远比USB-ZIP(31.67%)高。主要原因可能有两点:一是本次实验有4GB和8GB U盘,USB-ZIP对大容量U盘的支持不好,几乎所有的测试均失败;二是本次实验包含三台原装机(IBM X31,Dell D610和Dell OP755),这几台电脑对USB-ZIP的支持均不好。如果仅选2GB以下U盘,且限于华硕、技嘉主板组装机(市场上占有份额很高的两个品牌)、不包含原装机来统计,平均样本数为12个,结果如下:
启动模式 |
USB-HDD |
USB-ZIP |
USB-HDD+ |
USB-ZIP+ |
成功数 |
6 |
12 |
12 |
12 |
成功率(%) |
50% |
100% |
100% |
100% |
因此,流传已久的推荐USB-ZIP模式还是有一定根据的,但随着4G以上U盘的普及这一结论已不再适用。
2、 不同U盘大小比较分析
四种大小的U盘的平均样本数60个,统计情况如下:
U盘容量 |
1GB |
2GB |
4GB |
8GB |
成功数 |
49 |
49 |
27 |
36 |
成功率(%) |
81.67% |
81.67% |
45% |
76.67% |
从结果看,1GB和2GB的U盘兼容性要好一些,4GB和8GB的要相对差一些。值得注意的是,其中8GB的成功率高于4GB,这表明U盘的品牌和型号是关键因素之一,而不仅仅取决于容量。
如果我们将U盘容量和启动模式结合起来分析,每项的平均样本数为15,统计情况如下:
1)1GB U盘
启动模式 |
USB-HDD |
USB-ZIP |
USB-HDD+ |
USB-ZIP+ |
成功数 |
12 |
7 |
15 |
15 |
成功率(%) |
80% |
46.67% |
100% |
100% |
2)2GB U盘
启动模式 |
USB-HDD |
USB-ZIP |
USB-HDD+ |
USB-ZIP+ |
成功数 |
12 |
7 |
15 |
15 |
成功率(%) |
80% |
46.67% |
100% |
100% |
3)4GB U盘
启动模式 |
USB-HDD |
USB-ZIP |
USB-HDD+ |
USB-ZIP+ |
成功数 |
7 |
2 |
8 |
10 |
成功率(%) |
46.67% |
13.33% |
53.33% |
66.67% |
4)8GB U盘
启动模式 |
USB-HDD |
USB-ZIP |
USB-HDD+ |
USB-ZIP+ |
成功数 |
10 |
3 |
10 |
13 |
成功率(%) |
66.67% |
20% |
66.67% |
86.67% |
这里我们欣喜地看到:采用USB-HDD+/USB-ZIP+启动的1GB和2GB U盘,在本次试验中可以实现100%兼容!
3、不同系统比较分析
三种系统的平均样本数为80,统计结果如下:
系统 |
DOS |
WinPE |
Linux |
成功数 |
55 |
44 |
62 |
成功率(%) |
68.75% |
55% |
77.5% |
从总体看,DOS 98的兼容性好于WinPE的兼容性,而Linux的兼容性最好。原因可能是Linux LiveCD本身就是为移动环境设计的,而DOS/WinPE主要是为固定环境设计的。这一结论对制作启动U盘具有指导意义,比如有些网友借助DOS或NTLDR实现grub的启动,建议优先采用DOS系统,以提高U盘的启动兼容性。
我们也将系统和启动模式结合起来分析,每项的平均样本数为20,统计情况如下:
1)DOS
启动模式 |
USB-HDD |
USB-ZIP |
USB-HDD+ |
USB-ZIP+ |
成功数 |
15 |
6 |
17 |
17 |
成功率(%) |
75% |
30% |
85% |
85% |
2)WinPE
启动模式 |
USB-HDD |
USB-ZIP |
USB-HDD+ |
USB-ZIP+ |
成功数 |
11 |
4 |
12 |
17 |
成功率(%) |
55% |
20% |
60% |
85% |
3)Linux
启动模式 |
USB-HDD |
USB-ZIP |
USB-HDD+ |
USB-ZIP+ |
成功数 |
15 |
9 |
19 |
19 |
成功率(%) |
75% |
45% |
95% |
95% |
在这里,采用USB-HDD+/USB-ZIP+启动的Linux系统兼容性达到了很高的水平。
4、不同电脑比较分析
五台电脑的平均样本数为48,统计结果如下:
电脑 |
技嘉945GC |
华硕 K8N |
IBM X31 |
Dell D610 |
Dell OP755 |
成功数 |
22 |
46 |
28 |
32 |
33 |
成功率(%) |
45.83% |
95.83% |
58.33% |
66.67% |
68.75% |
可以看出,不同电脑的U盘兼容性差别很大,其中华硕 K8N 成功率超过95%,表现十分突出。不同电脑BIOS之间的差异,也是决定U盘兼容性的关键因素之一。
为了得到不同电脑对各种启动模式的支持情况,我们将电脑型号和启动模式结合起来分析,每项的平均样本数为12,统计情况如下:
1)技嘉 945GC
启动模式 |
USB-HDD |
USB-ZIP |
USB-HDD+ |
USB-ZIP+ |
成功数 |
0 |
6 |
8 |
8 |
成功率(%) |
0% |
50% |
66.67% |
66.67% |
2)华硕 K8N
启动模式 |
USB-HDD |
USB-ZIP |
USB-HDD+ |
USB-ZIP+ |
成功数 |
12 |
10 |
12 |
12 |
成功率(%) |
100% |
83.33% |
100% |
100% |
3)IBM X31
启动模式 |
USB-HDD |
USB-ZIP |
USB-HDD+ |
USB-ZIP+ |
成功数 |
8 |
3 |
8 |
9 |
成功率(%) |
66.67% |
25% |
66.67% |
75% |
4)Dell D610
启动模式 |
USB-HDD |
USB-ZIP |
USB-HDD+ |
USB-ZIP+ |
成功数 |
10 |
0 |
10 |
12 |
成功率(%) |
83.33% |
0% |
83.33% |
100% |
5)Dell OP755
启动模式 |
USB-HDD |
USB-ZIP |
USB-HDD+ |
USB-ZIP+ |
成功数 |
11 |
0 |
10 |
12 |
成功率(%) |
91.67% |
0% |
83.33% |
100% |
这组统计数据十分有意义。首先看五个100%,华硕 K8N对USB-HDD,USB-HDD+,USB_ZIP+等三种启动模式的支持表现得十分优秀,而Dell D610和OP755对USB-ZIP+的支持也堪称完美。其次看三个0%,技嘉945GC(Award BIOS)不支持USB-HDD模式,而Dell D610和OP755(Phoenix BIOS)则不支持USB-ZIP模式,而采用U+启动技术的USB-HDD+和USB-ZIP+很好地解决这一问题。
五、结论
通过上面的实例和统计分析,对于制作高兼容性启动U盘,我们得出以下经验:
1、 鉴于4GB以上U盘的兼容性不太好,应选用2GB以下容量的U盘
2、 建议采用高兼容性的U+启动技术(USB+HDD+或USB-ZIP+启动模式)
3、 因为DOS、WinPE、Linux的兼容性不尽相同,应尽量采用兼容性好的操作系统
最后,祝大家能够制作出属于自己的100%可启动U盘,实现“一盘在手,走遍天下”的梦想。