分类: WINDOWS
2009-12-31 14:11:13
Abner Kou原创,转载请注明出处http://abner.cublog.cn
利用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管理控制台,右键点击“启动映像”,选择“添加启动映像”
2、定位到Windows 7 安装目录的启动映像\sources\boot.wim,选择打开
3、点击下一步,选择默认的映像说明信息
4、点击下一步,检查摘要信息,再次点击下一步,进行映像添加。
三、将VHD文件导入WDS
在Windows Server 2008 R2的WDS中并没有图形界面下的VHD文件导入,但支持命令行方式导入,需要使用命令行工具WDSUtil.exe——一款强大的WDS命令行管理工具,可以完成WDS管理控制台中所有功能甚至更多其他功能。
1、添加映像组,使用命令:wdsutil /add-imagegroup /imagegroup:"VHDImage"
成功完成后,在管理控制台的安装映像上出现VHDImage组。
2、添加Win7.vhd映像到WDS。使用命令:wdsutil.exe /verbose /progress /add-image /imagefile:”d:\Win7.vhd” /imagetype:install /imagegroup:”VHDImage”
其中/berbose表示显示命令的详细输出;/progrees表示显示命令的进程
四、创建无人参与文件
在部署单个计算机的时候,没有必要配置自动应答,但是在批量部署的时候,还是需要配置无人参与文件,实现批量自动部署。一般来说,实现零接触处的自动部署需要两个无人参与文件,一个用在WDS部署过程中,用来登录WDS、获取映像、选择安装位置等;另一个用在映像配置阶段,即当部署的映像经过sysprep专化后,需要重新配置键盘、时区、用户名等信息。
这两个应答文件可以使用Windows Automated Installation Kit中的Windows System Image Manager工具制作(下一篇文章会给大家介绍如何制作)。内容如下,括号的内容是解释
A、WDS使用的应答文件Untitled.xml
language="neutral" versionScope="nonSxS" processorArchitecture="x86">(跟启动镜像的架构要相符)
language="neutral" versionScope="nonSxS" processorArchitecture="x86">
B、映像使用的应答文件ImageUntitled.xml
五、关联无人应答文件
1、 将WDS用的无人应答文件Untitled.xml复制到WDS的安装目录D:\RemoteInstall\WdsClientUnattend
2、 打开部署服务,右键单击WDS服务的名称,选择属性,打开“客户端”标签
3、 勾选“启用无人参与安装”,在X86体系结构中导入Untitled.xml无人参与安装的自动应答文件。
4、 将映像使用的自动应答文件ImangeUntitled.xml复制到D:\RemoteInstall\Images\VHDImage\Win7\Unattend
5、 选择安装映像Win7VHD7600ZH,右键单击选择属性,将ImangeUntitled.xml与其关联。
6、 在常规选项卡中,勾选允许在无人参与模式下安装映像,然后点击选择文件定位到ImangeUntitled.xml
六、按下F12,一切都搞定
1、重起客户机,从网络启动
2、连接到WDS服务器后,按照提示按下F12键
3、根据WDS的应答文件,客户端会自动登陆WDS\选取映像\copy\添加启动项等工作
4、第一次重起,安装设备等
5、第二次重起,按照映像的自动应答文件,进行sysprep之后的配置.一闪而过,直接来到登录界面
6、以下是系统重启之后的启动项,“早期版本的Windows“是DS自动添加的,就是C盘的WinXP,进入WinXP后可以看到xp的D盘多了一个Win7.VHD文件。
六、结语
本文完全可以用来直接部署Windows 7,之所以使用VHD是为了后续的差异磁盘部署,这样系统恢复就变得极为方便,XP下替换一个差异的VHD文件,系统就恢复了。、
另外,本文还不够完善,关于多播、加入域等还没做测试。WDS本身也存在很多不足的地方,很希望微软能推出一个针对VHD镜像的管理工具,如果有第三方开发也好。
chinaunix网友2010-01-05 21:53:39
创建vhd最好的方法不是用虚拟机然后sysprep,在windows7/r2系统,自带了创建 挂载 建立差异vhd的diskpart子命令,建立vhd并挂载为磁盘后,用imagex /apply安装install.wim映像到vhd就可以了,install.wim是微软官方封装的最纯净,适应性最广的,也是最可靠的系统映像了