部署客户端这个话题,似乎一直以来是个比较庞大而复杂的,有很多原因造成这一点,比如我们要写无人值守Unattended,要搞定驱动程序,要预装软件,要修改系统设置。当我们面对批量客户端需要部署的时候,我们怎么做?
 
微软从很早以前就开始针对部署提出WAIK的解决方案,通过工具写好无人值守,然后结合安装盘安装。当然,目前Vista和Win7有了新的部署方法,本文暂不详述。
 
就拿XP举例吧,我们也许有如下的部署方式:
1、无人值守安装(Unattended)
2、系统封装(Sysprep)
 
你可以使用RIS(远程安装服务)或者WDS(Windows部署服务)结合以上的部署方式进行部署客户端。
 
如果使用无人值守安装的方式部署,首先,你的网络需要开启DHCP(如果是VLAN的环境,你还需要开启DHCP Agent),然后,你需要让裸机从网卡PXE启动,系统会从服务器上获取到IP地址,接下来会从服务器上自动下载网卡驱动,最后引导安装。那么,如果你的网络都是静态IP地址的,你该怎么办?还有,部署完系统后,配置不同的计算机如何自动安装驱动程序?
 
不妨接着看看系统封装是如何部署的。
 
系统封装是Windows系统的一个功能,在安装光盘support目录内,有一个压缩包叫Deploy.cab,解压完后,您将能使用Sysprep进行封装系统。大致原理就是把系统的大部分配置恢复到默认状态并且可以重新生成SID、删除硬件驱动等信息。当使用封装的系统启动计算机后,系统就会自动检测硬件,初始化系统。所以您可以在封装完毕后,使用Ghost网络克隆进行批量部署,也可以使用Vista或Win7的启动镜像(boot.wim)结合WDS上传到服务器,然后部署分发。当您使用系统封装来部署客户端的时候就要注意了,如果您在虚拟机或同一台计算机上做封装和部署的工作似乎不会出任何问题,但是当您把封装完毕的系统部署到硬件配置不同的计算机上的时候,不幸就来临了,您的封装系统将不能正常运作在部署的计算机上。这就有HAL硬件抽象层的问题。微软的XP系统对HAL做了限制,不同的硬件,它们的HAL可能会有所不同,这就会给封装带来极大的问题,难道,你要把每一种不同配置的计算机都封装一遍吗?还有,部署完系统后,配置不同的计算机如何自动安装驱动程序?
 
这样看来,似乎两种部署方法都不是很完美。现实生产环境往往复杂的多,使用这些部署方式不一定很方便。
 
我给您推荐一种方法,用来快速部署操作系统。参考如下步骤:
 
需要准备的工具SPAT系统封装辅助工具、萝卜花园驱动包。
 
1、找一台参考机,使用安装版XP安装系统。您可以再系统里面安装一些软件,这些软件将在新计算机上保留下来。
2、使用SPAT系统封装辅助工具来帮助您突破HAL限制,当然还要很多功能,这里不详述了。您必须要勾选“更改计算机为Standard PC”、“更改IDE控制器为标准双通道IDE”、“卸载所以硬件驱动”、“自动运行Sysprep封装系统”(请不要勾选“不重新生成安全标识符SID”,因为每台计算机最好有不同的SID,这对于将在在域中的运行有很大的作用)
3、将萝卜花园的驱动包解压到C盘某文件夹,然后在SPAT中选择“首次进系统执行”书签,在“首次进系统运行程序”中指定C盘萝卜花园驱动包的安装程序路径,一般程序名为Drivers.exe。注意更改萝卜花园驱动包目录下的Drivers.ini,这个配置文件的EverestPath项目请配置成正确的路径,它用于使用Everest自动检测硬件并解压相关的驱动程序,相当重要!
4、点击“基本配置”书签中的“开始封装”按钮即可。
5、封装结束后,可能要手动按电源按钮关机,因为包括鼠标键盘在内的所有驱动已经被卸载了,以确保封装系统的兼容性。
6、开机后从光盘启动,将系统分区做GHOST备份,然后结合GHOST网络克隆进行分发。或者使用启动镜像盘(boot.wim)将封装的系统上传到服务器,然后使用WDS进行分发。
 
这样而来,您制作出的封装系统将能够应对不同型号不同配置的计算机,并且在第一次启动计算机后自动安装驱动。(萝卜花园驱动包里面包含大量的驱动程序)
 
如此进行部署,是不是更简单快捷呢?
 
如果您有更好的办法解决系统批量部署,欢迎回帖和我讨论:)
 
 
特别申明:以上解决方案都只针对案例中的XP系统。