使用 Windows Deployment Services 部署 VHD Native Boot
苏繁 发表于:10年04月23日 13:36 [原创] DOIT.com.cn
VHD Native Boot 是一个能够实现从本地直接启动 VHD(Virtual HardDisk)的技术。通过 VHD Native Boot,我们最终能够实现在一台裸机上部署一套完整的 Windows 操作系统,而这个操作系统仅被包含在一个 VHD 文件中。该技术目前仅支持 Windows 7的企业版、旗舰版,以及Windows Server 2008 R2 系列。VHD Native Boot 的特性和优势是显而易见的,用户可以在 Windows 7 中创建一个 VHD,并将系统灌入到 VHD 中,通过 Windows 7 bootmgr 来启动 VHD。不论简单还是复杂的系统环境都被存储到了一个 VHD 中作为一个独立系统,所以维护起来更加方便。此外,用户还能够在同一台计算机上创建最多达512个实例的 VHD Native Boot,很轻易地创建出多个系统环境,用于生产、测试、评估和开发。
在一台 Windows 7操作系统的单机上添加一个 VHD Native Boot 的过程并不复杂,准备好 系统源文件install.wim和imagex.exe 工具(该工具能够从 WAIK 中获取,也可以从https://goxia.maytide.net/up/imagex.exe下载。),先使用 diskpart 创建一个 VHD,然后使用 imagex 释放 install.wim 对应的系统到 VHD 中,最后使用bcdedit命令为这个 VHD 创建引导信息,最后重新启动计算机在 bootmgr 列表中选择从这个 VHD启动即可。
使用diskpart创建VHD的命令行如下:
diskpart
create vdisk file=d:\windows7ult.vhd maximum=20480 type=expandable
sel vdisk file=d:\windows7ult.vhd
attach vdisk
create partition primary
format fs=ntfs quick label=win7nativeboot
assign letter=v
exit
上面的命令行将在D盘创建一个名为windows7ult.vhd的动态扩展类型,大小为20480M的VHD,并为其创建一个NTFS格式的主分区,卷标命名为win7nativeboot,挂载到当前系统中,分配盘符v。
使用 imagex 工具释放 Windows 7 安装源 install.wim 中的旗舰版本到“v:\”,为此执行下列命令:
imagex /apply f:\soruces\install.wim 5 v:
当系统文件释放完毕之后就可以为其添加 VHD Native Boot 引导信息,为此执行下面的命令行:
bcdedit /copy {current} /d “Windows 7 Ultimate VHD Native Boot”
bcdedit /set {GUID} device vhd=[d:]\windows7ult.vhd
bcdedit /set {GUID} osdevice vhd=[d:]\windows7ult.vhd
bcdedit /set {GUID} detecthal on
完成引导信息的创建之后,重新启动计算机,此时会在引导菜单中看到一个名“Windows 7 Ultimate VHD Native Boot”的引导项,选择它进行引导启动。经过短暂的系统初始化过程后,将进入这个 VHD 系统。
需要注意的是 VHD Native Boot 方式的系统将不支持睡眠功能,且无法使用BitLocker对磁盘进行加密,也不支持 RAID功能。此外,存放 VHD 文件的分区将不支持 Volume Snapshot,更为重要的是不论 VHD 是固定大小还是动态扩展类型,其容量必须小于当前 VHD 存储的分区大小。
到这里,我们已经对 VHD Native Boot 的创建有了详细的认识,虽然过程非常简单,但是在企业环境中 VHD Native Boot 具体能为我们带来什么优势?!我们又应当如何来应用这项技术呢?!
在 Windows 7 的开发阶段,我就有幸加入到了 Windows 7 Beta Program,对 Windows 7 进行测试和评估。从 Windows 7 M3 阶段提供系统对 VHD 的原生支持,到 Windows 7 Beta 提供的 VHD Native Boot,让我看到了 VHD Native Boot 的前景。那时我便在PC和NoteBook上开始应用 VHD Native Boot创建我的多系统环境,安装多种语言和架构版本,用于执行测试和评估工作。直至Windows 7和Windows Server 2008 R2 RTM后,公司便开始着手如何过渡到 Windows 7 系统,由于当时的企业环境还是以Windows XP系统居多,难么直接将Windows XP升级到Windows 7不免存在诸多问题,唯恐会影响正常的生产工作。但是依照常规手段安装多系统环境,除了要准备单独用于安装 Windows 7的分区,还会出现目录文件混乱的情况。要知道,企业的普通员工并不个个都是电脑高手,当他们进入系统打开资源管理器后看到两个分区都存在系统文件夹会使他们感到迷茫并产生厌烦情绪!此时,如果利用VHD Native Boot将能够化解这些忧虑和烦恼。而依照前面介绍的单机添加 VHD Native Boot的步骤,将会非常复杂,并增加额外的工作量,因为计算机已有的系统是 Windows XP,要实现 VHD Native Boot 必须要将原先的引导程序改为 Windows 7 bootmgr。手工一台一台安装 VHD Native Boot 将是一个噩梦!
OK,先别绝望!微软已经替我们考虑到了这点,现在通过Windows Server 2008 R2中的Windows Deployment Services(WDS)将能够轻而易举的将 VHD Native Boot 批量部署到用户计算机中。因为 WDS 会自动帮你在裸机上创建相关的引导信息。此外,如果现有分区上已经存在系统,WDS 部署的 VHD Native Boot 能够自动创建配置多引导。更酷的是可以部署多个 VHD Native Boot 到计算机上,同时支持差异磁盘方式以及动态磁盘。
