去年在Geek Week我了解到一个工具:VDI中叫WIM2VHD(Windows Image to Virtual Hard Disk ),最近把实验平台迁移到hyper-v后,又想起这个工具。WIM2VHD从2009年初就出现了,所以您可能听说过。如果还没有,欢迎一起体验VHD的快速创建过程。
开始前,您需要先下载用于Windows 7的Windows Automated Installation Kit.实际上这个1.6G的包里会用到的只有两个文件:IMAGEX.EXE和BCDBOOT.EXE.如果您已经有了,只需把它们放到WIM2VHD的同一个文件夹内,准备工作就完成了。
WIM2VHD本质上是一个指向安装介质上。WIM文件(通常位于Sources文件夹)的WSF脚本。结合各种配置参数,在实际安装Windows的过程中,它可以从。WIM文件(Windows镜像格式)中提取各种信息并转换成VHD文件格式。接下来就是创建新的虚拟机并把新创建的VHD(或它的副本)分配给新虚拟机使用。
在运行时,WIM2VHD创建并加载VHD文件用于保留所有的系统文件。在操作结束时,它把VHD设置为可引导格式的,构成一台可移动的Windows虚拟机。
简单的命令如下:
CSCRIPT WIM2VHD.WSF /WIM:D:/Sources/install.wim /SKU:ULTIMATE /VHD:C:/Win7Image.vhd
该命令使用位于安装介质上的。wim文件,通过对比SKU和安装介质可以锁定Windows的版本,然后通知脚本VHD文件完成后保存在什么位置。
除了这种简单用法外,还可以添加很多其它的参数。因为每个VHD文件本质上都是作为sysprepped镜像创建的,在虚拟机启动后可以加入unattend脚本来执行快速运行。
还可以定义VHD文件的大小,磁盘类型(动态或固定),在运行时需要完成的补丁列表。详细内容可以参考WIM2VHD的MSDN page.
另有一个名为/passthru的功能甚至可以在把相关文件拷贝到目标驱动器并设置为可引导这一过程中,直接跳过VHD的创建过程。理论上,这也表明我们可以使用WIM2VHD来创建VMDK文件。虽然我已经找到完成这个功能的一组工具,依然花了很多时间进行这方面探索。
通常,整个过程应该如下:
1、创建空白的VMDK磁盘镜像
2、在镜像上创建分区
3、格式化分区并把它标记为活动的(WIM2VHD只能标记VHD卷为活动状态,而不是所有检测到的物理磁盘)
4、在Windows内使用VMware DiskMount这样的工具把它作为独立的驱动器加载
5、使用WIM2VHD完成磁盘准备
6、卸载VMDK并启动虚拟机
我测试的最佳结果是虚拟机可以启动到微软界面,得到一个错误提示“The Windows Boot Configuration Data file is missing required information.(Windows Boot Configuration Data缺少所需信息)”。如果谁发现了VMDK文件的解决办法,我将赠送他一个带有亲笔签名的Muppet Gabe(Brian Madden TV热播的the April Fool's Day anchor人物),并把具体内容在这里(SearchVirtualDesktop.com)公布。当然,如果您是XenServer或Hyper-V用户,也可以尝试一下WIM2VHD--它会极大节省您的时间。
作者:Gabe Knuth 译者:李哲贤
新闻热点
疑难解答