加速部署映像 - 也就是我们通常说的系统模板,通常我们为了提高 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. 爱情之路(codevs 2070)

    题目描述 Description yh非常想念他的女朋友小y,于是他决定前往小y所在的那块大陆. 小y所在的大陆共有n个城市,m条双向路,每条路连接一个或两个城市.经过一条路ei需要耗费时间ti.此外 ...

  2. 【转】Quartus II调用modelsim无缝仿真

    Quartus II调用modelsim无缝仿真  ★emouse 思·睿博客文章★ 原创文章转载请注明:http://emouse.cnblogs.com 本篇文章为转载,写的不错,最近在学mode ...

  3. redis 认证密码

    [root@cache01 ~]# grep "requirepass" /app/server/redis/conf/6379.conf # If the master is p ...

  4. ping: unknown host www.baidu.com

    #注意有很多的DNS服务器 为了防止DDOS攻击 所以都禁止PING [root@86 ~]# ping -c 2 www.baidu.com ping: unknown host www.baidu ...

  5. hdu 1312:Red and Black(DFS搜索,入门题)

    Red and Black Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  6. python reduce()函数

    reduce()函数 reduce()函数也是Python内置的一个高阶函数.reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传 ...

  7. node基础 --概念

    非阻塞IO: node.js使用了事件轮询 setTimeout是非阻塞的: 对于像http,net等原生模块中IO部分也采用了事件轮询,其本质是: 当node接受到浏览器的http请求时,底层的TC ...

  8. Kali Linux 2016.2发布提供虚拟机以及系统镜像下载

    Kali Linux 2016.2发布提供虚拟机以及系统镜像下载   Kali Linux 2016.2发布提供虚拟机以及系统镜像下载,本次Kali Linux 2016.2提供了五种桌面模式,分别为 ...

  9. 2016 Multi-University Training Contest 8

    solved 4/11 2016 Multi-University Training Contest 8 贪心 1001 Ball(BH) 代码: #include <bits/stdc++.h ...

  10. Ubuntu 安装Redis体验

      背景:由于之前一直没有试过Linux的环境,今天加了内存之后,虚拟机开了3G,速度大大提高,对照博客试一下安装Redis的过程.   体验: 下载源码,解压,编译 $ wget http://do ...