把XP系统装进U盘方法
(一)从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并没有作详细解释。但测试中笔者发现,如果没有将之关闭,结果确实是不能使XP@USB系统启动成功。但是,若XP@USB系统
已经安装好,用户使用时再在主板BIOS中将“超线程”技术打开,则不会影响到XP@USB系统的启动和运行。
2.将XP安装到硬盘上后,不要为系统安装其他硬件的驱动程序,只需使用XP安装光盘本身提供的驱动程序即可。尤其是主板芯片组方面,绝对不能安装Intel等厂商所提供的驱动程序,充其量只能安装网卡和声卡的驱动程序。如有需要,其他硬件的驱动程序必须在成功完成XP@USB启动后再进行安装。
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 SP1@USB操作系统并不支持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-805XX44553540000}
注意:须包括“{” 及“ }”的大括号。
(2)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\注册表项目下,新建一个名为“usb#root_hub20”的子项,并在里面创建两个字符串。
Service=usbhub
ClassGUID={36FC9E60-C465-11CF-805XX44553540000}
注意:须包括“{” 及“}”的大括号。
7.建立了上面两个全新的注册表项目后,另外还有两个新的注册表项目需要用户手工创建。但在创建前,我们得先在注册表文件中出一些资料。
(1)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB注册表项目下,从其中一个子项出准备安装XP系统的USB设备的“Vid_&Pid_名字”。
“VID_&Pid_名字”的结构是Vid_xxxx&Pid_xxxx,当中x代表数字。如本例中,“Vid_&Pid_名字”是Vid_05e3&Pid_0702,将它用笔记录下来,留待下一步骤使用。
(2)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\U
SBSTOR注册表项目下,从里面的一个子项中出HardwarelD这个字符串,将字符串第一行的文字符号完整记录下来。本例中,要记下的文字符号是:USBSTOR\DiskFUJITSU_MHF2043AT_0811,同时将当中的“\”符号改为“#”,所以应改为USBSTOR#DiskFUJITSU_MHF2043AT_0811。
注意:当中任何一个符号,例如“.”和“_”符号不可有任何缺漏。
8.记下前面步骤获取的资料后,现在要新建两个注册表项目。
(1)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ CriticalDeviceDatabase\注册表项目下新增一个子项,子项的名字是从“Vid_&Pid_名字”修改而成的,本例中为USB#Vid_05e3&Pid_0702。然后,在该子项中新增两个字符串。
Service=usbstor
ClassGUID={36FC9E60-C465-11CF-805XX44553540000}
(2)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ CriticalDeviceDatabase\注册表项目下新增一个子项,子项的名字取自第7步的HardwarelD。本例中是USBSTOR#DiskFUJITSU_MHF2043AT_0811。然后,在该子项中新建两个字符串。
ClassGUID={4D36E967-E325-11CE-BFC1-08002BE10318}
Service=disk
注意:在以上所有针对注册表文件进行的修改中,字母大小写必须完全正确。
9.在HKEY_LOCAL_MACHINE\SYSTEM\注册表项目下,将子项MountedDevices及其里面的东西全部删掉。
如何用u盘装xp系统 10.在HKEY_LOCAL_MACHINE\SYSTEM\Setup注册表项目下,将字符串SystemPartiti
on删除。
11.检查HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\USBSTOR注册表项目,确定字符串“Start”被设置为0。在“USBSTOR”项目上单击鼠标右键,选择“权限”,设置不让操作系统在这里再进行任何更改。方法是在组中点选“SYSTEM”,并在“权限”一栏勾选“拒绝”。
之所以进行此设置,是为了避免系统将Start字符串改回“3”。若改回3,XP启动时就会出现蓝屏错误。不过,当Start字符串为O时,XP将不再自动检测和启用其他USB设备,这也是XP@USB方案最大的缺憾。网上介绍的补救方法是,用户想使用其他USB设备时,可将Start字符串改成3,用完谨记将之改成0,否则下次从USB设备启动XP便会失败。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论