天天看点

利用WDS实现零接触部署Windows 7 VHD

Abner Kou原创,转载请注明出处

<b>利用</b><b>WDS</b><b>实现零接触部署</b><b>Windows 7 VHD</b>

在Windows 7中包含了一项非常强大的功能——native boot,它允许系统从单一的VHD文件启动,VHD文件中的OS直接访问硬件,不需要运行在虚拟化层之上,而且可以在VHD中直接安装硬件驱动,在性能上与直接安装在硬盘的系统几乎没有差异。对于个人用户而言,这使得操作系统的安装、备份都变的相当简单,只需拷贝一个VHD文件,添加启动项,连Ghost都可以省了。对于企业用户,VHD的Native boot也可以带来很多创新应用,比如快速批量部署系统、利用差异磁盘功能实现硬件还原卡功能、配合一定的VHD映像管理工具,使得VHD映像的部署管理集中化、简单化,智能化。这将是一个颠覆性的系统部署方式。

关于个人用户的应用可以参看我的两篇文章《Windows XP 与Win7 VHD双启动》、《Windows7 Native Boot流程笔记》。本文的主要目的就是探求一下如何在企业中实现VHD文件的快速批量部署。

Windows Server 2008 R2的WDS 支持直接将VHD文件部署到客户端,部署的流程和界面与使用安装文件部署系统的流程和界面一致,只是vhd的部署是copy VHD文件到指定盘符,相对应的文件方式安装是释放p_w_picpath到指定盘符。安装完成后,还会自动添硬盘上安装的XP操作系统。配合两个自动应答文件,这样就可以实现零接触的部署

本文的流程大概是制作VHD文件——配置WDS——制作自动应答文件——部署。实现在现有XP系统上部署一个Win7 VHD文件到一个分区,最终实现XP、Win7双系统。

<b>一、 </b><b>制作</b><b>VHD</b><b>文件</b><b></b>

使用VPC或者Hyper-v,创建虚拟机,安装必要的驱动和程序,然后用sysprep进行抽取。参考使用命令sysprep /generalize /oobe /shutdown。最后将制作好的VHD文件拷贝到WDS服务器上。

<b></b>

<b>二、添加启动映像</b><b></b>

1、打开WDS管理控制台,右键点击“启动映像”,选择“添加启动映像”

利用WDS实现零接触部署Windows 7 VHD

2、定位到Windows 7 安装目录的启动映像\sources\boot.wim,选择打开

利用WDS实现零接触部署Windows 7 VHD

3、点击下一步,选择默认的映像说明信息

4、点击下一步,检查摘要信息,再次点击下一步,进行映像添加。

<b>三、将</b><b>VHD</b><b>文件导入</b><b>WDS</b>

在Windows Server 2008 R2的WDS中并没有图形界面下的VHD文件导入,但支持命令行方式导入,需要使用命令行工具WDSUtil.exe——一款强大的WDS命令行管理工具,可以完成WDS管理控制台中所有功能甚至更多其他功能。

1、添加映像组,使用命令:wdsutil /add-p_w_picpathgroup /p_w_picpathgroup:"VHDImage"

成功完成后,在管理控制台的安装映像上出现VHDImage组。

利用WDS实现零接触部署Windows 7 VHD

2、添加Win7.vhd映像到WDS。使用命令:wdsutil.exe /verbose /progress /add-p_w_picpath /p_w_picpathfile:”d:\Win7.vhd” /p_w_picpathtype:install /p_w_picpathgroup:”VHDImage”

其中/berbose表示显示命令的详细输出;/progrees表示显示命令的进程

利用WDS实现零接触部署Windows 7 VHD

<b>四、创建无人参与文件</b><b></b>

在部署单个计算机的时候,没有必要配置自动应答,但是在批量部署的时候,还是需要配置无人参与文件,实现批量自动部署。一般来说,实现零接触处的自动部署需要两个无人参与文件,一个用在WDS部署过程中,用来登录WDS、获取映像、选择安装位置等;另一个用在映像配置阶段,即当部署的映像经过sysprep专化后,需要重新配置键盘、时区、用户名等信息。

这两个应答文件可以使用Windows Automated Installation Kit中的Windows System Image Manager工具制作(下一篇文章会给大家介绍如何制作)。内容如下,括号的内容是解释

A、WDS使用的应答文件Untitled.xml

&lt;?xml version="1.0" ?&gt;

&lt;unattend xmlns="urn:schemas-microsoft-com:unattend"&gt;

&lt;settings pass="windowsPE"&gt;

&lt;component name="Microsoft-Windows-Setup" publicKeyToken="31bf3856ad364e35"

language="neutral" versionScope="nonSxS" processorArchitecture="x86"&gt;(跟启动镜像的架构要相符)

&lt;WindowsDeploymentServices&gt;

&lt;Login&gt;

&lt;WillShowUI&gt;OnError&lt;/WillShowUI&gt;

&lt;Credentials&gt;

&lt;Username&gt;administrator&lt;/Username&gt;

&lt;Domain&gt;elab.org&lt;/Domain&gt;

&lt;Password&gt;yourpassword&lt;/Password&gt;

&lt;/Credentials&gt;

&lt;/Login&gt;

&lt;ImageSelection&gt;

&lt;InstallImage&gt;

&lt;ImageName&gt;Win7VHD7600ZH&lt;/ImageName&gt;(导入之后的安装镜像名称)

&lt;ImageGroup&gt;VHDImage&lt;/ImageGroup&gt;

&lt;Filename&gt;Win7.vhd&lt;/Filename&gt;(部署的VHD文件名称)

&lt;/InstallImage&gt;

&lt;InstallTo&gt;

&lt;DiskID&gt;0&lt;/DiskID&gt;(选择第一块磁盘)

&lt;PartitionID&gt;2&lt;/PartitionID&gt;(将VHD部署到第二个分区D盘)

&lt;/InstallTo&gt;

&lt;/ImageSelection&gt;

&lt;/WindowsDeploymentServices&gt;

&lt;/component&gt;

&lt;component name="Microsoft-Windows-International-Core-WinPE" publicKeyToken="31bf3856ad364e35"

language="neutral" versionScope="nonSxS" processorArchitecture="x86"&gt;

&lt;SetupUILanguage&gt;

&lt;UILanguage&gt;zh-CN&lt;/UILanguage&gt;

&lt;/SetupUILanguage&gt;

&lt;/settings&gt;

&lt;/unattend&gt;

B、映像使用的应答文件ImageUntitled.xml

&lt;?xml version="1.0" encoding="utf-8"?&gt;

&lt;settings pass="oobeSystem"&gt;

&lt;component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;

&lt;OOBE&gt;

&lt;NetworkLocation&gt;Work&lt;/NetworkLocation&gt;

&lt;ProtectYourPC&gt;2&lt;/ProtectYourPC&gt;

&lt;HideWirelessSetupInOOBE&gt;false&lt;/HideWirelessSetupInOOBE&gt;

&lt;HideEULAPage&gt;true&lt;/HideEULAPage&gt;

&lt;SkipMachineOOBE&gt;true&lt;/SkipMachineOOBE&gt;

&lt;SkipUserOOBE&gt;true&lt;/SkipUserOOBE&gt;

&lt;/OOBE&gt;

&lt;UserAccounts&gt;

&lt;AdministratorPassword&gt;

&lt;Value&gt;agBhAG4AQQBNADEANQA/AEEAZABtAGkAbgBpAHMAdAByAGEAdABvAHIAUABhAHMAcwB3AG8AcgBkAA==&lt;/Value&gt;

&lt;PlainText&gt;false&lt;/PlainText&gt;

&lt;/AdministratorPassword&gt;

&lt;LocalAccounts&gt;

&lt;LocalAccount wcm:action="add"&gt;(添加账户)

&lt;Password&gt;

&lt;Value&gt;agBhAG4AQQBNADEANQA/AFAAYQBzAHMAdwBvAHIAZAA=&lt;/Value&gt;

&lt;/Password&gt;

&lt;Name&gt;test1&lt;/Name&gt;

&lt;Group&gt;elab&lt;/Group&gt;

&lt;DisplayName&gt;elabstu&lt;/DisplayName&gt;

&lt;Description&gt;test account&lt;/Description&gt;

&lt;/LocalAccount&gt;

&lt;/LocalAccounts&gt;

&lt;/UserAccounts&gt;

&lt;TimeZone&gt;China Standard Time&lt;/TimeZone&gt;

&lt;StartPanelOff&gt;true&lt;/StartPanelOff&gt;

&lt;component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;(设定键盘、地区、语言等)

&lt;InputLocale&gt;zh-CN&lt;/InputLocale&gt;

&lt;UserLocale&gt;zh-CN&lt;/UserLocale&gt;

&lt;SystemLocale&gt;zh-CN&lt;/SystemLocale&gt;

&lt;settings pass="specialize"&gt;

&lt;ProductKey&gt;Q93J4- Q93J4- Q93J4- Q93J4- Q93J4&lt;/ProductKey&gt;(添加序列号)

&lt;cpi:offlineImage cpi:source="catalog:g:/sources/install_windows 7 enterprise.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" /&gt;

<b>五、关联无人应答文件</b><b></b>

1、 将WDS用的无人应答文件Untitled.xml复制到WDS的安装目录D:\RemoteInstall\WdsClientUnattend

2、 打开部署服务,右键单击WDS服务的名称,选择属性,打开“客户端”标签

利用WDS实现零接触部署Windows 7 VHD

3、 勾选“启用无人参与安装”,在X86体系结构中导入Untitled.xml无人参与安装的自动应答文件。

4、 将映像使用的自动应答文件ImangeUntitled.xml复制到D:\RemoteInstall\Images\VHDImage\Win7\Unattend

5、 选择安装映像Win7VHD7600ZH,右键单击选择属性,将ImangeUntitled.xml与其关联。

利用WDS实现零接触部署Windows 7 VHD

6、 在常规选项卡中,勾选允许在无人参与模式下安装映像,然后点击选择文件定位到ImangeUntitled.xml

<b>六、按下</b><b>F12</b><b>,一切都搞定</b><b></b>

1、重起客户机,从网络启动

利用WDS实现零接触部署Windows 7 VHD

2、连接到WDS服务器后,按照提示按下F12键

3、根据WDS的应答文件,客户端会自动登陆WDS\选取映像\copy\添加启动项等工作

利用WDS实现零接触部署Windows 7 VHD
利用WDS实现零接触部署Windows 7 VHD

4、第一次重起,安装设备等

利用WDS实现零接触部署Windows 7 VHD

5、第二次重起,按照映像的自动应答文件,进行sysprep之后的配置.一闪而过,直接来到登录界面

利用WDS实现零接触部署Windows 7 VHD

6、以下是系统重启之后的启动项,“早期版本的Windows“是DS自动添加的,就是C盘的WinXP,进入WinXP后可以看到xp的D盘多了一个Win7.VHD文件。

利用WDS实现零接触部署Windows 7 VHD
利用WDS实现零接触部署Windows 7 VHD
利用WDS实现零接触部署Windows 7 VHD

<b>六、结语</b><b></b>

本文完全可以用来直接部署Windows 7,之所以使用VHD是为了后续的差异磁盘部署,这样系统恢复就变得极为方便,XP下替换一个差异的VHD文件,系统就恢复了。、

另外,本文还不够完善,关于多播、加入域等还没做测试。WDS本身也存在很多不足的地方,很希望微软能推出一个针对VHD镜像的管理工具,如果有第三方开发也好。

继续阅读