欢迎光临,这里是 gOxiA=苏繁=SuFan 独立的个人博客。
本站域名:http://goxia.maytide.net or http://sufan.maytide.net
移动设备请访问:http://goxia.maytide.net/m
转载文章,请务必保留出处与作者信息,未经许可严禁用于商业用途!

MSFT_SolutionAccelerators

使用 MDT 2012 Beta1 轻松部署 VHD Native Boot

        早先 gOxiA 发布了 MDT 2012 Beta1 相关的三篇日志《微软发布 Microsoft Deployment Toolkit 2012 Beta 1》、《升级至 MDT 2012 Beta1》、《因数据库权限问题引发的 MDT 2012 升级故障》,而今天要为大家带来的是使用 MDT 2012 Beta1 轻松部署 VHD Native Boot,关于 VHD Native Boot 这里就不再做介绍了,需要了解的朋友可以在本 Blog 搜索 vhd native boot 即可,相信感兴趣的朋友对其不会陌生啦。

        之前大家尝试 VHD Native Boot 都是在单机环境进行测试,如果要大规模应用到企业环境中,我们就需要借助 WDS,gOxiA 就此专门写过一篇文章《使用 Windows Deployment Services 部署 VHD Native Boot》,大家可以先看看。而此次将借助 MDT 2012 Beta1 来部署 VHD Native Boot,当然这一功能特性也是 MDT 2012 Beta1 的显著改进!

        利用 MDT 2012 Beta1 部署 VHD Native Boot 非常简单,我们只需要创建对应的任务序列即可,而无须做过多的繁琐操作,与创建一个普通的 Windows 7 安装任务无任何区别!下来就让我们开始此次 MDT 2012 Beta1 部署 Windows 7 Enterprise VHD Native Boot 的实践。注意,在开始前请务必先在 MDT 中添加一个 Windows 7 的系统安装源

        首先,创建一个新的任务序列,如下图填写 ID 和 Name。

1

        接下来很关键,我们需要在任务模板中选择“Deploy to VHD Client Task Sequence”,如果要部署 Windows Server 2008 R2 的 VHD Native Boot 就需要选择“Deploy to VHD Server Task Sequence”。

2

        在操作系统选择列表中,选中我们要部署 VHD Native Boot 的 Windows 7 SKUs,本例使用的是 Windows 7 Enterprise 版本。

3

        下来一路的配置界面相信大家再熟悉不过,不再一一介绍,看图有真相!

45678

        启动一台客户端,这里 gOxiA 使用 Hyper-V 创建了一个客户端虚拟机,硬盘分配 20G 即可!PXE 进入 MDT 的 LTI 环境,选择我们之前创建的任务序列“Windows 7 Enterprise VHD Native Boot”,下一步!如下图,后续的步骤与常规部署并无区别,因为 gOxiA 做了自动化处理,有些设置步骤被省略掉了!

9101112

        由于是在虚拟环境下,所以耗时会相对较长,MDT 要先根据任务序列的配置分区格式化卷,然后在其上创建一个 VHD文件,之后 Mount the VHD,再进行分区格式化,才会将 Windows 7 释放到该 VHD 中,最后才开始进入初始安装阶段。在此次测试中完成部署大约用去了近一个小时的时间,而这一时间应该取决于硬件性能和网络带宽。

MDT_VHD_Profiles

        下图就是 VHD Native Boot 部署后的磁盘情况,MDT 2012 Beta1 相比较 WDS 部署 VHD Native Boot,更加灵活、简便!我们无需实现准备用于部署的 VHD,MDT 2012 为自动帮助完成这一切,而且在部署过程中我们还可以选择要在之后安装的应用软件等等!

MDT_VHD_Finish

        VHD Native Boot 的路演日志(路演使用 VHD Native Boot 打造多系统应用环境)已经发布过了,再配合之前关于 VHD Native Boot 的文章应该算比较全面的,贯穿下来相信大家能够掌握 VHD Native Boot 这一创新且具颠覆性的新特性。而今天将要与大家分享的是使用 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 的启用映像中,用于后面的引导和安装,这一步骤不再复述,非常简单!

image
(Windows 启动流程示意图)

NativeVHDSchema
(VHD Native Boot 架构)

        准备工作结束后,就开始进入正题。因为 WDS 目前还不支持 UI 方式,即通过 WDS 管理器添加 VHD 的操作,所以我们需要借助 WDS 命令行工具 – wdsutil.exe 来完成工作。为了便于管理,我们可以单独为 VHD 类型的安装映像建立一个安装组,该操作可以使用 WDS 管理器进行添加,或使用下列命令行:

wdsutil /add-imagegroup /imagegroup:VHDs

        安装组创建完毕之后就可以开始添加 VHD 映像,为此请执行下列命令:

wdsutil /verbose /progress /add-image /imagefile:d:\vhdimages\windows7ultimate.vhd /imagetype:install /imagegroup:VHDs

Add-Image VHD

        命令行中的 verbose 和 progress 参数可以省略,用来显示详细信息和处理进度。其他参数都很容易理解,或是用“/?”获取相关的帮助,这里不再单独说明。到这里 VHD 的添加就完成了,非常之简单!如果是差异磁盘,那么只需要直接添加差异磁盘即可,父盘会自动添加到 WDS 存储 images 的目录中,出于安全原因原父盘名称会被自动修改为 Base-1.vhd 并被赋予隐藏属性。此外,打开 WDS 管理器我们能看到 VHDs 安装组中会存在两个刚添加好的映像,其中被禁用的便是 Base-1.vhd。因为添加的 VHD 都使用内部版本名+版本号作为映像名称,所以存在多个 VHD 时容易混淆,我们可以直接修改这些映像名称!

image

        OK,现在就来感受一下成果,启动一台客户端计算机(物理机或虚拟机均可)通过 PXE 引导进入 WDS 的安装向导界面,选择之前添加的 VHD 执行安装,接下来的时间可以休息一下!

image

        下图可以看到 VHD 被部署到客户端后的存储方式,默认 WDS 会在客户端计算机目标分区建立名为 WindowsImages 的根目录,其中会依序创建000、001 这样的子目录存储部署的 VHD 文件。此外,差异磁盘的父盘也会一同部署到客户端计算机上。至于网上有网友提到的使用差异磁盘来做客户端的还原和快速恢复应用,是一个很不错的想法,但是 gOxiA 认为 VHD Native Boot 更多考虑的应该是应用中会遇到的阻碍等问题。要细心设计如何更好的应用,而不是功能本身的操作。

image

        在欣喜之余对 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 联系共同学习探讨!

Tags: , , , , , , , , ,

路演使用 VHD Native Boot 打造多系统应用环境

        搜索 gOxiA 的博客查找关于 VHD 和 Native Boot 的文章确实比较匮乏,而且都比较零散,周围的朋友当工具参考的时候,也比较麻烦,所以今天写此篇日志,路演一遍使用 VHD Native Boot 打造多系统应用环境。除此之外,再分享一些小心得体会!

        在开始之前,有必要提醒大家几个注意事项,首先要准备好 image.exe 这个工具,使用它来释放系统源;其次建议准备一个独立分区,专门用来存储这些 VHDs,比如 gOxiA 就划分出一个独立的 40G 分区,用来存放 Windows Server 2008 R2、Ubuntu,根据需要还可以放入 Windows 7 英文版或64bit 进行测试或满足其他工作需求,当然这一步也不是必须得,根据自己的喜好;最后就是准备好系统源 — Install.wim。

        一切准备就绪,就可以开始了。首先安装主系统,最好是 Windows 7,毕竟桌面平台用桌面版本最符合要求(gOxiA 长期经验,不管做什么应用,桌面的还是用桌面系统最好,其他的跑虚拟化更为合适。),此外 VHD Native Boot  只有 Windows 7 和 Windows Server 2008 R2 支持,这点要尤为注意。主系统的安装过程我就不再复述,下面进入主要环节。

        我们要做的就是创建一个虚拟磁盘(VHD),将需要的系统版本安装源释放到这个 VHD 中,然后使用 bcdedit 创建这个对应 VHD 的引导信息便大功告成。过程其实很简单,因为大部分操作都涉及命令行,所以本例将全部以命令行的方式来进行路演。

        首先,我们需要使用 Diskpart 来创建一个 VHD 文件,当然也可以参考之前的文章(Discovery support Virtual Hard Disks (新增对 VHD 的支持))进行操作。

diskpart

create vdisk file=d:\ws08r2.vhd maximum=20480 type=expandable

sel vdisk file=d:\ws08r2.vhd

attach vdisk

create partition primary

format fs=ntfs quick label=WS08R2

assign letter=v

        上面的命令行很容易理解,在D盘创建一个名为 ws08r2.vhd 大小为20G的动态扩展虚拟磁盘,并挂载到当前系统,之后为该虚拟磁盘创建一个主分区,使用 NTFS 格式进行快速格式化,将其卷标命名为 WS08R2,分配其盘符 v。

        下来我们将使用 imagex.exe 释放 Windows Server 2008 R2 安装源 install.wim 中的 Windows Server 2008 R2 Standard Edition 版本到之前的虚拟磁盘中,在当前系统上虚拟磁盘的盘符是v。

imagex /apply f:\soruces\install.wim 1 v:

        OK,一个命令就完成了,如果需要安装其他版本则可以使用 /info 参数来确定版本的 index 。

        最后,我们将使用 bcdedit 来创建这个 WS08R2 的引导信息,为此执行下列操作:

bcdedit /copy {current} /d "Windows Server 2008 R2 Standard Edition"

bcdedit /set {GUID} device vhd=[d:]\ws08r2.vhd

bcdedit /set {GUID} osdevice vhd=[d:]\ws08r2.vhd

bcdedit /set {GUID} detecthal on

bcdedit /set {GUID} hypervisorlaunchtype auto

        如果希望 WS08R2 的引导不出现默认引导菜单,默认还是与往常一样进入 Windows 7,待需要时调用的话,可以将该引导项存储在 toolsdisplayorder 中,那么我们就需要先从 displayorder 中删除“Windows Server 2008 R2 Standard Edition”引导项,之后执行下面的命令再添加到 toolsdisplayorder 中,启动计算机时引导系统光标出现按下空格就可以进行调用,这也是 gOxiA 所推荐的,毕竟很美观不破坏整体效果。

bcdedit /displayorder {GUID} /remove

bcdedit /toolsdisplayorder {GUID} /addlast

        至此,我们就可以重新启动计算机引导 WS08R2 进行安装初始化,由于默认引导还是 Windows 7,所以当 VHD 上的 WS08R2 重新启动时需要认为干预选择通过 WS08R2 引导。通过这些操作我们还可以在当前系统上搭建出不同的应用环境满足自己的需求,gOxiA 基本上保证一套自己常用的主系统长期正常运行,再通过此法搭建出一套只用于 Hyper-V 的实验环境,满足自己的需求。有时候要进行教程录制或不同语言环境的测试,都需要一个干净的环境,所以 VHD Native Boot 也派上了大用场,总之充分利用这一颠覆性的创新特性能帮助我们解决不少问题,更多应用还有待用户来挖掘。

        最后希望今天这一路演能帮助从事微软相关工作的朋友们,嘿嘿!确实很适合一定人群的使用需求!其他更多相关文档可以在本博搜索关键字 vhd 或 native boot,为了方便大家这里提供 imagex 文件的下载:imagex.exe

分页: 2/4 第一页 上页 1 2 3 4 下页 最后页 [ 显示模式: 摘要 | 列表 ]