利用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镜像的管理工具,如果有第三方开发也好。
目录
相关文章
|
24天前
|
Ubuntu Linux 数据安全/隐私保护
Windows11 使用 WSL2部署Ubuntu
在管理员PowerShell中运行命令启用Windows子系统Linux和虚拟机平台,但安装Ubuntu时遇到错误。解决方法是下载NoLsp_fix_WSL2工具,以管理员权限进入其目录,使用工具指向WSL的路径(例如 `C:\windows\system32\wsl.exe`)进行修复,然后能成功打开Ubuntu。
33 4
|
1月前
|
存储 安全 数据安全/隐私保护
Windows部署WebDAV服务并映射到本地盘符实现公网访问本地存储文件
Windows部署WebDAV服务并映射到本地盘符实现公网访问本地存储文件
249 0
|
3月前
|
编译器 TensorFlow 算法框架/工具
windows部署tensorflow serving
windows部署tensorflow serving
|
3月前
|
应用服务中间件 Linux 网络安全
windows+linux环境下nginx部署环境
windows+linux环境下nginx部署环境
|
1月前
|
存储 网络安全 数据安全/隐私保护
Windows Server 2019 IIS HTTPS证书部署流程详解
Windows Server 2019 IIS HTTPS证书部署流程详解
|
1月前
|
数据可视化 数据库 C++
Qt 5.14.2揭秘高效开发:如何用VS2022快速部署Qt 5.14.2,打造无与伦比的Windows应用
Qt 5.14.2揭秘高效开发:如何用VS2022快速部署Qt 5.14.2,打造无与伦比的Windows应用
|
1月前
|
Kubernetes 网络安全 Windows
要在云效部署到阿里云服务器上的 Windows Server 上的 IIS
【2月更文挑战第18天】要在云效部署到阿里云服务器上的 Windows Server 上的 IIS
160 4
|
2月前
|
网络协议 Linux iOS开发
《熬夜整理》保姆级系列教程-玩转Wireshark抓包神器教程(2)-Wireshark在Windows系统上安装部署
【2月更文挑战第2天】《熬夜整理》保姆级系列教程-玩转Wireshark抓包神器教程(2)-Wireshark在Windows系统上安装部署
47 4
|
2月前
|
消息中间件 Linux RocketMQ
【RocketMq】RocketMq 4.9.4 Windows-docker 部署
【RocketMq】RocketMq 4.9.4 Windows-docker 部署
62 0
|
3月前
|
安全 网络安全 Apache
Windows下Apache部署多个php项目
在 Windows 系统下,使用 Apache 服务器发布多个 PHP 项目是一项常见的任务。本文将介绍如何在 Windows 操作系统下使用 Apache 发布多个 PHP 项目。在 Windows 操作系统下使用 Apache 发布多个 PHP 项目可能有一些挑战,但是只要您按照本文的步骤进行操作,您就可以成功地完成这项任务。希望本文能够对您有所帮助。
59 0