HOWTO:制作 Windows 7 加速部署映像
加速部署映像 - 也就是我们通常说的系统模板,通常我们为了提高 Windows 的安装速度,会事先制作一套包含驱动、应用软件、补丁程序以及自定义设置的标准化系统。这样我们在使用该加速部署映像完成安装后,就可以让用户直接使用,不仅在安装方面大大缩短了时间,也提高了用户的体验。
在 Windows XP 时代,我们在定制完毕系统后为了能够让该加速部署映像用于不同 HAL 的电脑,还需要人工执行很多复杂繁琐的操作,最后再使用 Sysprep 执行系统封装准备,完成后对系统打包。如果要实现自动安装,事先还需要使用 setupmgr 制作一份用于 Sysprep 的应答文件。
自 Windows Vista 开始,Windows 的安装和部署发生了质的变化,到了 Windows 7 更是得到了完善和加强。现在我们使用 Sysprep 的 generalize 参数即可制作出一套不受 HAL 限制的通用映像。而自动应答文件富含更多地功能和设置,我们现在需要借助 WAIK(Windows Automated Installation Kit)这个新的 Windows 自动安装工具包来制作 Windows 的应答文件。由于 Windows 安装方式的改进,过去零散的安装文件都被打包在以扩展名为 WIM 的文件中,此外由于采用了文件方式的存储,WIM 不受磁盘大小的约束,能够很轻易的部署到不同容量的分区卷上,并且在释放 WIM 后文件都将紧密排列存储。这样我们维护或部署映像也将更将方便快捷。
由于 Windows 7 的一些新特性,如:系统 oobe 阶段必须创建一个新用户;经过定制后将当前用户配置文件应用于默认用户配置,则需要借助 WAIK 在 specialize 阶段通过 CopyProfile=true 来实现。导致我们不能像以往 Windows XP 那样制作定制的加速部署映像。在 WAIK 的帮助文档中提供了多种安装部署方式的标准流程,鉴于一些环境因素的约束,gOxiA 采用如下的流程来制作 Windows 7 的加速部署映像。
本次测试环境是在 Hyper-V 中创建了一个 Windows 7 的虚拟机,标准安装时直接 Mount 的 Windows 7 Pro ISO,使用虚拟化来创建加速部署映像是非常方便的。如果打算在物理机上实施则可以使用安装光盘、移动U盘或网络安装等方式执行标准化安装。
在完成安装之后,会首先进入 Oobe 阶段,也就是 Welcome 界面。之前 gOxiA 说过 Windows 7 在 Oobe 阶段必须要创建一个用户(注意:这一设计出于安全考虑,默认 Administrator 账户是被禁用的。),此外如果跟随向导完成 Welcome 的操作,那么我们之后执行系统封装时还要执行删除创建的当前用户的操作,比较繁琐。所以我们通过调用 Ctrl+Shift+F3 调用 Audit(审计模式)直接进入系统,这样我们便可以在 Administrator 下定制系统。注意:这一操作会重新启动一次计算机。
在审计模式下我们就可以安装驱动、安装应用软件、个性化定制 Windows 和应用程序。
在上述步骤完成后,我们就可以根据自动化需求来定制应答文件,在技术人员计算机上使用 WAIK 创建应答文件。因为某些软件并非采用 msi 安装方式,所以快捷方式无法应用到今后使用计算机的用户上,而且要统一标准的用户配置文件,必须使用 WAIK 在应答文件中启用 CopyProfile。为了方便日后安装 Windows 7 时减少人工干预度,所以我们还要在应答文件中预先定义好标准设置。下面是一个制作好的应答文件截图,gOxiA 只要对 Specialize 和 OobeSystem 部分进行了定义:
CopyProfile 只能在 Specialize 阶段进行。
要略过 Oobe 阶段(Welcome 界面)的区域和语言选项就需要如下图对 Microsoft-Windows-International-Core_neutral进行设置。
在 Microsoft-Windows-Shell-Setup_neutral 组件中设置 TimeZone 以略过时间和时区设置。
此外,在 Microsoft-Windows-Shell-Setup_neutral 的 OOBE 组件中可以通过设置 HideEULAPage=true 略过最终用户授权协议;HideWirelessSetupInOOBE=true 略过无线网络设置(如果无线可用);NetworkLocation=Work 略过网络位置设置,并将当前网络位置设置为工作网络(如果网络可用);ProtectYourPC=1 略过 Windows 保护级别设置,并将保护级别设置为推荐更新级别。
将创建的应答文件拷贝到 Windows 7 虚拟机上,执行 Sysprep /generalize /oobe /shutdown /unattend:UNATTENDPATH,注意 UNATTENDPATH 为 unattend.xml 的文件所在完整路径。
加载包含了 imagex 工具的 WinPE 工具盘,启动该 Windows 7 虚拟机进入 WinPE 环境。包含 imagex 工具的 WinPE 制作过程可参考之前的帮助文档。
使用 imagex 工具捕获系统映像,并将捕获的映像拷贝到其他位置。如果日后打算通过 Windows 7 的标准安装方式来安装此映像,那么在使用 imagex 捕获映像时应当使用 flags 参数定义当前映像的元数据,这样才能被 Windows 7 Setup.exe 识别。命令行参考如下:
之后用这个 Install.wim 替换 Windows 7 SetupCD 中 Sources 目录下的 Install.wim 文件重新打包生成 ISO 使用即可。
至此,Windows 7 加速部署映像的流程即告一段落。此篇日志中的重点就是进入 Audit 模式定制系统,以及创建包含 CopyProfile 参数的 应答文件。