admin管理员组

文章数量:1531792

2024年3月10日发(作者:)

详解Windows 7的Native VHD功能及实现

详解Windows 7的Native VHD功能及实现

Windows 7中引入了一个Native VHD模式,应该说,这又算是微软虚拟化核心技术

VHD的一项应用了。VHD是微软虚拟机软件中使用的虚拟硬盘文件,使用一个文件保存虚

拟机中一块硬盘上的所有数据,实现了“文件变硬盘”的虚拟过程。VHD Native Boot 功能

简单说来就是能在真机中运行Windows 系统,但同时所有数据只保存在一个VHD文件当

中,“Native”就是相对于虚拟机来说的。相对于传统虚拟机,这种方式的操作系统虽然同

样保存在虚拟磁盘文件中,可以随时备份和删除,但又运行在真实的计算机上,而不是性能

受损失的虚拟机,有的人因此把这种方式称为“半虚拟”,也不无道理。

硬盘

硬件环境

软件环境

性能对比

Native Machine

(真机)

真实

真实

真实硬件中运行

无损

VHD Native Boot

(VHD真机引导)

虚拟

真实

真实硬件中运行

无损

Virtual Machine

(虚拟机)

虚拟

虚拟

虚拟硬件中运行

比真机稍差

Native VHD允许我们在物理上直接挂载VHD文件来启动。首先有一点我们要明白的,

我有了VHD文件,怎么不就去直接挂载到虚拟机中,熟悉的VPC Virutal Server,Hyper-v,

怎么玩都行,干嘛要搞个VHD启动。要回答这个问题,很简单,比如我们用Hyper-v去

挂载VHD文件,启个系统,方便自在,但有一点,在Hyper-v的虚拟机中访问USB设备,

这个就玩不了了,Native VHD就行,他最大的好处就是可以直接访问硬件,对于一些需要

测试Hyper-v不支持的设备或是接口,Native VHD便是一个不错的选择。

其实Native VHD说白了,就是在现有的Windows 7系统当中,再创建一个系统,

形成双系统或是多系统启动,最终的结果是多系统启动,但是实现方法和操作方法不再是用

光盘装多个系统了,下面我们就看看NativeVHD怎么玩。

1、演示机器是Windows 7 Ultimate 32bit,打开开始计算机管理。

2、打开管理工具后,找到存储下的磁盘管理工具,右键选择创建VHD。

1 / 3

详解Windows 7的Native VHD功能及实现

3、选择VHD文件存储位置,VHD文件大小和VHD文件类型,如果要获得更好的性

能,可以选择固定大小。

4、确定以后,系统开始创建VHD文件,在右下角可以看到进度条。

5、创建VHD完成后,我们就把它当成一块硬盘了,给它初始化,分区,分配盘符,

格式化,走个套路,结果最后就整出来了个V盘。

6、下面一步,我们要做的,就是将Windows 7的系统导入到这个V盘了。怎么做,

步骤很简单,先把Windows 7光盘中的文件复制出来,然后使用ImageX

工具来导入Windows 7系统。如为ISO镜像,则建议用UltroISO提取出来。

如果你的系统中没有ImageX工具,那么你可能要到Windows AIK中去提取这个文

件,或直接在Windows 7中安装AIK。命令中的数字5表示Windows 7旗舰版,而在

64位的Windows 7上,数字4表示Windows 7旗舰版。特别提醒的是,目前只有

Windows 7 旗舰版、企业版和 Windows Server 2008 R2 才支持VHD启动。

ImageX /apply d: 5 v: /check /verify (32bit ultimate)

ImageX /apply d: 4 v: /check /verify (64bit ultimate)

以上两条命令行,利用gImageX工具可在图形界面上实现。当然,从1到6的所有

操作都可利用WinPE引导后,在命令行下实现。

7、接下来的,利用WinPE3.0光盘或UFD启动,进入WinPE环境。Windows PE

引导系统后,我们利用bcdedit工具新建一个启动项了。分三步走,首先执行bcdedit /copy

{default} /d "Windows 7 VHD",创建一个启动项。

由于已经在Windows 7下利用磁盘管理工具创建了VHD,并在VHD上应用了映像,

在WinPE启动后,首先利用diskpart工具挂载VHD,并指定盘符。

2 / 3

详解Windows 7的Native VHD功能及实现

Diskpart

Select vdisk file=d: (VHD文件根据实际位置确定)

Attach vdisk (附加VHD)

Assign letter=V (指定VHD盘符)

然后,利用bcdedit将本地引导项添加到现有的Windows 7引导菜单中:

Bcdedit /export d:bcdbackup (备份原引导菜单,可选)

Bcdedit /copy {default} /d “Windows 7 VHD System” (添加引导项)

这条命令成功执行后,返回{guid}串,{guid}串在接下来的命令中将被引用。

8、再依据创建的{guid},指定启动引导设备为VHD文件

Bcdedit /set {guid} device vhd=[locate]

Bcdedit /set {guid} osdevice vhd=[locate]

9、指定启动目录

Bcdedit /default {guid} (设置为默认启动项,可选)

bcdedit /timeout 15 (将默认的启动菜单显示时间改为15秒)

10、最后,指定检测硬件HAL

Bcdedit /default {guid} detecthal on

3 / 3

本文标签: 文件启动系统虚拟利用