欢迎光临 Enjoy IT (ITECN.NET) 登录 | 注册 | 帮助

[虚拟化实战]无需借助虚机安装,就能从VHD原生启动

直接借助VHD原生启动Windows 7或者Windows Server 2008 R2,相信很多朋友都试过,这个功能确实很酷!

不过传统的做法是借助Virtual PC或者其他虚机,先挂载VHD文件,在里面安装好Windows,然后再把该VHD文件挂载到物理机器上。这样的做法比较复杂一些,那么能不能不要安装Windows,能否通过什么方法直接把Windows安装光盘里的WIM映像文件转换成VHD呢?

答案当然是可以的。

阅读Frank Yu的博客,我们已经知道如何借助ImageX把WIM文件里的指定映像拷贝到预先创建并挂载的VHD磁盘中。如果觉得这样做太麻烦,也可以借助一个Wim2Vhd工具,轻松地把Windows安装光盘里的Install.Wim映像文件转换成一个Vhd文件。

条件

1. WAIK,该工具需要调用WAIK里的ImageX命令,可以到以下站点下载并安装:
http://www.microsoft.com/downloads/details.aspx?familyid=4AD85860-D1F4-42A1-A46C-E039E3D0DB5D&displaylang=en

2. Wim2Vhd,下载地址如下:
http://code.msdn.microsoft.com/wim2vhd

3. 操作计算机,安装Windows 7或者Windows Server 2008 2,或者Windows Server 2008 With Hyper-V

操作

准备好Windows 7或者Windows Server 2008 R2安装光盘,如果是ISO映像文件,则可以借助UltraISO等挂载工具将其挂载到虚拟光驱上。假设光驱盘符为H:

1. 用管理员权限执行以下命令
cscript wim2vhd.wsf /wim:h:\sources\install.wim
该命令可以查出安装光盘里每个不同SKU映像的名称,如图所示,我们可以看出Windows 7旗舰版,其SKU名称是ULTIMATE:

2. 然后运行以下命令,把安装光盘里的旗舰版映像文件转换成一个VHD文件,并且保存到F盘下,名称为Win7Ult.vhd:
cscript wim2vhd.wsf /wim:h:\sources\install.wim /sku:ultimate /vhd:f:\Win7Ult.vhd

3. Wim2Vhd脚本会自动创建一个VHD文件,默认大小是40GB,然后系统任务栏的通知区域会弹出气泡,提示加载相应的VHD磁盘驱动,以便挂载这个VHD文件,如下图所示:

4. 挂载好VHD文件,Wim2Vhd文件会自动调用ImageX命令把Wim映像里的Ultimate SKU释放到所挂载的VHD分区中,截图如下:

5. 默认情况下,Wim2Vhd并不会给VHD文件挂载的分区分配盘符,默认挂载到以下的NTFS目录:
%Temp%\WIM2VHD.WSF\{guid}\mount

6. 释放完以后,Wim2Vhd会自动执行bcdboot,以便该VHD能够引导,然后自动从所挂载的路径卸载。

7. 现在已经制作好一个VHD文件,里面已经有安装好的Windows 7系统,按照常规手段在BCDEdit命令中添加一个启动项即可。

8. 重启计算机,即可选择从VHD中引导,系统会自动进行配置。

是不是很简单呢?

已发表 2009年4月1日 13:02 作者 ahpeng

评论通知

如果您想在帖子更新时接到邮件通知,请先登录。这里

订阅帖子评论使用 RSS

评论

# re: [虚拟化实战]无需借助虚机安装,就能从VHD原生启动

哪跟我手动imagex /apply 把wim中的ultimate 解压到vhd中然后 bcdboot弄引导 bcdedit加启动项没区别把..就是换成脚本了

2009年4月1日 15:15 by 路人乙

# re: [虚拟化实战]无需借助虚机安装,就能从VHD原生启动

没有区别,但更加快速方便。自动化程度高。支持。。

2009年4月1日 17:37 by yinjie

# re: [虚拟化实战]无需借助虚机安装,就能从VHD原生启动

正如殷杰老大所说的,这个脚本自动化程度高,而且有比较完善的错误处理机制,我们无需了解ImageX和Diskpart的具体用法和细节,直接把WIM转成VHD。

2009年4月2日 9:43 by ahpeng

# re: [虚拟化实战]无需借助虚机安装,就能从VHD原生启动

在Windows Server 2008 With Hyper-V上使用文中的脚步报下面的错误

(对象不支持此属性或方法: 'BootMgr.SetQualifiedPartitionDeviceElement')

不知道是我的操作有误还是这个功能只能用在2008 R2和windows 7能用?

2009年4月2日 18:50 by 7068

# re: [虚拟化实战]无需借助虚机安装,就能从VHD原生启动

既然有那么多的默认设置的话,直接用imagex ,diskpart这几个命令写成批处理的话,效率还会更高的

2009年4月3日 20:18 by qiyi

# 使用Win 7引导程序启动VHD的N个场景

首先,我想指正一个说法,网上经常说Win 7 Native Boot VHD,更确切的说,应该是The Boot Loader Of Win 7 Native Boot VHD,重点突出,Win 7(包括2k8

2009年4月6日 12:55 by Asuka's Blog

# ??????Win 7??????????????????VHD???N????????? | PZong

引用接收来自http://pjung.cn/blog/?p=93

# re: [虚拟化实战]无需借助虚机安装,就能从VHD原生启动

有没有什么办法让7启动XP的VHD呢?

2009年9月13日 18:49 by stook

说说您的看法?

(必填) 
必填 
(必填)