imagex教程微软封装工具ImageX的应用本文出处:的几个基本应用:映像创建、映像压缩、映像文件拆分以及应用映像。本文的所有操作都需要在WindowsPE下进行。虽然这可能没有在DOS环境下方便,不过用WindowsPE取代DOS已经是一个必然的趋势,同时,WindowsPE环境也使imagex的适用范围更广。我们都知道,传统的基于磁盘扇区的映像工具一般只能在Windows操作系统之外运行,因此都使用了专用的恢复环境,例如软件开发商提供的特殊版本的DOS。但这就存在一个问题,主要是关于存储子系统的。现在我们使用的存储子系统规格越来越多,除了传统的IDE,常见的还有SCSI、SATA,以及各种级别的RAID等,如何让映像工具支持这些不常用的存储子系统成了一个最大的问题。以使用DOS作为恢复环境的映像工具为例,如果该工具没有自带用于RAID系统的DOS驱动程序,那么就无法使用它对RAID系统创建和恢复映像。但imagex解决了这一问题,它的恢复环境是WindowsPE,这可以看作是一个省略了图形界面的Windows内核,因此任何磁盘子系统,只要提供了Windows下的驱动程序,就可以用于WindowsPE。使用过程中大家可能会注意到,用WindowsPE光盘引导计算机,进入WindowsPE环境之前,屏幕上首先会显示“PressF6toInstall…”的字样,这和我们直接用光盘安装Windows操作系统时的选项类似。如果您使用了一些比较不常用的存储子系统,例如SCSI或者RAID,就需要在这个界面上按下F6,然后提供所需的驱动程序,这样引导后WindowsPE才可以识别出您的硬盘。下文中,实验所用系统的设置如下:C盘安装操作系统,D盘是光驱,E盘用于保存创建的映像文件。不过当我们用WindowsPE光盘引导计算机后情况有所变化,C盘依然是系统盘,但光驱成了X盘,Windows下的E盘成了WindowsPE环境下的D盘。因此为了避免混淆,在WindowsPE环境下的操作将会使用PE中的盘符名称,但在Windows环境下的操作将会使用Windows中的盘符。创建映像首先我们需要准备一台模板计算机,在这台计算机上安装打算批量部署的操作系统,并安装所有需要的驱动程序、应用软件、系统更新程序,同时我们还可以根据实际需要对系统和程序的各种选项进行设置。设置完成之后运行sysprep.exe删除所有不必要的信息,并关闭计算机。进行到这一步的时候,和使用传统的基于分区的影响工具部署都没有太大区别,不过接下来我们要使用微软自己的映像工具了。假设我们希望使用默认设置创建一个C盘的映像,映像文件将以data.wim为名保存在D盘根目录下,并在创建完成后进行数据校验,那么我们可以使用这样一个命令:imagex/capturec:d:\data.wimDriveC/verify“/capture”参数的作用是创建映像文件,而该参数后面的“c:”则指定了要创建映像的目标分区。“d:\data.wim”这个参数指定了镜像文件的保存位置以及名称,“DriveC”参数定义了映像文件的描述,需要用引号引用。最后的“/verify”参数则会让imagex创建完映像之后进行校验。当看到图1所示的界面时,表示我们的命令是正确的,程序正在创建C盘的映像。当屏幕显示“Successfullyimagedc:\”的字样时表示映像已经创建完成了。这时候我们就可以将创建出来的data.wim文件保存起来,并用于之后的部署了。这里还有一个有趣的功能需要提醒您:imagex可以将创建出来的映像文件保存在预创建映像的分区上。例如本例中,我们就完全可以将data.wim保存在C盘,这其实是基于文件的映像工具和基于扇区的映像工具的最大不同。压缩映像当然,imagex能做到的还有很多。有时我们可能会希望尽量减小生成的映像文件的体积,这时候就可以用到imagex的压缩功能了。压缩参数有两个选项:Fast和Maximum,其中后者的压缩率更高一些,当然花费的时间也要长一些。还是上面的例子,如果需要以Maximum等级压缩创建出来的映像文件,可以使用这条命令:imagex/compressmaximum/capturec:d:\data2.wim“DriveC”/verify遗憾的是该参数只能在创建映像文件的时候使用,对于已经创建好的映像文件,已经无法通过该参数进行压缩,或者更改压缩等级了。拆分映像如果您希望将创建出来的映像文件按照一定大小拆分,以便刻录到光盘或者保存到其他可以动存储介质上,那么可以使用imagex的“/split”参数。例如,如果我们希望将之前创建的data.wim文件以640MB为大小拆分,以便刻录到CD光盘上,那么可以使用这条命令:imagex/splitd:\data.wimd:\datasplited.swm640该操作将会创建一系列带有固定编号的.swm文件,例如我们要拆分的文件是data.wim,那么拆分后的文件就是data1.swm、data2.swm等。该参数同样有些不足:首先,无法在创建映像文件的时候使用,只能在映像文件创建成功之后使用。另外,拆分的文件大小是以MB为单位指定的,如果我们需要以GB为单位拆分文件以便刻录DVD光盘上,显得不够灵活。应用映像我们已经创建好了系统映像文件,日后如果需要在多台计算机上部署,或者某台计算机的系统崩溃,就可以使用创建好的映像文件来恢复。恢复过程是非常简单的,依然需要进入到WindowsPE环境下,然后使用“/apply”参数运行imagex.exe程序即可。对于新计算机有一点需要注意,在使用imagex安装操作系统映像之前,必须首先给硬盘分好区。您可以使用WindowsPE自带的分区工具diskpart.exe进行。而如果您嫌麻烦,或者需要处理的计算机太多,也可以自己编写脚本,让WindowsPE启动后自动进行分区操作。假设我们要把之前创建的保存在D盘的data.wim文件重新恢复到C盘,那么可以首先格式化C盘,然后使用这条命令:imagex/applyd:\data.wim1c:/verify这里要注意映像名称后面的编号“1”,下文中我们将会介绍,imagex可以把多个镜像文件附加到同一个映像中,那么在使用某个特定镜像部署系统,或者执行其他类似操作的时候,怎样从附加了多个镜像的映像文件中指定特定镜像呢?这里就需要使用编号了,如果希望对第几个镜像进行操作,在映像文件名称后添加该镜像的编号即可。高级应用除了上面介绍的功能,imagex还有很多功能可以适合不同情况。同样,下文将会通过几个具体的实例向您介绍。文件附加有时我们可能会遇到这样的情况:当我们安装好操作系统之后,需要创建一个映像文件;而安装完补丁程序以及驱动程序之后,需要创建另外一个映像;等安装完所有其他需要的应用程序,并进行过必要的设置之后,还需要创建第三个映像文件。这样的要求有一个特点,那就是三个映像文件中大部分数据都是相同的,而每次都是只有部分文件被增删或者更改。那么按照一般的做法,直接创建三个各自独立的映像文件,无疑浪费了大量的存储空间,而且映像文件太多也不利于日后的管理。为了解决这个问题,imagex中包含了一个叫做附加的功能。简单来说,该功能可以在一个映像文件中保存多个不同状态下的操作系统镜像。例如之前设想的情况,将操作系统在三个时候的不同状态全部附加到同一个映像文件中,这样,因为操作系统中有大量三个状态下没有发生任何更改的文件,因此这些文件实际上在映像文件中只需要保存一个实例,这就可以在压缩的基础上更进一步减小映像文件的体积。注意,这里提到了两个名词:“映像”和“镜像”。为了方便叙述,下文对这两个名词的定义如下:对操作系统所在分区进行“复制”创建的文件称之为“镜像”,而多个“镜像”附加在一起即形成一个“映像”。在上文的操作中我们已经对整个系统盘创建了一个完整映像data.wim,假设当时我们只是安装了操作系统,还没有装驱动和应用程序,那么现在我们可以启动到正常Windwos状态下,按照需要安装所有的驱动和程序,然后重启动计算机到WindowsPE环境(别忘了运行sysprep.exe)。要创建新的镜像,并附加到现有的映像文件中,可以使用下列命令:imagex/appendc:d:\data.wim“DriveC2”/verify。“/append”的作用是将目标分区附加到现有文件,需要注意,如果已经使用了“/append”参数,就不需要同时使用“/capture”了。而后面的“d:\data.wim”则指定了要被附加的文件所在位置和名称。注意,如果被附加的源映像文件被压缩过,那么附加上去的镜像文件就必须进行同样等级的压缩。配置文件imagex的某些选项可以由配置文件指定,这样我们就可以预先编写好配置文件,然后一次执行,实现比较复杂的操作。要指定配置文件,需要以“/config”参数启动imagex。配置文件中主要有三个字段,各自的含义如下。[ExclusionList]定义了使用“/capture”参数后被排除的文件和文件夹名称[CompressionExclusionList]定义了不被压缩的文件或文件夹名称,或者文件类型。这里可以使用通配符[AlignmentList]指定文件以64K为范围排列,这些文件将不会被压缩,而压缩后的文件将会以32K为范围排列。我们只需要在文本编辑器,例如Windows记事本中按照上述规定的字段编写内容,然后将文件保存为.ini格式,就可以在使用imagex.exe的时候通过“/config”参数调用了。打开Windows记事本或者其他任何文本编辑器,分别输入[ExclusionList]、[CompressionExclusionList]和[AlignmentList]三个字段,然后按照需要为这三个字段设定内容。例如,如果我们希望在创建映像文件的时候跳过分页文件和休眠文件,那么就可以在[ExclusionList]字段下添加这两个文件的名称:“Hiberfil.sys”和“Pagefile.sys”。注意,每个文件要占用一行空间。如果我们希望在压缩文件的时候取消对所有扩展名为.zip的文件的压缩(毕竟它们已经被压缩过了,再次压缩只能延长所需时间,体积的变化不会太明显),那么可以在[CompressionExclusionList]字段下添加“*.zip”这一行内容。注意:通常情况下,如果要使用配置文件,那么就必须在运行imagex命令的时候使用/config参数,并指定配置文件的位置。但如果我们预先将配置文件以wimscript.ini为名保存在imagex.exe文件所在的文件夹下,那么以后运行的时候只要使用了“/capture”参数,该配置文件就会被自动加载,而不管我们有没有配合“/config”参数一起使用。映像文件的维护我们已经了解了如何创建和应用映像文件,那么日常维护方面,这种新的文件格式又能带给我们什么?需要注意,之前介绍的所有操作都是使用imagex在WindowsPE的命令行环境下运行,而接下来要介绍的一些功能在正常的Windows模式下就可以操作。查看映像文件信息我们首先继续讨论一下前文中存在的一个问题,对于附加了多个镜像的映像文件,可以通过添加编号的方式指定对哪个镜像进行操作。但是一旦时间长了,我们如何知道某个映像文件中有几个镜像,分别是什么内容?这就要用到imagex的另一个参数“/info”了。还是以上文创建的附加了多个镜像的映像文件data.wim为例,在WindowsPE环境下,运行这样的命令:imagex/infod:\data.wim,我们可以看到,程序会自动显示一个以XML格式保存的文件,文件的内容就是该映像文件中所有附加的镜像文件的信息(图3)。这里面大家可以留意看“”这一字段的内容,这其实就是我们在使用“/capture”参数创建映像时输入的描述。因此在使用的时候要注意输入详细的描述信息,方便日后的使用