【IT168 应用技巧】今天将要与大家分享的是使用 Windows Deployment Services(WDS)部署 VHD Native Boot,通过这篇文章相信大家会有很大的收获!使用 WDS 部署 VHD Native Boot 将会更加方便快捷,因为 WDS 会自动帮你在裸机上创建相关的引导信息。此外,如果现有分区上已经存在系统,WDS 部署的 VHD Native Boot 能够自动创建配置多引导。更酷的是可以部署多个 VHD Native Boot 到计算机上,同时支持差异磁盘方式以及动态磁盘。种种特性预示着该技术将会在企业环境中大大被利用,例如我们可以利用 WDS 向一台已经安装有 Windows XP 或 Windows Vista 的计算机部署一个 Windows 7 VHD,或一个事先经过预安装配置的 Windows 7系统,作为测试或过渡使用。此外使用 VHD 还同步支持物理机和虚拟机的部署,我们只需要维护一份 VHD,便可以将其部署物理计算机或虚拟系统上,效率方面得到了进一步的提升。当然 VHD Native Boot 的更多应用还有待大家去发掘,就目前而言,VHD 已经渗透到了微软多个产品中,如我们所熟悉的虚拟机磁盘;Windows Vista/7 Complete PC Backup,Windows Server Backup 备份的文件格式;iSCSI LUNs 的后端存储以及SCVMM中的 Management Support。
下面就让 gOxiA 引领大家开始这一体验之旅,在开始前有必要提示一下准备工作,首先要准备一个完整的 WDS 环境,需要注意的是 WDS 必须是基于 Windows Server 2008 R2 的,因为部署 VHD 这一功能只有 WS08R2 支持。系统 SKU 的选择,目前 Client 只有 Windows 7 的 Enterprise 以及 Ultimate 支持 VHD Native Boot,而 Server 则 Windows Server 2008 R2 SKUs 都支持。接下来我们需要准备一份用于部署的 VHD 文件,可以参考之前的文章使用 imagex 工具释放 Install.wim 中的对应版本到 VHD 中,也可以使用 WIM2VHD 工具进行转换,或者使用 Disk2VHD 抓取现有的系统 VHD 映像,但是需要考虑硬件驱动及 SID 等问题,建议执行 Sysprep,或者在虚拟机中直接安装系统,并进行必要的配置及常用软件的安装,之后执行 Sysprep。最后将这些 VHD 拷贝到 WDS 以备后用。另外,将 Windows 7 或 Windows Server 2008 R2 的安装光盘中 Sources 目录下的 Boot.wim 添加到 WDS 的启用映像中,用于后面的引导和安装,这一步骤不再复述,非常简单!(图1、2)
(Windows 启动流程示意图)
(VHD Native Boot 架构)
准备工作结束后,就开始进入正题。因为 WDS 目前还不支持 UI 方式,即通过 WDS 管理器添加 VHD 的操作,所以我们需要借助 WDS 命令行工具 - wdsutil.exe 来完成工作。为了便于管理,我们可以单独为 VHD 类型的安装映像建立一个安装组,该操作可以使用 WDS 管理器进行添加,或使用下列命令行:
wdsutil /add-imagegroup /imagegroup:VHDs
安装组创建完毕之后就可以开始添加 VHD 映像,为此请执行下列命令:(图3)
wdsutil /verbose /progress /add-image /imagefile:d:\vhdimages\windows7ultimate.vhd /imagetype:install /imagegroup:VHDs
命令行中的 verbose 和 progress 参数可以省略,用来显示详细信息和处理进度。其他参数都很容易理解,或是用"/?"获取相关的帮助,这里不再单独说明。到这里 VHD 的添加就完成了,非常之简单!如果是差异磁盘,那么只需要直接添加差异磁盘即可,父盘会自动添加到 WDS 存储 images 的目录中,出于安全原因原父盘名称会被自动修改为 Base-1.vhd 并被赋予隐藏属性。此外,打开 WDS 管理器我们能看到 VHDs 安装组中会存在两个刚添加好的映像,其中被禁用的便是 Base-1.vhd。因为添加的 VHD 都使用内部版本名+版本号作为映像名称,所以存在多个 VHD 时容易混淆,我们可以直接修改这些映像名称!(图4)
OK,现在就来感受一下成果,启动一台客户端计算机(物理机或虚拟机均可)通过 PXE 引导进入 WDS 的安装向导界面,选择之前添加的 VHD 执行安装,接下来的时间可以休息一下!(图5)
下图可以看到 VHD 被部署到客户端后的存储方式,默认 WDS 会在客户端计算机目标分区建立名为 WindowsImages 的根目录,其中会依序创建000、001 这样的子目录存储部署的 VHD 文件。此外,差异磁盘的父盘也会一同部署到客户端计算机上。至于网上有网友提到的使用差异磁盘来做客户端的还原和快速恢复应用,是一个很不错的想法,但是 gOxiA 认为 VHD Native Boot 更多考虑的应该是应用中会遇到的阻碍等问题。要细心设计如何更好的应用,而不是功能本身的操作。(图6)
在欣喜之余对 VHD Native Boot 做一下总结,虽然 VHD Native Boot 有很大的发展潜力和优势,但是大家还是需要了解一些他的注意事项:
" 强烈建议将 VHD 单独部署到一个独立分区中,并且不要在该分区内存储其他数据;
" 不论 VHD 是固定磁盘还是动态扩展磁盘格式,存储 VHD 的分区一定要大于 VHD 的总容量;
" VHD Native Boot 最大支持 512 个实例;
" 不支持休眠;
" 无法使用 BitLocker;
" VHD 所在父分区不支持 Volume Snapshot;
" 不支持 RAID。
最后,WDS 部署 VHD 支持无人值守脚本,从而实现自动化部署。差异磁盘的创建则在 diskpart 命令环境中执行如:"create vdisk file=child.vhd parent=name.vhd"的命令行即可,其中 parent 即指定父硬盘。
至此,本篇即告结束!欢迎感兴趣的网友与 gOxiA 联系共同学习探讨!