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 识别。命令行参考如下:
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 加速部署映像(作者:苏繁)的更多相关文章
- 从本机构建Windows应用程序虚拟机映像
下图描述了总体的虚拟机映像的VHD生成,上传以及发布到 Azure 镜像市场的全过程: 具体步骤如下: 在本地计算机(Windows平台)上安装Hyper-V,并安装您所需要的虚拟机操作系统 在此操作 ...
- 制作Windows XP万能克隆镜像
制作Windows XP万能克隆镜像 战前分析:对于Windows XP,制作万能克隆时的一个重要问题就是系统激活,因为Windows XP为了防止盗版,采取了激活机制,当硬件发生改变时,系统就会要求 ...
- 在 Windows Azure 上部署预配置 Oracle VM
Microsoft 和 Oracle 近期宣布建立战略合作伙伴关系,基于此,我们将通过 Windows Azure 镜像库推出多种常用的 Oracle 软件配置.即日起,客户可以在 Windows S ...
- C# 制作Windows服务安装包
C# 制作Windows服务安装包 这两天公司要用C#写一个windows服务,做成安装安装包.制作的过程中遇到了一些问题,写完之后总结一下.如果以后在用到的话可以可以参考一下,而且由于原来没有做 ...
- 制作Windows U盘镜像
目的:制作windows server 2008 U盘镜像 需要的共具: 1.一个格式为FAT并且至少4G的U盘, 2.UltraISO软件, 3.一个windows server 2008 ISO文 ...
- OpenStack Nova 制作 Windows 镜像
OpenStack Nova 制作 Windows 镜像 windows虚拟机ubuntuimage防火墙云计算 本贴转自http://www.vpsee.com 上次 VPSee 给 OpenS ...
- 制作Windows的ico图标
也不知道这个方法是不是最好的,有时间再查看其它方法 首先设计出图标,png格式即可. 使用一款软件 IconWorkshop 下载了一个试用版,临时制作够用了 制作步骤如下: 1.打开png图片 2. ...
- 在Windows环境下部署Axis2/C服务
Apache Axis2/C是C语言实现的网络服务引擎,基于Axis2架构,支持SOAP1.1和SOAP1.2协议,并且支持RESTful风格的Web service. 下面是本人在Windows 7 ...
- 在GNU/Linux下制作Windows 10安装U盘
今年春节回家期间,我需要将家里的一台安装了Debian Stretch的ZaReason笔记本电脑更换为Windows 10系统,好让爸妈从老台式机上的XP系统升级到新的平台上来.回家前,小仙女已在微 ...
随机推荐
- MPlayer-ww 增加边看边剪切功能+生成高质量GIF功能
http://pan.baidu.com/s/1eQm5a74 下载FFmpeg palettegen paletteuse documentation 需要下载 FFmpeg2.6 以上 并FFmp ...
- Java for LeetCode 035 Search Insert Position
Given a sorted array and a target value, return the index if the target is found. If not, return the ...
- Hudson可扩展持续集成引擎
参考文章:http://blog.csdn.net/dazhi_100/article/details/11629133 极限编程中一项建议实践便是持续集成,持续集成是指在开发阶段,对项目进行持续性自 ...
- discuz 学习
一.Discuz首页“今日”“昨日”“欢迎新会员”等文字删除添加 搜索templeta/default/forum/discuz.htm (使用非默认模版的请修改当前使用模版的discuz.htm ...
- 谈谈异步加载JavaScript
前言 关于JavaScript脚本加载的问题,相信大家碰到很多.主要在几个点—— 1> 同步脚本和异步脚本带来的文件加载.文件依赖及执行顺序问题 2> 同步脚本和异步脚本带来的性能优化问题 ...
- yum_rpm(利用dvd建立本地yum库)
#wget "http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os" 建立起了index.html ...
- ubuntu 安装zabbix_agent端
root@(none):~# apt-get install zabbix-agent root@(none):~# vi /etc/zabbix/zabbix_agentd.conf Server= ...
- Phoenix实现用SQL查询HBase
博客已转移,请借一步说话,http://www.weixuehao.com/archives/111 HBase,一个NoSQL数据库,可存储大量非关系型数据. HBase,可以用HBase shel ...
- ajax该什么时候用
第一.请求的提交是为了页面数据的显示,这时候用户一般不希望看到页面的刷新,是使用AJAX的一个最佳时候. 第二.如果请求提交后,用户能从页面感觉到提交结果,这时候,也最好不要有页面刷新,推荐使用AJA ...
- ODTwithODAC认识与安装图解
ODTwithODAC认识 ODTwithODAC是用.Net 开发工具时,使用Oracle数据库时, 启连接作用. 安装完ODTwithODAC之后,一般需要安装 Oracle 客户端(比如win3 ...