基于PXE启动的WINDOWS 2000/XP的多播克隆(2)
工作站端WINDOWS 2000/XP克隆前的准备
若工作站端操作系统是WINDOWS 9X,我们可以在一台工作站(参考机)上安装好操作系统和所有应用软件,然后重启系统,修改CMOS设置,设置LAN为第一启动设备。在服务器端运行“Ghost Server”并作相应设置;在工作站端按F10保存CMOS设置,退出CMOS设置后,系统从远程启动,选择启动菜单中的“backup”项,开始在服务器端生成工作站硬盘或分区的克隆映像文件。
若工作站端的操作系统安装的是WINDOWS 2000/XP,则不能像WINDOWS 9X那样直接在服务器端生成克隆映像文件。因为WINDOWS 2000/XP会面临一个重要的问题:如果把同一个磁盘映像部署到多台机器上,它们的安全标识符(SID)都和源机器相同。SID用来标识一台机器在网络上的唯一身份,每一台机器必须不同,但修改SID可不象修改机器名字和TCP/IP配置那么简单,必须使用Ghost Walker之类的工具,在克隆后的机器上修改SID。然而,这种事后修改SID的办法很容易遗留一些问题,例如许多工具未能正确、全面地更正注册表和文件系统中引用的SID。
还有一种方法是利用 WINDOWS 2000/XP提供的系统准备工具Sysprep,在制作磁盘映像之前预先处理参考机。Sysprep是一个“系统准备工具”,它能够在创建磁盘映像之前删除当前操作系统的所有唯一性信息。只要在创建磁盘映像之前先用Sysprep进行预处理,磁盘映像复制到目标机器之后,就不必再用Ghost Walker之类的工具重新删除和配置某些必须唯一的配置信息,特别是可能带来安全隐患的SID重复问题。
相对于其他SID修改工具,Sysprep采取了不同的策略。即使参考机上已经安装了各种应用软件,Sysprep也能够把参考机退回到设置SID之前的状态,确保系统SID的唯一性。在参考机上运行Sysprep后,第一次重新启动时,参考机将回到Windows安装过程最后阶段的状态,即指定机器名和网络标识符的状态,机器的SID就是在这个时候设定。
运行Sysprep的时机是在安装好参考机各种软件之后、制作磁盘映像之前, 执行Sysprep将清除系统中所有必须唯一的配置信息,包括机器的名称、序列号、SID等。参考机经Sysprep处理后,就可以按通常的方式制作磁盘映像文件了。
1、从何处得到Sysprep
Sysprep可以在WINDOWS 2000/XP的安装CD上找到,它在\Support\Tools的DEPLOY.CAB文件中。直接把整个DEPLOY.CAB文件解压缩到操作系统所在硬盘上的\sysprep目录下就可以了,不必安装。当然也可从微软的网站上得到。Sysprep针对WINDOWS 2000/XP有不同的版本,具体使用哪个版本请查阅微软网站上的相关信息。
2、制作安装应答文件
利用Sysprep可将系统重新封装成自动运行的最小化安装过程,这里需要一个安装应答文件:Sysprep.inf,在我们从DEPLOY.CAB文件解压缩出来的\Sysprep目录里,有一个“安装管理器”Setupmgr.exe(如图26所示),运行它就可以帮助我们建立安装应答文件Sysprep.inf。下面是建立过程:
图26
双击\Sysprep下的Setupmgr.exe启动安装管理向导,出现欢迎屏幕,如图27所示,点击“下一步”。
图27
选择“创建新文件”,如图28所示,点击“下一步”。
图28
选择“Sysprep安装”,如图29所示,点击“下一步”。
图29
后面出现的界面会因所使用的WINDOWS版本和Syprep版本不同而有所不同,本文所使用的是装有SP1的WINDOWS XP,Syprep版本为5.1.2600.1106,在图30所示界面中,选择“Windows XP Professional”,单击下一步。
图30
图31
在图31所示界面中,选择“是,完全自动安装”,单击“下一步”。
图32
从图32所示的界面开始,是设置Windows安装过程中要用到的信息。每回答一组问题,点击一次“下一步”按钮,输入完全部信息后,系统弹出要求指定保存应答文件的路径和文件名对话框,如图33所示,输入相应内容,然后点击“确定”按钮,设置过程才算完成。
图33
在设置Windows安装过程中要用到的应答信息时,有几点需要注意:
① 选择时区时必须手工选择GMT+8(北京)时区,它不会象正式安装过程那样自动选中这个选项;
② 仔细核对产品密钥,安装管理器不会核对密钥是否正确。打错了密钥,全自动安装过程就不可能顺利进行;
③ 由于我们要制作用于多播克隆的磁盘映像文件,计算机名应选择“自动产生计算机名”(Windows 2000必须指定一个计算机名)。如果想按网卡MAC地址来指定计算机名,可用后面将要介绍的程序在目标机重新启动后去修改计算机名,而这里应先选择“自动产生计算机名”;
④ 由于我们后面要做多播,因此管理员密码应设为空(即没有管理员密码);
⑤ 网络组件应选择“典型设置”,实际上也只能选择“典型设置”。在笔者所做的实验中,“自定义设置”实际是无法设置的,因为所有网络组件的选择列表都为空,没法选择。在使用WINDOWS XP操作系统的参考机上要注意,XP本身不带NETBEUI协议,若要用到该协议(如本文后面要介绍的修改计算机名程序),需在此之前安装好该协议,XP下安装NETBEUI协议网上有介绍,在此不再赘述;
⑥ 若想在目标机自动安装过程完成后用户第一次登录时自动运行某些程序,可在“运行一次”设置中添加。本文后面要介绍的一个程序setcpn.exe,用于按网卡MAC地址修改计算机名。为了让程序在用户第一次登录时自动运行,在此添加运行命令,如图34所示。当然,要运行的程序应是在启动安装管理器之前就已经在参考机上安装好了的。
图34
3、执行Sysprep
安装应答文件Sysprep.inf建立起来后,就可以执行Sysprep.exe了。注意:Sysprep.inf应和Sysprep.exe在同一目录中,如图26所示。在图26所示窗口中,双击“Sysprep.exe”开始执行,此时会弹出一个警告窗口如图35所示,点击“确定”按钮。
图35
稍作停顿,系统弹出如图36所示对话框,在此对话框中,选择“使用最小化安装”,如果目标机上有非即插即用硬件设置,还应选择“检测非即插即用硬件”,关机模式就用默认的“关机”,设置好后点击“重新封装”按钮,弹出如图37所示的一个警告窗口,点击其中的“确定”按钮,此后我们可以看到一个“Sysprep正在运行”的对话框,当Sysprep处理工作完成后,系统开始执行关机程序,关闭系统。
图36
图37
制作磁盘映像文件
参考机克隆前准备工作完成关机后,即可在服务器端运行“Ghost Server”,操作步骤如下:
1、单击“开始”按钮,选择“程序”→“Symantec Ghost” →“Ghost Server”执行Ghost多播服务(如图38所示)。
2、在Ghost多播服务窗口的“Session Name”文本框中,输入作业阶段名称,该名称应和前面制作的启动软盘中的AUTOEXEC.BAT文件里所使用的作业阶段名称相同,否则客户机远程启动后将找不到多播服务器。
3、选择“Dump From Client”单选按钮,表示从客户机端接收磁盘映像文件。
4、在“Image File”文本框中输入磁盘映像文件名称和保存路径。
5、若是对参考机的整个硬盘进行克隆,选择“Disk”单选按钮,否则选择“Partition”单选按钮。
6、设置完成后,点击“Accept Clients”按钮,准备接收参考机传送过来的数据。
7、重新打开参考机电源开关,进入CMOS设置。注意:千万不能让参考机启动操作系统,否则前面的准备工作等于白做,必须从来一遍。
图38
8、修改第一启动设备为“LAN”,保存并退出CMOS设置后系统重启,这时我们可看到参考机通过远程网络启动,运行到启动选择菜单时,选择“backup”并回车,一切就OK了。后面我们可看到参考机自动运行Ghost,然后将数据传送到服务器端,在服务器端可看到如图39所示界面。
图39
当参考机数据传送完成后,会自动重启,由于在自动批处理文件中已经将CMOS重新设置,因此参考机将从自己的硬盘引导,并完成最小化全自动安装过程。服务器端接收完数据后,系统会弹出“Transfer Complete”对话框,点击“确定”按钮结束数据接收过程。
用GHOST做多播克隆
从参考机上得到磁盘映像数据并产生出磁盘映像文件后,即可进行多播克隆了。其具体操作步骤如下:
图40
1、在Ghost多播服务窗口的“Session Name”文本框中,输入作业阶段名称,该名称应和前面制作的启动软盘中的AUTOEXEC.BAT文件里所使用的作业阶段名称相同,否则客户机远程启动后将找不到多播服务器。
2、选择“Load TO Clients”单选按钮(如图40所示),表示分发磁盘映像文件到客户机端。
3、在“Image File”文本框中指定磁盘映像文件名称和所在路径。
4、若磁盘映像文件的内容是对整个硬盘数据的备份,选择“Disk”单选按钮,否则选择“Partition”单选按钮。
6、设置完成后,点击“Accept Clients”按钮,等待目标机应答(如图41所示)。
图41
7、打开所有目标机电源开关,进入CMOS进行设置。
8、修改第一启动设备为“LAN”,保存并退出CMOS设置后系统重启,这时我们可看到目标机从远程网络启动,运行到启动选择菜单时,选择“restore”并回车。目标机将自动运行Ghost,然后等待服务器端发送数据。
9、待所有目标机启动完成后,在图41所示窗口中可看到所有目标机的IP和MAC地址,然后点击“Send”按钮开始发送数据,在服务器端发送过程如图42所示。
图42
在服务器端数据发送完成后,系统会弹出“Transfer Complete”对话框,点击“确定”按钮结束数据发送过程。目标机接收完磁盘映像文件后会自动重启,由于在自动批处理文件中已经将CMOS重新设置,因此目标机的重启将从自己的硬盘引导,并完成全自动的最小化安装过程。并按照我们设定好的网卡MAC地址——计算机名对应表重新修改所有目标机的计算机名称。
如果许可的话,可在参考机上安装某套远程控制软件的受控端软件,在服务器端安装远程控制的控制端软件。当目标机启动完成后,还可在服务器端控制目标机完成一些其他应用程序的安装,如汉字输入法等。根据笔者的经验,Sysprep在重新封装时,会剔除非微软自带的输入法,因此在目标机启动完成后,必须重装其他汉字输入法。
如果想让目标机自动完成登录。可在服务器端控制目标机添加如下的注册表文件内容到注册表:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"DefaultUserName"="administrator"
"AltDefaultUserName"="administrator"
"AutoAdminLogon"="1"
"DefaultPassword"=""
应注意的问题
1、前面所述的CMOSMENU.EXE程序,只在主板BIOS是AWARD的机器上运行过,对AMI和Phoenix的BIOS主板没有试验过,能否正确读写CMOS不清楚。若出现克隆完成重启时目标机黑屏,可能是CMOS写入不正确。这时应断开计算机电源,打开机箱盖,用跳线环短接一下清除CMOS跳线,复位后装好机箱盖,重开计算机电源应能正常启动。
2、若CMOS设置中第一启动设备没有“LAN”,可将第一启动设备设为软驱或硬盘,然后在PXE启动设置中将“Boot Order”设为INT 19h,并在制作启动菜单文件时添加一项从本地硬盘启动,即在图13中选中“Boot from hard drive”复选框,并将其设为默认启动菜单选项。目标机启动时,若我们不作选择将从本地硬盘启动。
3、参考机网络配置如图43所示,需要安装NETBEUI协议和TCP/IP协议,TCP/IP协议采用自动获得IP地址(如图44所示)。
图43
图44
4、在此再次强调:主机的配置应基本相同,至少主板、网卡是一致的,才可进行WINDOWS 2000/XP的多播克隆。
5、WINDOWS 2000版的Sysprep在生成安装应答文件Sysprep.inf时,计算机名无法自动产生,必须指定。因此在多台客户机完成数据接收重启后,会报计算机重名的错误,不必理会这个错误,点击错误信息框中的“确定”按钮继续安装。“修改计算机名” 程序执行后,这个错误将不会再报。