Abner Kou原创,转载请注明出处
利用
WDS
实现零接触部署
Windows 7 VHD
在Windows 7中包含了一项很是强大的功能——native boot,它容许系统从单一的VHD文件启动,VHD文件中的OS直接访问硬件,不须要运行在虚拟化层之上,并且能够在VHD中直接安装硬件驱动,在性能上与直接安装在硬盘的系统几乎没有差别。对于我的用户而言,这使得操做系统的安装、备份都变的至关简单,只需拷贝一个VHD文件,添加启动项,连Ghost均可以省了。对于企业用户,VHD的Native boot也能够带来不少创新应用,好比快速批量部署系统、利用差别磁盘功能实现硬件还原卡功能、配合必定的VHD映像管理工具,使得VHD映像的部署管理集中化、简单化,智能化。这将是一个颠覆性的系统部署方式。
Windows Server 2008 R2的WDS 支持直接将VHD文件部署到客户端,部署的流程和界面与使用安装文件部署系统的流程和界面一致,只是vhd的部署是copy VHD文件到指定盘符,相对应的文件方式安装是释放p_w_picpath到指定盘符。安装完成后,还会自动添硬盘上安装的XP操做系统。配合两个自动应答文件,这样就能够实现零接触的部署
本文的流程大概是制做VHD文件——配置WDS——制做自动应答文件——部署。实如今现有XP系统上部署一个Win7 VHD文件到一个分区,最终实现XP、Win7双系统。
1、
制做
VHD
文件
使用VPC或者Hyper-v,建立虚拟机,安装必要的驱动和程序,而后用sysprep进行抽取。参考使用命令sysprep /generalize /oobe /shutdown。最后将制做好的VHD文件拷贝到WDS服务器上。
2、添加启动映像
一、打开WDS管理控制台,右键点击“启动映像”,选择“添加启动映像”
二、定位到Windows 7 安装目录的启动映像\sources\boot.wim,选择打开
三、点击下一步,选择默认的映像说明信息
四、点击下一步,检查摘要信息,再次点击下一步,进行映像添加。
3、将
VHD
文件导入
WDS
在Windows Server 2008 R2的WDS中并无图形界面下的VHD文件导入,但支持命令行方式导入,须要使用命令行工具WDSUtil.exe——一款强大的WDS命令行管理工具,能够完成WDS管理控制台中全部功能甚至更多其余功能。
一、添加映像组,使用命令:wdsutil /add-p_w_picpathgroup /p_w_picpathgroup:"VHDImage"
成功完成后,在管理控制台的安装映像上出现VHDImage组。
二、添加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表示显示命令的进程
4、建立无人参与文件
在部署单个计算机的时候,没有必要配置自动应答,可是在批量部署的时候,仍是须要配置无人参与文件,实现批量自动部署。通常来讲,实现零接触处的自动部署须要两个无人参与文件,一个用在WDS部署过程当中,用来登陆WDS、获取映像、选择安装位置等;另外一个用在映像配置阶段,即当部署的映像通过sysprep专化后,须要从新配置键盘、时区、用户名等信息。
这两个应答文件可使用Windows Automated Installation Kit中的Windows System Image Manager工具制做(下一篇文章会给你们介绍如何制做)。内容以下,括号的内容是解释
A、WDS使用的应答文件Untitled.xml
<?xml version="1.0" ?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component name="Microsoft-Windows-Setup" publicKeyToken="31bf3856ad364e35"
language="neutral" versionScope="nonSxS" processorArchitecture="x86">(跟启动镜像的架构要相符)
<WindowsDeploymentServices>
<Login>
<WillShowUI>OnError</WillShowUI>
<Credentials>
<Username>administrator</Username>
<Domain>elab.org</Domain>
<Password>yourpassword</Password>
</Credentials>
</Login>
<ImageSelection>
<WillShowUI>OnError</WillShowUI>
<InstallImage>
<ImageName>Win7VHD7600ZH</ImageName>(导入以后的安装镜像名称)
<ImageGroup>VHDImage</ImageGroup>
<Filename>Win7.vhd</Filename>(部署的VHD文件名称)
</InstallImage>
<InstallTo>
<DiskID>0</DiskID>(选择第一块磁盘)
<PartitionID>2</PartitionID>(将VHD部署到第二个分区D盘)
</InstallTo>
</ImageSelection>
</WindowsDeploymentServices>
</component>
<component name="Microsoft-Windows-International-Core-WinPE" publicKeyToken="31bf3856ad364e35"
language="neutral" versionScope="nonSxS" processorArchitecture="x86">
<SetupUILanguage>
<WillShowUI>OnError</WillShowUI>
<UILanguage>zh-CN</UILanguage>
</SetupUILanguage>
<UILanguage>zh-CN</UILanguage>
</component>
</settings>
</unattend>
B、映像使用的应答文件ImageUntitled.xml
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<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">
<OOBE>
<NetworkLocation>Work</NetworkLocation>
<ProtectYourPC>2</ProtectYourPC>
<HideWirelessSetupInOOBE>false</HideWirelessSetupInOOBE>
<HideEULAPage>true</HideEULAPage>
<SkipMachineOOBE>true</SkipMachineOOBE>
<SkipUserOOBE>true</SkipUserOOBE>
</OOBE>
<UserAccounts>
<AdministratorPassword>
<Value>agBhAG4AQQBNADEANQA/AEEAZABtAGkAbgBpAHMAdAByAGEAdABvAHIAUABhAHMAcwB3AG8AcgBkAA==</Value>
<PlainText>false</PlainText>
</AdministratorPassword>
<LocalAccounts>
<LocalAccount wcm:action="add">(添加帐户)
<Password>
<Value>agBhAG4AQQBNADEANQA/AFAAYQBzAHMAdwBvAHIAZAA=</Value>
<PlainText>false</PlainText>
</Password>
<Name>test1</Name>
<Group>elab</Group>
<DisplayName>elabstu</DisplayName>
<Description>test account</Description>
</LocalAccount>
</LocalAccounts>
</UserAccounts>
<TimeZone>China Standard Time</TimeZone>
<StartPanelOff>true</StartPanelOff>
</component>
<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">(设定键盘、地区、语言等)
<InputLocale>zh-CN</InputLocale>
<UILanguage>zh-CN</UILanguage>
<UserLocale>zh-CN</UserLocale>
<SystemLocale>zh-CN</SystemLocale>
</component>
</settings>
<settings pass="specialize">
<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">
<ProductKey>Q93J4- Q93J4- Q93J4- Q93J4- Q93J4</ProductKey>(添加序列号)
</component>
</settings>
<cpi:offlineImage cpi:source="catalog:g:/sources/install_windows 7 enterprise.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
5、关联无人应答文件
一、 将WDS用的无人应答文件Untitled.xml复制到WDS的安装目录D:\RemoteInstall\WdsClientUnattend
二、 打开部署服务,右键单击WDS服务的名称,选择属性,打开“客户端”标签
三、 勾选“启用无人参与安装”,在X86体系结构中导入Untitled.xml无人参与安装的自动应答文件。
四、 将映像使用的自动应答文件ImangeUntitled.xml复制到D:\RemoteInstall\Images\VHDImage\Win7\Unattend
五、 选择安装映像Win7VHD7600ZH,右键单击选择属性,将ImangeUntitled.xml与其关联。
六、 在常规选项卡中,勾选容许在无人参与模式下安装映像,而后点击选择文件定位到ImangeUntitled.xml
6、按下
F12
,一切都搞定
一、重起客户机,从网络启动
二、链接到WDS服务器后,按照提示按下F12键
三、根据WDS的应答文件,客户端会自动登录WDS\选取映像\copy\添加启动项等工做
四、第一次重起,安装设备等
五、第二次重起,按照映像的自动应答文件,进行sysprep以后的配置.一闪而过,直接来到登陆界面
六、如下是系统重启以后的启动项,“早期版本的Windows“是DS自动添加的,就是C盘的WinXP,进入WinXP后能够看到xp的D盘多了一个Win7.VHD文件。
6、结语
本文彻底能够用来直接部署Windows 7,之因此使用VHD是为了后续的差别磁盘部署,这样系统恢复就变得极为方便,XP下替换一个差别的VHD文件,系统就恢复了。、
另外,本文还不够完善,关于多播、加入域等还没作测试。WDS自己也存在不少不足的地方,很但愿微软能推出一个针对VHD镜像的管理工具,若是有第三方开发也好。