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

简介:



本文转自 abner110 51CTO博客,原文链接:http://blog.51cto.com/abner/253613,如需转载请自行联系原作者 Abner Kou原创,转载请注明出处
利用 WDS 实现零接触部署 Windows 7 VHD
在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文件到指定盘符,相对应的文件方式安装是释放image到指定盘符。安装完成后,还会自动添硬盘上安装的XP操作系统。配合两个自动应答文件,这样就可以实现零接触的部署
本文的流程大概是制作VHD文件——配置WDS——制作自动应答文件——部署。实现在现有XP系统上部署一个Win7 VHD文件到一个分区,最终实现XP、Win7双系统。
一、  制作 VHD 文件
使用VPC或者Hyper-v,创建虚拟机,安装必要的驱动和程序,然后用sysprep进行抽取。参考使用命令sysprep /generalize /oobe /shutdown。最后将制作好的VHD文件拷贝到WDS服务器上。
二、添加启动映像
1、打开WDS管理控制台,右键点击“启动映像”,选择“添加启动映像”
clip_image002
2、定位到Windows 7 安装目录的启动映像\sources\boot.wim,选择打开
clip_image004
3、点击下一步,选择默认的映像说明信息
clip_image006
4、点击下一步,检查摘要信息,再次点击下一步,进行映像添加。
三、将 VHD 文件导入 WDS
在Windows Server 2008 R2的WDS中并没有图形界面下的VHD文件导入,但支持命令行方式导入,需要使用命令行工具WDSUtil.exe——一款强大的WDS命令行管理工具,可以完成WDS管理控制台中所有功能甚至更多其他功能。
1、添加映像组,使用命令:wdsutil /add-imagegroup /imagegroup:"VHDImage"
成功完成后,在管理控制台的安装映像上出现VHDImage组。
clip_image008
2、添加Win7.vhd映像到WDS。使用命令:wdsutil.exe /verbose /progress /add-image /imagefile:”d:\Win7.vhd” /imagetype:install /imagegroup:”VHDImage”
其中/berbose表示显示命令的详细输出;/progrees表示显示命令的进程
clip_image010
四、创建无人参与文件
在部署单个计算机的时候,没有必要配置自动应答,但是在批量部署的时候,还是需要配置无人参与文件,实现批量自动部署。一般来说,实现零接触处的自动部署需要两个无人参与文件,一个用在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>
五、关联无人应答文件
1、 将WDS用的无人应答文件Untitled.xml复制到WDS的安装目录D:\RemoteInstall\WdsClientUnattend
2、 打开部署服务,右键单击WDS服务的名称,选择属性,打开“客户端”标签
clip_image012
3、 勾选“启用无人参与安装”,在X86体系结构中导入Untitled.xml无人参与安装的自动应答文件。
4、 将映像使用的自动应答文件ImangeUntitled.xml复制到D:\RemoteInstall\Images\VHDImage\Win7\Unattend
5、 选择安装映像Win7VHD7600ZH,右键单击选择属性,将ImangeUntitled.xml与其关联。
clip_image014
6、 在常规选项卡中,勾选允许在无人参与模式下安装映像,然后点击选择文件定位到ImangeUntitled.xml
clip_image016
六、按下 F12 ,一切都搞定
1、重起客户机,从网络启动
clip_image018
2、连接到WDS服务器后,按照提示按下F12键
3、根据WDS的应答文件,客户端会自动登陆WDS\选取映像\copy\添加启动项等工作
clip_image020
clip_image022
4、第一次重起,安装设备等
clip_image024
5、第二次重起,按照映像的自动应答文件,进行sysprep之后的配置.一闪而过,直接来到登录界面
clip_image026
6、以下是系统重启之后的启动项,“早期版本的Windows“是DS自动添加的,就是C盘的WinXP,进入WinXP后可以看到xp的D盘多了一个Win7.VHD文件。
clip_image028
clip_image030
clip_image032
六、结语
本文完全可以用来直接部署Windows 7,之所以使用VHD是为了后续的差异磁盘部署,这样系统恢复就变得极为方便,XP下替换一个差异的VHD文件,系统就恢复了。、
另外,本文还不够完善,关于多播、加入域等还没做测试。WDS本身也存在很多不足的地方,很希望微软能推出一个针对VHD镜像的管理工具,如果有第三方开发也好。
目录
相关文章
|
15天前
|
XML Ubuntu Linux
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
|
2天前
|
敏捷开发 Kubernetes 持续交付
阿里云云效产品使用合集之如何将流水线部署到Windows
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
15天前
|
前端开发 JavaScript 应用服务中间件
windows server + iis 部署若伊前端vue项目
5,配置url重写规则(重写后端请求) 注:如果没有Application Request Routing Cachefourcloudbdueclaim和URL重写,则是第二部的那两个插件没装上 打开iis,点击计算机->点击Application Request Routing Cache -> 打开功能
43 0
|
15天前
|
前端开发 应用服务中间件 nginx
安装Windows版nginx以及部署前端代码并就解决刷新出现404
安装Windows版nginx以及部署前端代码并就解决刷新出现404
27 0
|
17天前
|
存储 数据库 数据安全/隐私保护
Windows系统部署AnyTXT Searcher并实现远程搜索本地内网设备中文件
Windows系统部署AnyTXT Searcher并实现远程搜索本地内网设备中文件
|
1月前
|
机器人 Linux 数据安全/隐私保护
一键部署 botpress windows和linux 傻瓜式安装智能对话机器人 chatbot
一键部署 botpress windows和linux 傻瓜式安装智能对话机器人 chatbot
41 0
一键部署 botpress windows和linux 傻瓜式安装智能对话机器人 chatbot
|
29天前
|
缓存 NoSQL Java
windows下Springboot部署redis
windows下Springboot部署redis
19 0
|
2月前
|
存储 文件存储 数据安全/隐私保护
Windows部署开源文件管理器File Browser并实现远程访问本地文件
Windows部署开源文件管理器File Browser并实现远程访问本地文件
105 1
|
2月前
|
开发框架 JavaScript 安全
WIndows Server 2016 部署 Web服务(简单篇)
WIndows Server 2016 部署 Web服务(简单篇)
|
2月前
|
安全 Linux 数据安全/隐私保护
Windows 部署 Elasticsearch + kibana 8.0 指南
Windows 部署 Elasticsearch + kibana 8.0 指南
95 0