Ghost刚诞生时,经常用于部署操作系统。十年前我刚接触Ghost时,对它部署Win98的速度就惊叹不已,由于省略了对操作系统的配置,用Ghost部署一个Win98基本就是数据拷贝的过程,5分钟足矣。可以说,有了Ghost,部署Win98变成了一个没有任何技术含量的熟练工作。可自从操作系统使用了NT系列内核之后,形势就发生变化了,NT内核使用的SID和Ghost发生了冲突。SID是安全标识符的缩写,从形式上看是一组字符串,SID用于唯一地代表系统内的一个对象,例如一个用户的SID形式就是S-1-5-21-D1-D2-D3-RID,S-1-5-21是固定前缀,D1-D2-D3是三个数字,代表用户所在的计算机或域,RID是用户在域中或计算机中的序号。正常情况下,代表计算机或域的D1-D2-D3三个数字经过散列计算,可以确保每次产生的数字都有区别。但用Ghost部署出的操作系统,SID都是相同的,这会导致很多的安全隐患,因为SID再也不能唯一地用于标识一个对象了。在这种情况下很多莫名其妙的网络故障会发生,例如Ghost出来的计算机只有一台主机可以加入域,其余的都无法加入域。
那么,有没有什么办法可以让我们鱼和熊掌兼得呢?既可以享受Ghost的快速,又不致于因为SID而导致安全隐患。我们可以利用微软提供的Sysprep来解决这个问题,Sysprep可以把操作系统中的SID,序列号,计算机名等不适合复制的参数都擦除掉,这样我们就可以放心地把剩下的操作系统用Ghost部署出去了。其实高版本的Ghost中也提供了类似的功能,但用微软的说法就是其他公司提供的工具并不能保证系统安全,看看,在微软的“恐吓”下,我们还是用Sysprep比较保险。操作系统经过Sysprep处理后,重新启动后会自动开始一个最小安装,我们在最小安装阶段简单回答一些问题后就可以把SID等参数重新生成,
我们通过一个实验来说明如何进行部署操作,我们准备了两台计算机,一台是Test1,另一台是Test2。Test1上已经安装了Windows XP SP3以及Office等应用程序,Test2是一台裸机。我们准备把Test1用Sysprep进行封装,然后把Test1的硬盘内容Ghost到Test2的硬盘。这样Test2启动后只要经过一个简单的最小安装就可以完成操作系统的部署,我们可以用这种方式快速得到一个安装好应用程序的操作系统。
一 Sysprep
在模板计算机Test1上装入XP的安装光盘,在安装光盘的 \Support\Tools目录下,找到Deploy.cab。如下图所示,在Deploy.cab中找到Sysprep.exe和Setupcl.exe,把这两个文件复制到C:\Sysprep目录下,其中的Sysprep可以擦除SID,而Setupcl.exe则用于重新生成SID。
接下来我们就可以运行C:\Sysprep目录下的Sysprep.exe了。如下图所示,系统准备工具提示我们擦除SID后将会自动关机,我们选择“确定”。
如下图所示,我们选择“重新封装”。
选择“确定”开始系统封装,封装完成后系统会自动关机。
二 Ghost
Test1的操作系统已经进行了封装,接下来我们就要把Test1的硬盘内容Ghost到Test2的硬盘上。我们把Test2的硬盘接到Test1的计算机上,然后在Test1的计算机中放入支持Ghost工具的深山红叶启动盘。其实如果我们使用Ghost网络版,就不用把Test2的硬盘安装到Test1的计算机上了。
在Test1的BIOS中设置为光盘引导优先,用深山红叶光盘引导计算机,如下图所示,在深深红叶的启动界面中选择第二项的万用DOS工具箱。