教你如何把Windows XP装到U盘或移动硬盘上

教你如何把Windows XP装到U盘或移动硬盘上
教你如何把Windows XP装到U盘或移动硬盘上

推荐 | 订阅 | 收藏标题: [实战经历] 教你如何把Windows XP装在U盘上[中文版已放出查至第三页]

教你如何把Windows XP装在U盘上[中文版已放出查至第三页]

将系统装到U盘中如何自制XP@USB启动盘

2007-3-5 14:08:00文/蜀奇出处:天极网

近几年生产的主板,大多都支持从USB设备启动系统。有了这个功能,就算电脑硬盘中安装的Windows XP操作系统突然无法启动,用户也可通过事先准备好的USB启动闪存盘,进行系统检查和修复。以前最简单的USB启动盘,可能只是一个DOS操作系统再加上一些DOS工具程序;现在则更进一步,采用Linux或Windows XP操作系统。基于使用习惯的因素,以XP为基础的USB启动盘更受用户欢迎,因此今天笔者就为大家介绍一下如何自制XP@USB启动盘。

一、制作256MB版[email=USB@XP]USB@XP[/email]启动闪存盘

(一)准备工作

要制作一个XP@USB启动盘其实一点也不困难,只需有一个PE-Bulider工具软件,一个Widnows Server 2003 SP1安装文件包,一张Windows XP安装光盘(或一个已安装好的XP操作系统)便可成事。

需要的具体材料如下:

1.USB闪存盘:

如果是最基本的安装模式,256MB的容量已经足够(图1)。另外,所用的电脑系统需有256MB的系统主内存。

图 1

2.PE-Buider:

相信不少资深的电脑用户都知道BartPE公司,利用BartPE开发的PE-Buider程序(图2),用户可以将XP操作系统安装到一张CD或DVD光盘中,实现无硬盘环境下运行Windows XP。最新版本的PE-Buider现在已支持将XP系统安装到USB 闪存盘中运行,制作步骤跟制作光盘版XP启动盘相差少许,所以PE-Buider可以说是自制XP系统USB启动盘的灵魂所在。

图 2

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)

https://www.360docs.net/doc/914315449.html,/kb/889100/

4.XP操作系统文件来源

Windows XP操作系统的文件来源,可以来自一个已经安装到硬盘上的XP系统,又或是一张XP的安装光盘。虽然PE-Buider可以制作出支持中文的XP启动盘,但为了简化和节约空间起见,建议使用英文版的XP操作系统或安装光盘进行此习作。

(二)测试主板能否从USB设备启动

想要制作XP@USB启动闪存盘,最困难的是不知道主板能否支持从USB设备启动系统。如果主板BIOS中没有这个启动项目,用户当然不能通过USB闪存盘启动电脑。不过,就算主板BIOS中有这项设置,也不一定成功。原因是从USB设备启动分成模拟硬盘启动和模拟软盘启动两种方式,加上与其他

[url=https://www.360docs.net/doc/914315449.html,/f/hotweb/059/19/174845.htm]硬件[/url]的兼容性问题,如果用户的USB闪存盘与某个品牌

的主板不兼容,USB启动功能也就无法使用。

基于上述兼容性的问题,在将XP操作系统安装到USB闪存盘之前,我们最好先作一个简单的测试,看看你的USB

闪存盘是否可在所用的主板上引导开机。

测试方式是利用美国

[url=https://www.360docs.net/doc/914315449.html,/f/hotweb/0510/19/187797.htm][url=https://www.360docs.net/doc/914315449.html,/f/hotweb/0510/19/187797.htm]惠普[/url][/url](HP)公司设计的Windows-based Format Utility for HP Drive Key工具软件,将USB闪存盘格式化成一个DOS形式的启动盘。如果该USB启动盘能够引导进入DOS系统,则该USB闪存盘有很大机会完成制作XP启动盘

的操作。

Windows-based Format Utility for HP Drive Key的国内下载网址:

https://www.360docs.net/doc/914315449.html,:8068/200507/1/HPUSBFW.rar

从网上下载此软件并将其安装后启动,如果电脑中已插有USB闪存盘,程序很快就会检测出来。然后在程序主操作界面“File System”一栏选择“FAT”文件系统,再勾选“Create a DOS startup disk”(创建一张DOS启动盘)一项,最后点击“Start”按钮进行格式化(图3)。在进行这项操作前,我们还要先准备好一张DOS启动磁盘(例如Windows98启动

盘),目的是让程序从中提取DOS的系统文件。

图 3

当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,图4)。解压完成后,在d:\w23sp1\i386文件夹中找到setupldr.bin文件,并复制到另一个文件夹中单独保存。

图 4

2.提取ramdisk.sys

在解压出来的SP1文件中,即本例d:\w23sp1文件夹内的文件,有一个叫ramdisk.sy_的文件,它本身也是一个压缩文件。想对它解压缩,也要在命令行模式下进行(图5)。

图 5

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”项目,直接刻录成启动光盘(图6)。

图 6

完成设置后,在PE-Buider的主操作界面上单击Build按钮,便开始进行输出工作。输出过程一般都没有什么问题,耗时不过10多分钟,输出的文件大小总共有156MB。

(五)将输出文件导入USB闪存盘

进行到这个步骤,我们需要使用前面从Windows Server 2003 sp1升级包中提取出来的setupldr.bin及ramdisk.sys 文件。

在c:\pebuilder3110a文件夹中,新增一个名为“srsp1”的子文件夹,将setupldr.bin和ramdisk.sys文件复制到里面。之后,在c:\pebuilder3110a文件夹中,找到一个可执行文件pe2usb.cmd。在XP操作系统的命令行模式下,执行如下指令。

Pe2usb.cmd -f x:

其中“-f”指进行格式化操作,而“X:”则代表USB闪存盘的盘符代号(图7)。接下去,根据提示键入“YES”确认格式化并导出XP系统到USB闪存盘。经过8-10分钟时间后,导出过程便会完成,用户看到“Done”的字样,即可退出命令行模式。至此,XP系统USB启动闪存盘宣告制作成功,用户只要在主板BIOS中设置好从USB设备引导开机(图8),USB闪存盘便可启动进入Windwos XP操作系统。

图 7

图 8

(六)增加更多功能插件

在本文的例子中,USB闪存盘所用掉的存储空间只有150多MB,所以启动出来的XP系统(或者应该说是BartPE 系统)只有一些很基本的功能,例如[url=https://www.360docs.net/doc/914315449.html,/f/hotweb/059/19/174928.htm]网络[/url]、写字板、画笔、计算器、任务管理器等等。

想让USB版XP的功能更丰富,在上一步进行输出前,我们可在PE-Buider的主操作界面上单击“Plug-ins”按钮启动更多的功能插件(图9)。不过,这些插件要从网上下载,例如BartPE公司官方网页或者那些专门发布BartPE Plug-ins

的网站。插件的安装一般都很简单,只要细心阅读网页上的提示,制作应该没有什么难度。

图 9

安装插件后,USB版XP的大小无疑会增加一些,但用户却能得到更多的实用功能,如光盘刻录、杀毒、防间谍软件、上网、备份等等无法在这里一一诉说的功能。

二、制作一个完整版XP@USB启动闪存盘

上面已经介绍怎样将PE-builder版本的XP操作系统安装到USB闪存盘上。虽然制作成功的USB闪存盘能够引导并以XP系统核心运行,但毕竟这个方案至始至终只是一个BartPE的版本,在功能和操作方面

跟实际意义上的硬盘启动版XP系统仍有一段距离。对于真正想将XP操作系统移植到USB存储设备中的用户来说,这绝对不是理想答案。那么,将完整的XP系统安装到USB闪存盘或其他USB设备使用,究竟可

不可行?告诉大家,答案是可行的,至于详情,就请一起参看笔者在下面介绍的XP@USB实战报告。

(一)从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,方法是在桌面“我的电脑”图标上单击鼠标右键,在随后出现的快捷功能菜单中点选“属性”一项。弹出“系统属性”窗口后,在“高级”标签页的“性能”一项中依次点击“设置”→“高级”→“虚拟内存”→“更改”,勾选“无分页文件”,再点击“确定”即可(图10)。

图 10

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”(图11),其余不变。

图 11

(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”的子项,并在里面创建两个字符串(图12)。

图 12

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(图13),将它用笔记录下来,留待下一步骤使用。

图 13

(2)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR注册表项目下,从里面的一个子项中找出HardwarelD这个字符串,将字符串第一行的文字符号完整记录下来。本例中,要记下的文字符号是:USBSTOR\DiskFUJ IT SU_MHF2043AT_0811(图14),同时将当中的“\”符号改为“#”,所以应改为USBSTOR#DiskFUJITSU_MHF2043AT_0811。

图 14

注意:当中任何一个符号,例如“.”和“_”符号不可有任何缺漏。

8.记下前面步骤获取的资料后,现在要新建两个注册表项目。

(1)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ CriticalDeviceDatabase\注册表项目下新增一个子项,子项的名字是从“Vid_&Pid_名字”修改而成的,本例中为USB#Vid_05e3&Pid_0702。然后,在该子项中新增两个字符串(图15)。

图 15

Service=usbstor

ClassGUID={36FC9E60-C465-11CF-805XX44553540000}

(2)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ CriticalDeviceDatabase\注册表项目下新增一个子项,子项的名字取自第7步的HardwarelD。本例中是

USBSTOR#DiskFUJITSU_MHF2043AT_0811。然后,在该子项中新建两个字符串(图16)。

图 16

ClassGUID={4D36E967-E325-11CE-BFC1-08002BE10318}

Service=disk

注意:在以上所有针对注册表文件进行的修改中,字母大小写必须完全正确。

9.在HKEY_LOCAL_MACHINE\SYSTEM\注册表项目下,将子项MountedDevices及其里面的东西全部删掉(图17)。

图 17

10.在HKEY_LOCAL_MACHINE\SYSTEM\Setup注册表项目下,将字符串SystemPartition删除(图18)。

图 18

11.检查HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\USBSTOR注册表项目,确定字符串“Start”被设置为0。在“USBSTOR”项目上单击鼠标右键,选择“权限”,设置不让操作系统在这里再进行任何更改。方法是在组中点选“SYSTEM”,并在“权限”一栏勾选“拒绝”(图19)。

图 19

之所以进行此设置,是为了避免系统将Start字符串改回“3”。若改回3,XP启动时就会出现蓝屏错误。不过,当Start字符串为O时,XP将不再自动检测和启用其他USB设备,这也是XP@USB方案最大的缺憾。网上介绍的补救方法是,用户想使用其他USB设备时,可将Start字符串改成3,用完谨记将之改成0,否则下次从USB设备启动XP便会失败。

12.以上所有设置完成后,关闭这个新安装的XP操作系统,千万不要用它启动电脑。

13.将刚才装好XP的硬盘取下来,并装到另一台正常使用XP操作系统的电脑中,用另一个XP操作系统引导(切记不能让刚才新装的硬盘启动电脑)。进入桌面后,找到新装XP的硬盘中,将WINDOWS\System32\Config文件夹下后缀名为.sav、.log及.evt的所有文件删除。

14.打开新装XP的硬盘根目录下的boot.ini文件,检查是否与以下资料相同或相近:

[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional"/fastdetect 15.利用HP USB Disk Storage Format Tool闪存盘格式化工具软件,将准备用来安装XP的USB闪存盘或USB移动硬盘格式化,可选择FAT、FAT32或NTFS任何一种文件格式,但注意不要勾选“Create a DOS startup disk”一项(图20)。

图 20

16.用一般的复制/粘贴法,将装有这个特别版XP系统的硬盘分区上的所有文件复制到USB设备。注意,Recycle及System Volume Information两个文件夹不要复制。尤其不能够将System Volume Information的内容复制进去,因为途中系统会拒绝而使复制中断。

17.完成以上所有步骤后,在主板BIOS中设置优先从USB设备引导系统。然后用USB闪存盘启动电脑,因为是第一次尝试的缘故,最好先将其他硬盘拔掉,保持安装XP时原有的硬件配置!若XP@USB能够顺利启动,反复运行多次后,再安装其他有必要的硬件驱动程序。

[本帖最后由霄航于 2007-3-12 12:55 PM 编辑]

(三)测试结果

笔者自己在换过一个USB存储器及多次的启动尝试后,并进入XP的安全模式解决了一些硬件问题,最终XP@USB能够正常启动使用,效果与正常安装XP系统到硬盘上没有多大分别。同时,功能方面,USB版XP系统内的大部分功能如硬盘版XP系统般都可正常使用。速度方面,由于笔者使用的是一个低速的USB 1.1标准存储器,且不支持USB2.0的主机,所以感觉上是慢了一点,但仍可接受。

笔者建议用户使用1GB容量以上的USB存储器(目前市场上便宜的1GB闪存盘价格不到200元),这样可避开USB存储器不能Set Active的问题。另外,由于XP的安装在没有分页文件的情况下已经超过1GB容量,所以1GB以上容量的USB设备在安装时较为方便。当然,如果用户手上的闪存盘容量较小,想让XP安装后的体积缩小,可利用nLite之类的工具软件预先制作一个精简版的XP再进行安装。

正常使用的XP@USB系统,最好不要进行Windows Update在线升级,因为可能会使XP@USB无法启动,尤其是升级SP2补丁包。如果用户出于安全上网需要确实想升级SP2,则请参考Dietmar在网上论坛的相关报告。

最后,也是最重要的一点,闪存盘或USB读卡器中的存储卡这类Flash存储设备其实并不适合反复进行引导启动,原因是会影响闪存盘或存储卡的寿命。

以上部分为转帖。

本人(在下“霄航”)根据文中第二种方案中提到的原作者名 Dietmar 搜索到英文原帖地址。想详细了解并且想深入学习的可以看看(英文要过得去才行)

地址是:https://www.360docs.net/doc/914315449.html,/forums//index.php?showtopic=14181

能把帖子看到这步说明你也对这个方案很感兴趣了,所以我们继续往下。

上文的作者蜀奇我是非常佩服的,不过可能当时他看到这个帖子的时间比较早,或者没有时间,所以没写如何装sp2 的XP。国内的用户,包括敝人在内,能用SP2的时候是绝对不会用SP1的。还好英文原帖里有包括win 2003在内详细的记载。

在此把个人感觉比较好用的tutorial 3方案理解为以下内容,途中可能你会有几处不明白,先把一些说明性链接列出:windows的注册表说明:https://www.360docs.net/doc/914315449.html,/kb/256986

EWF技术说明https://www.360docs.net/doc/914315449.html,/china/MSDN/library/Mobility/embedded/USdnxpesp1ewfwinxp.mspx?mfr=true

我们开始 XP SP2装在U盘之旅。先附上英文原版方案

Windows XP boots from USB

Author: Dietmar St?lting, 2. Januar 2006

dietmar.stoelting@t-online.de

Germany

Tutorial (Version 3)

1.) First you have to test, whether your computer can do USB boot at all.

Set all Bios entries for USB as enabled.

Copy the 3 files https://www.360docs.net/doc/914315449.html,, ntldr, boot.ini to your USB device from which you want to

boot. The content of the boot.ini should be

[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional1"

multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional11"

The USB device from which you want to boot can be a USB harddisk (best for testing) with FAT16,

FAT32 or NTFS (compressed) with a partitionstable and the first partition set activ,

or a USB stick >= 1GByte. NTFS does not work on all compis.

If you are a Guru, it is possible to use a 256 MB USB stick with full XP!

Never use the USB stick without the EWF filter.

A US

B stick dies, when it has been written about 1000000 times!

If you now see the bootmenue, USB boot is possible on your computer.

If not, format your USB partition, build a new first partition and set it aktiv with a partitionstable on it, but now only with a size of 500MB.

Copy ntldr, boot.ini and https://www.360docs.net/doc/914315449.html, on it.

Test, whether you see after USB BOOT the two lines of the boot.ini.

When it works, you can enlarge your partition to your wished size. Test it once more.

2.) Make a new XP SP1 or SP2 or Windows Server 2003 install on your harddisk.

It is possible to copy your working XP to the USB device, but I prefer here a fresh install.

The XP installation works best, if your IDE harddisk is complete formattet or brandnew.

No other harddrive or USB device should be connected!

Dont install any other driver than from your XP CD, that can be done later!

3.) When the fresh XP install is ready, disable pagefile.

(Whether the pagefile can stay later on your USB device again, is unclear until now.)

4.) Connect that USB device to your fresh installed XP, from which you want to boot.

5.) Copy and past this fresh XP to your USB device. (From another XP installation or BartPE.)

Recycled and System Volume Information copy not.

6.) Change on the USB device the https://www.360docs.net/doc/914315449.html, against the modified one.

It is not needed on all computers, but it is sure.

If you have installed XP SP2, change there also all the USB drivers usb*hci.sys, usbhub.sys,

usbstor.sys, usbport.sys and usbd.sys in USB device folder WINDOWS\system32\drivers

against them from XP SP1.

7.) Make a folder named Rettung in config folder on the USB XP and copy Registry hive SYSTEM into.

From BartPE (or other XP) LOAD Registry hive SYSTEM of the XP on the USB device and name it otto .

8.) Delete complete key Mounted Devices in otto.

9.) Delete complete key HKLM\otto\ControlSet001\Control\CriticalDeviceDatabase.

10.) Here comes otto.reg. It will become your new CriticalDeviceDatabase.

Copy and past this text and call it otto.reg .

EDIT 28.8.2006

Here comes the new CriticalDeviceDatabase from Windows Embedded.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase]

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*aui0200] "ClassGUID"="{4D36E96F-E325-11CE-BFC1-08002BE10318}"

"Service"="i8042prt"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*azt0502] "ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

"Service"="atapi"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0000] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0100] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0200] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0303] "ClassGUID"="{4D36E96B-E325-11CE-BFC1-08002BE10318}"

"Service"="i8042prt"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0600] "ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

"Service"="atapi"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0a03] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

"Service"="pci"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0b00] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0c01] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0c02] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0c04] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0f0e] "ClassGUID"="{4D36E96F-E325-11CE-BFC1-08002BE10318}"

"Service"="i8042prt"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\acpi#processor] "ClassGUID"="{50127DC3-0F3XX15e-A6CC-4CB3BE910B65}"

"Service"="Processor"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\gendisk] "ClassGUID"="{4D36E967-E325-11CE-BFC1-08002BE10318}"

"Service"="disk"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0600] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0601] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

"Service"="isapnp"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0604] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

"Service"="pci"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0c0320] "Service"="usbehci"

"ClassGUID"="{36FC9E60-C465-11CF-805XX44553540000}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_1033&dev_00e0&rev_01] "ClassGUID"="{36FC9E60-C465-11CF-805XX44553540000}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_1033&dev_00e0&rev_02] "ClassGUID"="{36FC9E60-C465-11CF-805XX44553540000}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_8086&dev_24cd] "ClassGUID"="{36FC9E60-C465-11CF-805XX44553540000}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\primary_ide_channel] "ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

"Service"="atapi"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\PS2_KEYBOARD] "ClassGUID"="{4D36E96B-E325-11CE-BFC1-08002BE10318}"

"Service"="i8042prt"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\PS2_MOUSE] "ClassGUID"="{4D36E96F-E325-11CE-BFC1-08002BE10318}"

"Service"="i8042prt"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\root#swenum]

"ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\secondary_ide_channel] "ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

"Service"="atapi"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\usb#class_08] "ClassGUID"="{36FC9E60-C465-11CF-805XX44553540000}"

"Service"="USBSTOR"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub] "Service"="usbhub"

"ClassGUID"="{36FC9E60-C465-11CF-805XX44553540000}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub20] "Service"="usbhub"

"ClassGUID"="{36FC9E60-C465-11CF-805XX44553540000}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\usbstor#disksony____msc-u01n________] "ClassGUID"="{4D36E967-E325-11CE-BFC1-08002BE10318}"

"Service"="disk"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\usbstor#disksony____msc-u01_________] "ClassGUID"="{4D36E967-E325-11CE-BFC1-08002BE10318}"

"Service"="disk"

Below is the older version, where you have to put your Vid and Pid number by hand.

If you use the CriticalDeviceDatabase from Embedded above, you have no need for the following.

So go on with Step 11.)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase]

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0000]

"ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0100]

"ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0200]

"ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0303]

"ClassGUID"="{4D36E96B-E325-11CE-BFC1-08002BE10318}"

"Service"="i8042prt"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0a03]

"ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

"Service"="pci"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0b00]

"ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0c02]

"ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0c04]

"ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\*pnp0f13]

"Service"="i8042prt"

"ClassGUID"="{4D36E96F-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\acpi#processor] "ClassGUID"="{50127DC3-0F3XX15e-A6CC-4CB3BE910B65}"

"Service"="Processor"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\lexarusb#gendisk] "ClassGUID"="{4D36E967-E325-11CE-BFC1-08002BE10318}"

"Service"="disk"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0600] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0601] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

"Service"="isapnp"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0604] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

"Service"="pci"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0c0300] "ClassGUID"="{36FC9E60-C465-11CF-805XX44553540000}"

"Service"="usbuhci"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0c0310] "Service"="usbohci"

"ClassGUID"="{36FC9E60-C465-11CF-805XX44553540000}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0c0320] "ClassGUID"="{36FC9E60-C465-11CF-805XX44553540000}"

"Service"="usbehci"

"Service"="i8042prt"

"ClassGUID"="{4D36E96B-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\PS2_MOUSE]

"Service"="i8042prt"

"ClassGUID"="{4D36E96F-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\root#swenum] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"

"Service"="swenum"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub] "Service"="usbhub"

"ClassGUID"="{36FC9E60-C465-11CF-805XX44553540000}"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub20] "ClassGUID"="{36FC9E60-C465-11CF-805XX44553540000}"

"Service"="usbhub"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\usb#Vid_1058&Pid_0300] "ClassGUID"="{36FC9E60-C465-11CF-805XX44553540000}"

"Service"="usbstor"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Control\CriticalDeviceDatabase\USBSTOR#DiskWDC_____WD1600BB-

00FTA0_15.0]

"ClassGUID"="{4D36E967-E325-11CE-BFC1-08002BE10318}"

"Service"="disk"

11.) Install otto.reg via doubleclick.

Perhaps you must put the Vid and Pid name and the HardwareID

of your special USB device by hand to the CriticalDeviceDatabase, if the generic entries,

here for my WD160BB, do not work.

How this can be done is described in the forum in Tutorial Version 2

https://www.360docs.net/doc/914315449.html,/forums//index.php?s=&...ost&p=90809 .

For Windows Embedded I made another otto.reg as CriticalDeviceDatabase,

which also works very good for XP. Look in the forum

https://www.360docs.net/doc/914315449.html,/forums//index.php?s=&...ost&p=98046

to get it.

12.) Go to HKLM\otto\ControlSet001\Services

usbehci : Change start = 3 to start = 0

Change Group = Base... to... Group = System Reserved

usbohci : (if the key is there, if not go to next usbhub)

Change start = 3 to start = 0

Change Group = Base... to... Group = System Reserved

usbhub : Change start = 3 to start = 0

Change Group = Base... to... Group = System Reserved

USBSTOR : Change start = 3 to start = 0

Build a new key Group (REG_SZ) (this key is present for the other usb entries)

Group = System Reserved

usbuhci : Change start = 3 to start = 0

Change Group = Base... to... Group = System Reserved

If you found in your Registry no USB entries in HKLM\otto\ControlSet001\Services , you can use the following, copy and past and call it USB.reg and install it via doubleclick:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Services\USBSTOR]

"Type"=dword:00000001

"Start"=dword:00000000

"ErrorControl"=dword:00000001

"ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\

52,00,49,00,56,00,45,00,52,00,53,00,5c,00,55,00,53,00,42,00,53,00,54,00,4f,\

00,52,00,2e,00,53,00,59,00,53,00,00,00

"DisplayName"="USB-Massenspeichertreiber"

"Group"="System Reserved"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Services\usbhub]

"Type"=dword:00000001

"Start"=dword:00000000

"ErrorControl"=dword:00000001

"DisplayName"="USB2-aktivierter Hub"

"ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\

52,00,49,00,56,00,45,00,52,00,53,00,5c,00,75,00,73,00,62,00,68,00,75,00,62,\

00,2e,00,73,00,79,00,73,00,00,00

"Group"="System Reserved"

"Type"=dword:00000001

"Start"=dword:00000000

"ErrorControl"=dword:00000001

"ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\

52,00,49,00,56,00,45,00,52,00,53,00,5c,00,75,00,73,00,62,00,65,00,68,00,63,\

00,69,00,2e,00,73,00,79,00,73,00,00,00

"DisplayName"="Miniporttreiber für erweiterten Microsoft USB 2.0-Hostcontroller" "Group"="System Reserved"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Services\usbohci]

"Type"=dword:00000001

"Start"=dword:00000000

"ErrorControl"=dword:00000001

"ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\

52,00,49,00,56,00,45,00,52,00,53,00,5c,00,75,00,73,00,62,00,6f,00,68,00,63,\

00,69,00,2e,00,73,00,79,00,73,00,00,00

"DisplayName"="Miniporttreiber für Microsoft USB Open Host-Controller"

"Group"="System Reserved"

[HKEY_LOCAL_MACHINE\otto\ControlSet001\Services\usbuhci]

"Type"=dword:00000001

"Start"=dword:00000000

"ErrorControl"=dword:00000001

"DisplayName"="Miniporttreiber für universellen Microsoft USB-Hostcontroller"

"ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\

52,00,49,00,56,00,45,00,52,00,53,00,5c,00,75,00,73,00,62,00,75,00,68,00,63,\

00,69,00,2e,00,73,00,79,00,73,00,00,00

"Group"="System Reserved"

13.) Export otto as hive to folder config of your USB device.

14.) Unload otto in registry. It can be done by closing registry and restart registry again.

15.) Copy hive otto to folder Rettung.

Delete hive SYSTEM.

Rename otto to SYSTEM.

16.) Look on your USB device in Windows folder for the inf folder.

Search USB.inf, delete USB.PNF.

Search usbport.inf, delete usbport.PNF.

Search usbstor.inf , delete usbstor.PNF.

Open usb.inf, (then usbport.inf, then usbstor.inf).

Set in each the LoadOrderGroup... to... System Reserved ONLY for usbhub, usbehci, usbohci, usbuhci . Set StartType = 0 ONLY for usbhub, usbehci, usbohci, usbuhci, usbstor.

Generate key LoadOrderGroup for usbstor and set it also System Reserved .

Shut the computer down.

Disconnect all your other harddrives but the USB device and voila:

XP boots from your USB device!

Make a backup direct from your USB device if later something went wrong.

17.) I add a special feature:

If nothing works, change the ntoskrnl.exe against

a special ntoskrnl.exe . This ntoskrnl.exe works on XP SP1 and SP2.

It is the ntoskrnl.exe from XP SP1, but not that from CD, but that from

your updated XPSP1 via Microsoft with Version 5.1.2600.1634 .

(xpsp2.050301-1526)

It is not XP SP2 ntoskrnl.exe .

If you receive then after changing a 021 error message, disable all harddisks and

CDROMS in your Bios. After first USB Boot you can enable them again.

This ntoskrnl.exe works also for Windows Embedded,

means that you can run FBA on your USB device.

Thats all, dont give up, it will work!!!

I received Emails from all over the world that it is true.

Nice to hear about your results

Dietmar

PS: A Tutorial for the EWF Filter is avaible from SFiorito.

For the Hitachi Microdrive Filter, that shows your USB stick as nonremovable harddisk,

search this forum and you can get all the information you need.

Test your USB XP, whether it can boot other computers...hihi.

But always make a backup of your USB device before!

I could also write a tutorial for Windows Embedded, to install any image

on any USB device (means run FBA).

With a little luck, this XPE image boots ANY computer from any USB as single device.

[本帖最后由霄航于 2007-3-14 12:51 PM 编辑]

附件

2007-3-14 08:51 PM

下载次数: 64 tutorial3.zip(11.19 KB)

英文版

相关主题
相关文档
最新文档