一、制作256MB版[email=USB@XP]USB@XP[/email]启动闪存盘
(一)准备工作
要制作一个[email=XP@USB]XP@USB[/email]启动盘其实一点也不困难,只需有一个PE-Bulider工具软件,一个Widnows Server 2003 SP1安装文件包,一张Windows XP安装光盘(或一个已安装好的XP操作系统)便可成事。
需要的具体材料如下:
1.USB闪存盘:
如果是最基本的安装模式,256MB的容量已经足够。另外,所用的电脑系统需有256MB的系统主内存。
2.PE-Buider:
相信不少资深的电脑用户都知道BartPE公司,利用BartPE开发的PE-Buider程序,用户可以将XP操作系统安装到一张CD或DVD光盘中,实现无硬盘环境下运行Windows XP。最新版本的PE-Buider现在已支持将XP系统安装到USB闪存盘中运行,制作步骤跟制作光盘版XP启动盘相差少许,所以PE-Buider可以说是自制XP系统USB启动盘的灵魂所在。
3.Windows Server 2003 SP1升级文件包:
Windows Server 2003 SP1本来是提供给Windows Server 2003操作系统升级用的,但该升级包中有两个文件(setupldr.bin和ramdisk.sys),却造就了USB闪存盘成功启动电脑的可行性。setupldr.bin及ramdisk.sys是以压缩文件的形式存在于SP1升级包中,要使用前我们需先将它们解压缩提取出来。
Windows Server 2003 SP1的官方下载网址为:(文件大小约323.5MB) http://support.microsoft.com/kb/889100/
4.XP操作系统文件来源
Windows XP操作系统的文件来源,可以来自一个已经安装到硬盘上的XP系统,又或是一张XP的安装光盘。虽然PE-Buider可以制作出支持中文的XP启动盘,但为了简化和节约空间起见,建议使用英文版的XP操作系统或安装光盘进行此习作。
基于上述兼容性的问题,在将XP操作系统安装到USB闪存盘之前,我们最好先作一个简单的测试,看看你的USB闪存盘是否可在所用的主板上引导开机。
测试方式是利用美国惠普(HP)公司设计的Windows-based Format Utility for HP Drive Key工具软件,将USB闪存盘格式化成一个DOS形式的启动盘。如果该USB启动盘能够引导进入DOS系统,则该USB闪存盘有很大机会完成制作XP启动盘的操作。
Windows-based Format Utility for HP Drive Key的国内下载网址: http://dl.ttud.com:8068/200507/1/HPUSBFW.rar
从网上下载此软件并将其安装后启动,如果电脑中已插有USB闪存盘,程序很快就会检测出来。然后在程序主操作界面“File System”一栏选择“FAT”文件系统,再勾选“Create a DOS startup disk”(创建一张DOS启动盘)一项,最后点击“Start”按钮进行格式化。在进行这项操作前,我们还要先准备好一张DOS启动磁盘(例如Windows98启动盘),目的是让程序从中提取DOS的系统文件。
当DOS版的USB启动闪存盘制作成功后,重新启动电脑并按Del键进入主板BIOS设置窗口,将BIOS中的系统引导设备改成USB优先。然后重新启动电脑,如果能够成功启动USB闪存盘上的DOS操作系统,我们即可进入下一步骤。
(三)准备setupldr.bin和ramdisk.sys文件
前面提到我们需要Windows Server 2003 SP1升级包中的两个文件--setupldr.bin和ramdisk.sys,但这两个文件是以压缩形式存在于Windows Server 2003 SP1升级包内的,故首先我们要把它们解压出来。
1.提取setupldr.bin文件
从网上下载得到的Windows Server 2003 SP1是一个单一的.exe可执行文件,直接双击只会将它安装在系统中(若你使用的是XP操作系统,其实它是无法安装的)。
由于我们只是想打开它,故可在XP操作系统的命令行模式(桌面→开始→运行→cmd)中用“-x”的参数将它解压缩,例如:
Windows Server 2003-K889101-SP1-x86-chs.exe -x
(注:其中Windows Server 2003-K889101-SP1-x86-chs.exe是SP1升级包文件的名称,可能会因用户所下载的版本不同而有异)。
此时会弹出一个对话框让用户选择SP1升级包文件解压缩后的保存路径(例如:d:\w23sp1,)。解压完成后,在d:\w23sp1\i386文件夹中找到setupldr.bin文件,并复制到另一个文件夹中单独保存。
2.提取ramdisk.sys
在解压出来的SP1文件中,即本例d:\w23sp1文件夹内的文件,有一个叫ramdisk.sy_的文件,它本身也是一个压缩文件。想对它解压缩,也要在命令行模式下进行。
expand -r ramdisk.sy_
解压出来的是一个名为ramdisk.sys的文件,请将它保存到另一个文件夹中。
现在,setupldr.bin和ramdisk.sys两个文件都已解压出来,其他存放于d:\w23sp1文件夹内的文件已经没有利用价值,可以全部删掉。
(四)启动PE-Buider
目前PE-Buider工具软件的最新版本是3.1.10a,下载后要先进行安装,安装后可在Windows XP的“程序”中运行它。
启动PE-Buider后,程序首先会自动扫描系统内可用的Windwos源文件。可用的源文件包括:XP的安装光盘或硬盘上本身已安装的XP操作系统。选好源文件后,在PE-Buider的主操作界面上,我们可于“Output”一栏填写XP启动盘文件的保存文件夹名称(本例为BartPE)。“BartPE”子文件夹将建立到c:\pebuilder3110a文件夹中(即PE-Buider软件的安装路径)。另外,由于我们不是制作光盘版的XP启动盘,因此,在“Media Output”一栏可点选“None”。当然,如果用户想要制作一张光盘版的XP启动盘,则应点选“Create ISO image”或“Burn to CD/DVD”项目,直接刻录成启动光盘。
那么,将完整的XP系统安装到USB闪存盘或其他USB设备使用,究竟可不可行?告诉大家,答案是可行的,至于详情,就请一起参看笔者在下面介绍的[email=XP@USB]XP@USB[/email]实战报告。
(一)从USB设备启动硬盘版XP失败的原因
其实,可能已经有一些朋友尝试过将XP操作系统直接安装到大容量的USB闪存盘、USB读卡器中的存储卡或USB移动硬盘中,但结果都以失败者居多。失败的原因主要是XP操作系统启动后,会把USB闪存盘重新识别成外置的USB存储器而非本机磁盘,使系统产生USB闪存盘身份冲突的问题,从而在系统启动时出现蓝屏错误画面。
尽管失败的尝试居多,但成功的案例也有不少。网上有一位德国朋友Dietmar就在一些论坛中分享了他的成功心得。而在回贴中,不少网友按照Dietmar的方法也成功地将XP系统完整安装到USB闪存盘上。
由于Dietmar在网上披露的成功心得是以讨论形式存放的,里面夹杂着另外一些网友的回应,以及几种不同的方案,阅读起来相当凌乱,而且当中有些地方说得相当含糊,读者可能要连看几十页后才能看出端倪,因此笔者特意将当中最简单且确实可行的Tutorial 2方案介绍给大家,并整理出以下报告供各位参考。
(二)实际操作过程
1.准备一个经过格式化后的空白硬盘,将Windows XP with SP1操作系统“新鲜地”安装在硬盘当中(必须安装在第一个分区)。在安装前,若主机的CPU为具备超线程(HyperThreading)技术的处理器,用户必须先在主板BIOS中将此功能关闭(Disabled)。同时,用来安装Windows XP with SP1的电脑不能装有其他硬盘,又或是连接任何的USB设备,总之系统的硬件配置越简单越好,至于光驱和软驱则可正常连接。安装用的XP光盘要带有SP1补丁文件包,但却不能有SP2补丁文件包的存在。有SP2的存在,肯定会在启动时出现蓝屏错误画面。如果大家有心安装SP2补丁包,则请自己参考Dietmar在网上论坛中提供的其他方案。
为什么要关闭处理器的“超线程”功能,Dietmar并没有作详细解释。但测试中笔者发现,如果没有将之关闭,结果确实是不能使[email=XP@USB]XP@USB[/email]系统启动成功。但是,若[email=XP@USB]XP@USB[/email]系统已经安装好,用户使用时再在主板BIOS中将“超线程”技术打开,则不会影响到[email=XP@USB]XP@USB[/email]系统的启动和运行。
2.将XP安装到硬盘上后,不要为系统安装其他硬件的驱动程序,只需使用XP安装光盘本身提供的驱动程序即可。尤其是主板芯片组方面,绝对不能安装Intel等厂商所提供的驱动程序,充其量只能安装网卡和声卡的驱动程序。如有需要,其他硬件的驱动程序必须在成功完成[email=XP@USB]XP@USB[/email]启动后再进行安装。
3.在新安装的XP系统中,将虚拟内存设为0,方法是在桌面“我的电脑”图标上单击鼠标右键,在随后出现的快捷功能菜单中点选“属性”一项。弹出“系统属性”窗口后,在“高级”标签页的“性能”一项中依次点击“设置”→“高级”→“虚拟内存”→“更改”,勾选“无分页文件”,再点击“确定”即可。
4.完成以上准备工作后,插入想用来安装XP系统的USB闪存盘或USB硬盘,让系统成功识别出该USB设备。
5.在系统插着USB闪存盘的情况下,运行注册表编辑器(在Windows桌面依次点击“开始”→“运行”→“regedit”),准备修改注册表文件。首先要改的是四个注册表项目。
(1)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\usbehci的注册表项目中,将名为“Start”的DWORD值由3改为0,将名为“Group”的字符串由“Base”改为“Boot Bus Extender”,其余不变。
这是一个系统支持USB 2.0时才会出现的注册表项,在本文的例子中,由于准备制作的XP [email=SP1@USB]SP1@USB[/email]操作系统并不支持USB 2.0,所以此步骤大家可以跳过不看。
(2)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\usbuhci的项中,将“Start”DWORD值由3改为0,将“Group”字符串由“Base”改为“Boot Bus Extender”,其余不变。
(3)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\usbhub的项中,将“Start”DWORD值由3改为0,将“Group”字符串由“Base”改为“Boot Bus Extender”,其余不变。
(4)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\USBSTOR的项中,将“Start”DWORD值由3改为0,将“Group”字符串由“Base”改为“Boot Bus Extender”,其余不变。
6.修改了上面四个大致相同的注册表项目后,现在还要创建两个全新的注册表项。
(1)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\注册表项目下,新建一个名为“usb#root_hub”的子项,并在里面创建两个字符串:
Service=usbhub
ClassGUID={36FC9E60-C465-11CF-8056-444553540000}
注意:须包括“{” 及“ }”的大括号。
(2)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\注册表项目下,新建一个名为“usb#root_hub20”的子项,并在里面创建两个字符串。