2024年2月9日发(作者:)

沙雨泪工作室

jn

Windows 部署教程

XP网络化批量部署

沙雨泪编

2008

1 / 20

QQ:17272883 EMAIL: SHAYULEI+NET@

前 言

我按照论坛上杨治平写的一篇《中小企业桌面部署解决方案》的方案实施XP的网络化部署时,遇到了许多新的问题,走了许多的弯路,所以现在又整理了一下,希望下位实施的朋友能更轻松一点。因为是按《中小企业桌面部署解决方案》实施的,所以下文中有多处是用到了杨治平的方案,在此我要感谢他提供了这么好的教程,此文章只作互相学习交流使用,如涉及版权问题,请立即通知我。

沙雨泪 编

Sahyulei+net@

2008年7月22日

目 录

一、 服务器的配置 ................................................................................................................... 1

1) 安装DHCP。 .................................................................................................................... 1

2) 安装Windows 部署服务,注意在安装Windows 部署服务前请先部署域。 ........... 1

3) 配置Windows 部署服务。 ............................................................................................. 2

4) 建账户和设共享 ............................................................................................................... 3

5) 制作启动映像 ................................................................................................................... 4

6) 现在我们在服务器上编写一些批处理用于恢复映像和集成驱动。 ........................... 6

二、 客户机设置,请按下例次序操作。 ............................................................................. 13

1) VPC的设置 ..................................................................................................................... 13

2) 做文件 ......................................................................................................... 13

3) 让映像适应更多硬盘类型 ............................................................................................. 14

4) 将C:自制到C:sysprepi386$oem$目录下。 ......................... 15

5) 将C:到C:sysprepi386$oem$目录下。 ................ 15

6) 将spsprep复制到c:sysprepi386$oem$目录下。 ................................................... 15

7) 新建脚本 ......................................................................................................... 15

8) 在C:sysprepi386$oem$目录下建立文件内空如下: ........................ 15

9) 让计算机准确识别电源模式 ......................................................................................... 15

10)

11)

12)

13)

14)

在设备管理器中把计算机改成标准计算机,把IDE改成标准IDE,不重启。 ... 16

用微软的工具删除所有驱动 remove *................................................. 16

用sysprep做系统准备 .............................................................................................. 16

删除注册表中的硬件信息 ......................................................................................... 16

抓取XP映像............................................................................................................... 16

此方案的特点是1) 实现了自动识别新装机还是重装机,自动先择分区还是格盘,2)自动识别C盘在第几个分区上,按实际情况编写,3)自动安装系统及驱动,4) 驱动、脚本放在共享里维护方便,5)重新系统时自动更改计算机名,6)自动加域,7)自动安装常用程序。我尽量我把实施的每一过程都清楚的写下来,下面我们就开始吧。

一、 服务器的配置

1) 安装DHCP。

如果部署服务器和客户机不在同一个网段内,要注意DHCP服务和windows 部署服务一定要装在一台服务器上,因为华为的三层交换机不能同时把DHCP包转发给二台服务器,而PXE引导时用得是DHCP,过程这样,PXE先发一个DHCP广播包申请一个IP,申请到IP后又发一个DHCP广播包询问windows 部署服务器的IP,此时三层交换机收到Windows 部署服务回答的非标准DHCP包时会直接丢弃,这是我通过抓包,折腾了一个星期才搞清楚的。因为公司里没有思科的三层交换机,所以不知道结果怎样。DHCP服务的安装过程可以通过“管理我的服务”-》添加角色-》DHCP来做,这里不再详述。

2) 安装Windows 部署服务,注意在安装Windows 部署服务前请先部署域。

在添加/删除程序中点添加Windows组件,选中Windows 部署,单击下一步,开始安装服务。

安装完成后要求重启服务器。

第 1 页

3) 配置Windows 部署服务。

a) 右键选择服务器,点配置服务器

b) 输入启动映像的存放位置

请不要放在C盘,最好单独放一分区

第 2 页

c) 不侦听67端口

d) 响应所有客户机,点完成,Windows部署服务器就配置好了

e) 取消F12按键。

当我们选择网络启动,客户机找到WDS服务器后,会提示按F12继续,为了减少操作,我们要去掉这个提示,以32位启动映像为例。我们找到E: 改成,把pxeboot.n12改成,这样启动的时候就没有F12的提示了。

4) 建账户和设共享

a) 为Windows部署服务新建一个专用的户用“Risuser”, 密码:123456,注意选择用户不能更改密码及密码永不过期。

第 3 页

b) 在Windows部署服务专用分区上新建一个目录叫OS,用于存放准备安装的操作系统,并给把OS共享给Risuser用户只读,在安全选项卡中也删其它用户并加入Risuser的只读权限,如图所示

5) 制作启动映像

a) 我们先去微软网站上下载并在一台XP上安装Windows AIK 光盘映像,请注意要正版验证。地址如下:/downloads/?displaylang=zh-cn&FamilyID=c7d4bc6d-15f3-4284-9123-679830d629f2

b) 把Windows AIK 安装目录下的拷到E盘根目录下备用,这是启动映像,用于启动计算机,并执行安装程序。注意我们现在拷的是32位的映像,如需64位的映像,请拷,现在的64位系统都兼容32位,所以我第 4 页

们在这里选择32位的启动映像。

c) 在E盘根目录下新建一下PE的目录,然后在所有程序中,找到 Windows PE 工具命令提示,输入以下命令imagex /mountrw e: 1 e:pe

打开E:pe目录,我们把、、拷到E:pewindowssystem32目录下,大家可以把常的命令及绿色软件都拷进来,以备日后不时之需。

d) 编写,用于映射网络盘,代码如下

@echo off

Net use z: server2os “Password” /user:域名risuser

e) 用类似于的软件把这个批处理加密成拷到E:pewindowssystem32备用,目的是为了防止其它人查看到Risuser用户的密码,用于不正当用途

f) 编写,代码如下:

Call z:

写好后拷到E:pewindowssystem32下备用。为什么要Call Z盘的,因为要解开很不方便,而Z盘是我从服务器上映射的网络盘,日后如果要改动处理,可以直接在服务器上改,而不用重新把做一遍。

g) 在E:pewindowssystem32下找到,并改写代码

谢谢你的提醒,现在代码如下:

@echo off

@echo 正在加载网卡驱动.................

:startnet

set /a ci+=1

if %ci% equ 4 goto end

wpeinit

if %errorlevel% neq 0 goto startnet

call

:end

@echo 无法联系部署服务器,安装程序已退出

我发现winpe启动好后会自动运行这个批处理,而我又找不到让程序自动执行的好办法,所以只好改写了系统的批处理,让我的程序可以自动安装。

h) 在Windows PE 工具命令提示下,输入:imagex /unmount /commit e:pe 封装回wim文件,并把新的拷到服务器的E盘上

i) 将导入Windows 部署服务中

1) 打开Windows 部署服务,右键选择启动映像,点击添加映像。

批注 [x1]: /a 表示设数值型变量,

ci+=1 表示 ci=ci+1

批注 [x2]: 尝试启动网络三次,如果还不功就退出

批注 [x3]: 出错时ping会返回1,errorlevel是取ping的返回值

批注 [x4]: 0表示wpeinit运行成功,有些网络环境不好,wpeinit运行一次不一次成功,要多运行几次

第 5 页

2) 输入文件的位置,点完成,系统导入启动映像。

6) 现在我们在服务器上编写一些批处理用于恢复映像和集成驱动。

a) 编写。这是从启动映像转到服务器上的第一个批处理,它是启动映像和服务器之间的接口,如果要增加什么功能,都要修改此批处理。此批处理的功能如下:实现菜单功能,分区功能。代码如下:

%菜单设计%

@echo off

cls

echo ****************************************************************

echo * *

第 6 页

echo * 请注意:自动安装会格式化C盘,请在安装前保存好C盘的资料 *

echo * *

echo ****************************************************************

echo.

echo.

echo ================================================================

echo.

echo 请按屏幕提示进行选择:

echo 1. 自动安装WINDOWS XP PRO SP3

echo.

echo 2. 返回CMD界面手工操作

echo.

echo ================================================================

echo.

z:CHOICEforVistaX86choice /c 12 /t 5 /d 1 /n /m "5秒后如果未作选择将自动执行windows xp pro sp3的安装程序"

if %errorlevel% EQU 1 goto setup

if %errorlevel% EQU 2 goto end

%菜单设计完毕%

:setup

%.......分区及格式化硬盘.....................%

if not exist C: (

的电脑,需要分区,设启动盘。

diskpart /s z:

) else (

::测试有没有C盘,如果没有C盘,说明是新 @echo test >d: ::现在的笔记本都是分了一个区,这个批处理会把笔记本的分区删掉,重新分成四个分区(注,不删还原分区),这里我们先向D盘写一个文件,如果不能写,说明是光驱,此电脑只有一个分区,请注意,有一定的误判。

if not exist d: (

diskpart /s z:

) else (

del d: /q

format c: /fs:ntfs /q /y

)

)

%...........................................%

call z:

:end

::判断为重装系统,只格式化C盘

注:请下载的Vista版拷贝到服务器OS CHOICEforVistaX86目录下。

b) 做diskpart脚本,(注:目前的脚本只对第一块硬盘做操作)。

第 7 页

在服务器的OS目录下新建一个diskpart目录,在diskpart目录里新建和二个TXT文件。

是用于新电脑分区,第一个主分区C盘是20G,并设成引导分区;把剩下的容量设成扩展分区,第一个是逻辑D盘是20G,第二个逻辑E盘是20G,剩下的容量分为第三个逻辑分区F盘,所以这个脚本只适用于最小容量为80G的硬盘,但可以根据实际情况修改其参数。脚本代码如下:

select disk 0

CREATE partition primary size=20000

format fs=ntfs quick noerr

active

create partition EXTENDED

create partition LOGICAL size=20000

format fs=ntfs quick noerr

create partition LOGICAL size=20000

format fs=ntfs quick noerr

create partition LOGICAL

format fs=ntfs quick noerr

是用于新的笔记本,新的笔记本只有一个分区,不符合中国人的使用习惯,所以要删了C盘重新分。脚本代码如下:

select disk 0

select volume c

delete volume

CREATE partition primary size=20000

format fs=ntfs quick noerr

active

create partition EXTENDED

create partition LOGICAL size=20000

format fs=ntfs quick noerr

create partition LOGICAL size=20000

format fs=ntfs quick noerr

create partition LOGICAL

format fs=ntfs quick noerr

是用于生成和前获取C盘是第几个分区,代码如下:

第 8 页

select disk 0

select volume c:

list partition

c) 做脚本,此脚本的主要目的是恢复映像和集成驱动。脚本代码如下:

/apply z: 1 c: ::恢复映像

xcopy z:drivers c:drivers* /s /y ::copy 驱动到客户机到,我没有把驱动集成到映像中,是因为我认为维护映像还是太麻烦,还是把驱动放在共享里,要增加驱动直接往里面拷就好了。

call z: ::创建与文件

shutdown -r -t 0 :: ::这里用到的shutdown是做启动映像时先拷进去的,也可以放在共享里,因为不知道PE里的重启命令,所以把shutdown来用。

exit

d) 做脚本

是安装好系统会自动运行的脚本,可以用来改变计算机的设置和清理安装时留下的垃圾,代码可以根据自己的需要添加,建议预设以下代码:

@echo off

@echo 程序正在运行

::修复远程桌面

call z:

::点亮小键盘的灯

start /wait cscript //b z:

::改计算机名,需重启生效

if not exist D: goto :del

set /p newname=<"D:"

wmic computersystem where "name='%computername%'" call rename %newname%

ping 127.0.0.1 -n 30 1> nul ::延时,shutdown运行会不成功

regedit /s z:

shutdown -r -t 10

copy z: c: /y 1>nul

exit

:del

del c: /q

del c: /q

注:改计算机名的方法是,先将计算机名保存在TXT文件中,放在C盘以外的盘中,重装系统后从TXT文件中读取,以下脚本是读取计算机名的,我们可以把它做成MSI分发下去,代码如下:

@echo off

echo %computername% > d:

e) 编写,放在共享的REG文件夹下,内容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnce]

"run1"="C:"

f)

做脚本

第 9 页

位于VBS目录下,用来把小键盘的数字灯点亮,以免用户忘了按,导致密码输错,代码如下:

const HKEY_USERS = &H80000003

strComputer = "."

Set StdOut =

Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!" &_

strComputer & "rootdefault:StdRegProv")

strKeyPath = ".DEFAULTControl PanelKeyboard"

strValueName = "InitialKeyboardIndicators"

strValue = "2"

ingValue HKEY_USERS,strKeyPath,strValueName,strValue

g) 做

@echo on

@echo 正在连接网络............

:ping

ping 192.168.2.2 -n 30 1>nul

if %errorlevel% NEQ 0 goto renew

c:

call z:

:renew

set /a ci+=1

if %ci% equ 4 echo 网络出现故障 & goto :EOF

start /wait ipconfig /renew

goto :ping

:end

h) 做脚本

因为有些笔记本的隐藏分区是第一个,导致我原来的中的参数不正确,所以要根据实际情况重新生成一份,代码如下:

@echo off

attrib -s -h -r c:

attrib -s -h -r c:

for /f "Tokens=1-3" %%i in ('diskpart /s z: ^| find "*" ') do set

/a SystemPart=%%k ::思路,先用diskpart选中C盘,选中后用list partition显示分区时,会在C盘这个分区前带个“*”,然后用find查找带有“*”那行,截取第三个字符,就是分区号,注意事项在括号内的管道命令要用转意符^,Tokens=1-3的意思是取第一到第三个字符, set /a SystemPart 表示给变量SystemPart赋一个数据型的值

if %SystemPart% LSS 1 GOTO error ::测试取的号是否正确

if %systemPart% GTR 10 goto error ::测试取的号是否正确

::生成

第 10 页

批注 [x5]: 有些网络环境不好,电脑不能一次就成功获取IP,需要重试,并需要增加延时,等待IP获取成功

echo [boot loader] > c:

echo timeout=30 >> c:

echo default=multi(0)disk(0)rdisk(0)partition(%SystemPart%)WINDOWS >>

c:

echo [operating systems] >> c:

echo multi(0)disk(0)rdisk(0)partition(%systemPart%)WINDOWS="Microsoft

Windows XP Professional" /noexecute=optin /fastdetect /detecthal >> c:

::生成

echo [boot loader] > c:

echo timeout=30 >> c:

echo default=multi(0)disk(0)rdisk(0)partition(%SystemPart%)WINDOWS >>

c:

echo [operating systems] >> c:

echo multi(0)disk(0)rdisk(0)partition(%systemPart%)WINDOWS="Microsoft

Windows XP Professional" /noexecute=optin /fastdetect >> c:

goto :EOF

:error

echo 测试系统盘出错,请手处理 & goto :EOF

:end

i) 编写脚本,用于把计算机加入到域,代码如下:

::加域

@echo off

@echo 正在连接网络............

:ping

ping 192.168.2.2 -n 30 1>nul

if %errorlevel% NEQ 0 goto renew

c:

start /wait z:

regedit /s z:

ping 127.0.0.1 -n 5 1>nul

shutdown -r -t 5

copy z: c: /y 1>nul

goto :EOF

:renew

set /a ci+=1

if %ci% equ 4 echo 网络出现故障 & goto :EOF

start /wait ipconfig /renew

goto :ping

:end

j) 准备加域的账户,我们就用risuser这个账户加域,首先我做写一条组策略,在计算机配置-windows设置-安全设置-本地策略-用户权利指派-域中添加工作站中添加第 11 页

risuser账户,并把这条策略挂在域控制器级上,在DC上的计算机与账户上选择根OU,赋写入及修改权限,这样这个账户就有了加域的权限。在VBS目录下编写脚本,作用是把计算机加入到域,输入代码如下:

Const JOIN_DOMAIN = 1

Const ACCT_CREATE = 2

Const ACCT_DELETE = 4

Const WIN9X_UPGRADE = 16

Const DOMAIN_JOIN_IF_JOINED = 32

Const JOIN_UNSECURE = 64

Const MACHINE_PASSWORD_PASSED = 128

Const DEFERRED_SPN_SET = 256

Const INSTALL_INVOCATION = 262144

strDomain = ""

strPassword = "password"

strUser = "rissuser"

Set objNetwork = CreateObject("k")

strComputer = erName

Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!" & _

strComputer & "rootcimv2:Win32_='"

& _

strComputer & "'")

ReturnValue = mainOrWorkGroup(strDomain, _

strPassword, _

strDomain & "" & strUser, _

NULL, _

JOIN_DOMAIN + ACCT_CREATE)

k) 我们用加密这个脚本加密目录是不让人知道可以加域的账户和密码,的代码如下:

set fso=createobject("stemobject")

Set objDialog = CreateObject("Dialog")

= "vbs File|*.vbs|All Files|*.*"

lDir = ""

en

strLoadFile = me

if not strLoadFile = "" then

set op=xtfile(strLoadFile)

dow=13

do while fstream=false

line=ne

for i=1 to len(line)

achar=mid(line,i,1)

dow=dow&Chr(44)&asc(achar)

第 12 页

批注 [x6]: 请输入域名

批注 [x7]: 请在此处输入密码

next

dow=dow&chr(44)&"13"&chr(44)&"10"

loop

set op=xtfile(strLoadFile,2)

"strs=array("&dow&")"&chr(13)&chr(10)&_

"for i=1 to UBound(strs)"&chr(13)&chr(10)&_

" runner=runner&chr(strs(i))"&chr(13)&chr(10)&_

"next"&chr(13)&chr(10)&_

"Execute runner"

msgbox "加密成功",,"DOS资源站制作 - "

end if

l) 编写脚本,只要作用是更新组策略和清理临时文件

::使组策略生效,自动安装一些软件

@echo off

gpupdate

del c: /q

del c: /q

net use z: /delete /y

m) 集成驱动

在OS目录中新建一个Drivers目录,在这个目录下新建Audio、chipset、ethernet、Other、video这五个目录,并把做映像时编辑好了拷到此目录下备用。拿声卡驱动为例,我们可以把每一种驱动拷到以009的格式命名的目录中,需要注意的是009这种目录下必须直接存放安装驱动所需的.INF文件。

n) 解决无法远程桌面连接的问题

该问题可能是由于Terminal Services的设备重定向器有问题,导致连接失败。解决方法:

到以下链接下载工具/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce67f3e0240/ ;解压到一个目录,启动命令行模式,切换到该目录的i386目录;运行devcon -r install %windir% rootrdpdr命令重新安装Terminal

services重定向器; 然后重启系统,测试是否修复错误。现在我们把它做成批处理加到中就行了,过程如下:把 32位版复制到服务器的OS目录的bindevconX86目录下,新建一下的脚本,代码如下:

z:bindevconX86devcon -r install %windir% rootrdpdr

二、 客户机设置,请按下例次序操作。

1) VPC的设置

首先在VPC里设置最小的硬件,像声卡,网卡这种能不装的硬件就不用装了,硬盘要设二个,一个安系统,一个放封装系统的工具,并设成UNDO盘,然后安装好要部署的系统,这里以XP SP3为例。

2) 做文件

将windows xp sp3安装光盘里的EXE文件解压到c:sysprep目录下,运行,按提示一步步做完,需要注意的事,在administrator一栏不要输密码,不然会提示输入密码,破坏了自动化安装。

最后在用户第一次登录后运行以下命令。

第 13 页

C:

3) 让映像适应更多硬盘类型

现在的个人计算机硬盘有IDE接口的,有SATA接口的,所以我们必须让计算机能自动识别接口类型。方法是在C:文件的未尾输入:

[Sysprep]

BuilMassStorageSection=Yes

[SysprepMassStorage]

在命令提示符状态下输入sysprep –bmsd,程序运行结束后会多很多内容。

请添加以下内容到的指定位置,实现集成驱动和不安装游戏,其中OemPnPDriversPath项的内容不宜添加太多,否则注册表会出错。

[Unattended]

OemPreinstall=Yes

OemPnPDriversPath=driversAudio000;driversAudio001;driversAudio002;driversAudio003;driversAudio004;driversAudio005;driversAudio006;driversAudio007;driversAudio008;driversAudio009;driversAudio010;driversAudio011;driversAudio012;driversAudio013;driversAudio014;driversAudio015;driversAudio016;driversAudio017;driversAudio018;driversAudio019;driversAudio020;driversAudio021;driversAudio022;driversAudio023;driversAudio024;driversAudio025;driversAudio026;driversAudio027;driversAudio028;driversAudio029;driversAudio030;driversAudio031;driversAudio032;driversAudio033;driversAudio034;driversAudio035;driverschipset000;driverschipset001;driverschipset002;driverschipset003;driverschipset004;driverschipset005;driverschipset006;driverschipset007;driverschipset008;driverschipset009;driverschipset010;driverschipset011;driverschipset012;driverschipset013;driverschipset014;driverschipset015;driverschipset016;driverschipset017;driverschipset018;driverschipset019;driverschipset020;driverschipset021;driverschipset022;driverschipset023;driverschipset024;driverschipset025;driverschipset026;driverschipset027;driverschipset028;driverschipset029;driverschipset030;driverschipset031;driverschipset032;driverschipset033;driverschipset034;driverschipset035;driversethernet000;driversethernet001;driversethernet002;driversethernet003;driversethernet004;driversethernet005;driversethernet006;driversethernet007;driversethernet008;driversethernet009;driversethernet010;driversethernet011;driversethernet012;driversethernet013;driversethernet014;driversethernet015;driversethernet016;driversethernet017;driversethernet018;driversethernet019;driversethernet020;driversethernet021;driversethernet022;driversethernet023;driversethernet024;driversethernet025;driversethernet026;driversethernet027;driversethernet028;driversethernet029;driversethernet030;driversethernet031;driversethernet032;driversethernet033;driversethernet034;driversethernet035;driversOther000;driversOther001;driversOther002;driversOther003;driversOther004;driversOther005;driversOther006;driversOther007;driversOther008;driversOther009;driversOther010;driversOther011;driversOther012;driversOther013;driversOther014;driversOther015;driversOther016;driversOther017;driversOther018;driversOther019;driversOther020;driversOther021;driversOther022;driversOther023;driversOther024;driversOther025;driversOther026;driversOther027;driversOther028;driversOther029;driversOther030;driversOther031;driversOther032;driversOther033;driversOther034;driversOther035;driversvideo000;driversvideo001;driversvideo002;driversvideo003;driversvideo004;drive第 14 页

rsvideo005;driversvideo006;driversvideo007;driversvideo008;driversvideo009;driversvideo010;driversvideo011;driversvideo012;driversvideo013;driversvideo014;driversvideo015;driversvideo016;driversvideo017;driversvideo018;driversvideo019;driversvideo020;driversvideo021;driversvideo022;driversvideo023;driversvideo024;driversvideo025;driversvideo026;driversvideo027;driversvideo028;driversvideo029;driversvideo030;driversvideo031;driversvideo032;driversvideo033;driversvideo034;driversvideo035;

[Components]

msmsgs=off

freecell=off

hearts=off

minesweeper=off

pinball=off

solitaire=off

spider=off

zonegames=off

4) 将C:自制到C:sysprepi386$oem$目录下。

5) 将C:到C:sysprepi386$oem$目录下。

6) 将sysprep复制到c:sysprepi386$oem$目录下。

7) 新建脚本

在C:sysprepi386$oem$目录下建一个,此文件作用将和Ntldr两个文件更改回来,内容如下:

Set fso = CreateObject("stemObject")

Set f = e ("c:")

utes = 0

File("c:")

Set f = e("c:")

utes = 0

le "c:", "c:"

Set f = e("c:")

utes = 7

Set f = e ("c:ntldr")

utes = 0

File("c:ntldr")

Set f = e("c:ntldrxp")

utes = 0

le "c:ntldrxp", "c:ntldr"

Set f = e("c:ntldr")

utes = 7

8) 在C:sysprepi386$oem$目录下建立文件内空如下:

“. .”

“sysprep –clean” 注解:清除由的[SysprepMassStorage] 部分添加的未使用的大量存储驱动程序,并删除由“即插即用”创建的假想设备。

9) 让计算机准确识别电源模式

第 15 页

将Windows xp sp3安装光盘里的中的、、、、、、、、、拷到D盘的SP3目录中,并把更名为,更名为,然后拷贝到C:windowssystem32目录下。

将loghron测试版中的到C:windowsinf目录下,把C盘下的更名为,将loghron测试版中的复制到C盘根目录下,内容如下:

[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"

/noexecute=optin /fastdetect /detecthal

将C:ntldr更名为ntldxp,将loghron测试版中的ntldr复制到C盘根目录下。

10) 在设备管理器中把计算机改成标准计算机,把IDE改成标准IDE,不重启。

11) 用微软的工具删除所有驱动 remove *

12) 用sysprep做系统准备

需要注意的是打上最小化安装和重新生成SID的勾,并选择把系统准备好后,选择退出,然后点击重新封装按钮。

13) 删除注册表中的硬件信息

请将以下注册表键值删除,如果提示权限不够,请修改权限后再删除。

HKEY_LOCAL_MACHINESYSTEMControlSet001EnumACPI_HAL

HKEY_LOCAL_MACHINESYSTEMControlSet001EnumROOTACPI_HAL

HKEY_LOCAL_MACHINESYSTEMControlSet002EnumACPI_HAL

HKEY_LOCAL_MACHINESYSTEMControlSet002EnumROOTACPI_HA

HKEY_LOCAL_MACHINESYSTEMControlSet003EnumACPI_HAL

HKEY_LOCAL_MACHINESYSTEMControlSet003EnumROOTACPI_HA

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnumACPI_HAL

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnumROOTACPI_HA

14) 抓取XP映像

现在我们可以关掉虚拟机,并在VPC中选择合成硬盘,以免我们的成果被破坏。然后给VPC装上网卡,并选择从网络启动,出现提示后按2键,返回到CMD界面用以下命令捕映像

Net use * /d

Net use 服务器名os “password” /user:有写OS共享权限的用户名

/compress maximum /capture c: z: “windows xp sp3” /verify

说明:最后一句的意思是,用最大的压缩率抓取C盘映像保存到Z盘的文件,并校正,Imagex会自动过滤虚拟内存,LOG文件等,所以不用设置

现在大家可以用网络来部署XP,有更好的方案也请大家共享出来,在此再次感谢杨治平提供的教程。

第 16 页

沙雨泪 编

2008年7月22日

第 17 页