加速部署映像 - 也就是我们通常说的系统模板,通常我们为了提高 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 识别。命令行参考如下:

imagex /capture /compress fast C: F:\Backup\Install.wim "Windows 7 Professional x86" /flags "Professional"

之后用这个 Install.wim 替换 Windows 7 SetupCD 中 Sources 目录下的 Install.wim 文件重新打包生成 ISO 使用即可。

至此,Windows 7 加速部署映像的流程即告一段落。此篇日志中的重点就是进入 Audit 模式定制系统,以及创建包含 CopyProfile 参数的应答文件。

HOWTO:制作 Windows 7 加速部署映像(作者:苏繁)的更多相关文章

  1. 从本机构建Windows应用程序虚拟机映像

    下图描述了总体的虚拟机映像的VHD生成,上传以及发布到 Azure 镜像市场的全过程: 具体步骤如下: 在本地计算机(Windows平台)上安装Hyper-V,并安装您所需要的虚拟机操作系统 在此操作 ...

  2. 制作Windows XP万能克隆镜像

    制作Windows XP万能克隆镜像 战前分析:对于Windows XP,制作万能克隆时的一个重要问题就是系统激活,因为Windows XP为了防止盗版,采取了激活机制,当硬件发生改变时,系统就会要求 ...

  3. 在 Windows Azure 上部署预配置 Oracle VM

    Microsoft 和 Oracle 近期宣布建立战略合作伙伴关系,基于此,我们将通过 Windows Azure 镜像库推出多种常用的 Oracle 软件配置.即日起,客户可以在 Windows S ...

  4. C# 制作Windows服务安装包

    C# 制作Windows服务安装包   这两天公司要用C#写一个windows服务,做成安装安装包.制作的过程中遇到了一些问题,写完之后总结一下.如果以后在用到的话可以可以参考一下,而且由于原来没有做 ...

  5. 制作Windows U盘镜像

    目的:制作windows server 2008 U盘镜像 需要的共具: 1.一个格式为FAT并且至少4G的U盘, 2.UltraISO软件, 3.一个windows server 2008 ISO文 ...

  6. OpenStack Nova 制作 Windows 镜像

    OpenStack Nova 制作 Windows 镜像   windows虚拟机ubuntuimage防火墙云计算 本贴转自http://www.vpsee.com 上次 VPSee 给 OpenS ...

  7. 制作Windows的ico图标

    也不知道这个方法是不是最好的,有时间再查看其它方法 首先设计出图标,png格式即可. 使用一款软件 IconWorkshop 下载了一个试用版,临时制作够用了 制作步骤如下: 1.打开png图片 2. ...

  8. 在Windows环境下部署Axis2/C服务

    Apache Axis2/C是C语言实现的网络服务引擎,基于Axis2架构,支持SOAP1.1和SOAP1.2协议,并且支持RESTful风格的Web service. 下面是本人在Windows 7 ...

  9. 在GNU/Linux下制作Windows 10安装U盘

    今年春节回家期间,我需要将家里的一台安装了Debian Stretch的ZaReason笔记本电脑更换为Windows 10系统,好让爸妈从老台式机上的XP系统升级到新的平台上来.回家前,小仙女已在微 ...

随机推荐

  1. WPF 打印控件 无弹框打印。

    WPF中打印用到了 PrintDialog类. 其中设置打印属性的是PrintTicket,管理打印机的是PrintQueue. 实例如下: public class PrintDialogHelpe ...

  2. 六间房 繁星 酷我 来疯 秀吧 新浪秀 直播播放器 Live 1.2

    适合用于进行录制的时候 特别说明: 安装 falsh play 19 时 不能正常播放 每个按钮都有提示,不详细说明 下载地址 http://pan.baidu.com/s/1i32ETIt 下载地址 ...

  3. Java for LeetCode 053 Maximum Subarray

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...

  4. Eclipse中android工程C++文件中出现的莫名其妙的错误

    大多数是std库相关的问题,例如 vector<int> v; v.push_back(23);//这句语法是没有错误的,但是每次执行Run As的时候就会报错 尝试1:在工程名右键-Cl ...

  5. php请求URL中的参数有空格

    url=http://www.123.com/abc.php?name=ku xiong ku xiong之间有一个空格,需要替换成%20或者+ url=http://www.123.com/abc. ...

  6. Linux底下的第一个C程序

    首先保证你的Linux底下安装了GCC,假如没有安装GCC的话请参考: http://www.cnblogs.com/aspirant/p/3544398.html 假如输入 gcc -v 不再是co ...

  7. 学习Hadoop整体理解

    HDFS是Hadoop的核心模块之一,围绕HDFS是什么.HDFS的设计思想和HDFS的体系结构三方面来介绍. Hadoop的设计思想受到Google公司的GFS设计思想的启示,基于一种开源的理念实现 ...

  8. MySQL日常应用和操作记录

    整理MySQL日常操作. 1.知道一个字段名,怎样查到它在数据库里的哪张表里? USE Information_schema;SELECT TABLE_NAME FROM COLUMNS WHERE ...

  9. Android DrawerLayout 高仿QQ5.2双向侧滑菜单

    1.概述 之前写了一个Android 高仿 QQ5.0 侧滑菜单效果 自定义控件来袭 ,恰逢QQ5.2又加了一个右侧菜单,刚好看了下DrawerLayout,一方面官方的东西,我都比较感兴趣:另一方面 ...

  10. 编译包含Google Play服务App的SDK版本问题

    编译包含Google Play服务App的SDK版本问题   错误信息:No Resouce identifier found for attribute 'touchscreen BlocksFoc ...