Windows 7中从VHD文件启动计算机
Windows 7对VHD文件的内建支持,VHD文件的地位得到了提升:-) ,它可以被操作系统认为是一块物理的硬盘进行管理和读写。
我们知道,现在启动系统的方式多种多样,可以从光盘、硬盘、软盘、U盘、网络等等不同的渠道来完成。既然VHD可以被Windows 7认为是一块独立的物理硬盘,那么我们是否可以从VHD启动操作系统呢?
答案是肯定的。Windows 7的引导程序也同样包含了对VHD文件的读写驱动,因此在装有Windows 7引导程序(Boot Loader)的上,可以通过配置BCDEdit的方式,把VHD上的操作系统加入到启动时显示的多系统选择菜单。
下面我们来看一下具体的步骤:
注意,我们不能在物理计算机上通过光盘把系统安装到VHD文件。首先我们需要一个已经安装了操作系统的VHD文件,这可以通过几种方式来完成:
1. 在Virtual PC或者Hyper-V中完成安装,并且运行sysprep,然后关机,这VHD文件可以被Windows 7的Boot Loader启动。
2. 使用ImageX工具,把之前备份的操作系统镜像文件(ImageX格式)恢复到VHD中。
Adding the VHD Entry in Boot Menu and then Boot from VHD
当成功的创建VHD文件并且在VHD系统之上部署了操作系统之后,我们需要使用Windows 7的BCDEdit工具来配置系统的多启动菜单:
C:>bcdedit /copy {current} /d "My New VHD Description"
Note: This will Return the GUID of the Loader Object that you will use to replace below
C:>bcdedit /set device vhd=[driveletter:]\
C:>bcdedit /set osdevice vhd=[driverletter:]\
Note: vhd=[driveletter:]\ is the new syntax supported for
BCDEdit.exe to locate VHD File and Bootmgr will locate the partition
containing the VHD File to boot from.
C:>bcdedit /set detecthal on
Note:
Following is the attached screenshot of the my machine. In this
case I have Windows 7 as the default OS and I have added the VHD File
in the Boot Entry.
Well just after that run the following command to test if your boot entry is successfully created using C:>bcdedit /v
Similarly, if you want to add multiple VHDs into Boot entry you can use the following lines to the command prompt
C:>bcdedit /copy {current} /d "New VHD Description"
C:>bcdedit /set device vhd=[driveletter:]\
C:>bcdedit /set osdevice vhd=[driverletter:]\
C:>bcdedit /set detecthal on
Note: detecthal is used to force windows to auto detect the Hardware Abstraction Layer.
If you want to delete any existing VHD entry from the Boot Menu
you can always use the command C:>bcdedit /delete /cleanup This
deletes the specified operating system entry from the store and removes
the entry from the display order.
Well, we are ready to Boot from VHD. Once you restart the computer
you will see additional entry in Boot Menu along with the default
Windows 7 or Windows Server 7 OS.
Here is the screenshot from newly booted Windows
Server 2008 R2 Beta from VHD. I have installed Desktop Experience Pack
and enabled Aero Glass.
看到这里,大家不免有一些问题:从VHD启动之后的系统,到底是运行在虚拟机上?还是直接运行在物理硬件之上?从VHD启动,还需要哪些必备的条件?是否会有性能的损失?下面我来回答这些问题:
1. Windows 7的引导程序和Windows
7本身都包含了对VHD文件的读写驱动程序,因此我们可以在启动计算机的时候,访问VHD并且从其上启动;我们也可以在Windows
7中直接创建、加载和卸载VHD文件。这些都是VHD读写驱动的功劳,跟Virtual PC或者Hyper-V没有直接的关系。因此Windows
7不需要安装任何虚拟化软件。
2. 从VHD启动之后,计算机的操作系统直接访问硬件,不是以虚拟化的方式运行。
3. 这里面唯一的区别,就是对文件系统读写访问的时候,需要经过额外的一层VHD读写驱动的解析,这里面有一些微量的I/O性能开销,但是跟虚拟化的情况相比,性能基本上接近了真机。我查了一些测试资料,有一组直接读取硬盘和读写VHD的比较,性能差别微乎其微。如下图:
4. 因为对VHD的支持仅包含在Windows 7中,因此我们不能在Windows 7中创建VHD后通过光盘给VHD安装任何操作系统。
相关VHD的文章:
Windows 7支持VHD虚拟硬盘
Windows 7在虚拟磁盘(VHD)中的安装与启动
VHD(虚拟磁盘)系统在Windows 7中的加载
领略Windows7的VHD虚拟化文件
分享到:
相关推荐
海天软件工程学院网络教学用课件 上课时老是给学生玩耍的一些小文章 呵呵
现在Windows 7已内建对VHD文件的支持,可以从VHD文件启动计算机。 StarWind (V2V) Converter is a very simple but useful file conversion tool that will convert virtual hard drive images from VMware's VMDK ...
7. 添加vhd系统菜单:NT6.1系统中挂载vhd,挂然成功后象本地硬盘一样"自动修复"添加相应启动菜单。非NT6.1系统一样可以挂载vhd后添加,但这里一样不详谈 8. 修改启动菜单显示:当只有一个NT5.x和n个NT6.x系统时,如...
PsTools 套件包括一些命令行程序,可列出本地或远程计算机上运行的进程、远程运行进程、重新启动计算机、转储事件日志,以及执行其他任务。 RegDelNull 扫描并删除包含嵌入空字符的注册表项,标准注册表编辑工具不...
实验一:组建交换式局域网+接入...1、 首先启动Windows 2000 系统; 2、 D盘下的Win2Kpr.exe文件解压到E:\ ; 3、 运行D:\P-VirtualPC.exe,安装虚拟PC; 4、 映射PC到Win2Kpr.vhd; 5、 启动Win2Kpr,密码为123456;
高级设置中能设置智能克隆,完美碎片整理,克隆异机启动及其他高级功能,还可以将硬盘转换为VMware或Hyper-v虚拟机文件,需要选择转换成的虚拟机类型(vhd/vmdk),然后输入目标路径。修复计算机启动问题。智能克隆...
提示,可以用winimage工具来管理img磁盘映射,也可以用Windows系统自带的diskpart磁盘工具来加载img磁盘映射,通过计算机管理中的磁盘页面操作,或都通过命令行来实现,以下是两个脚本文件分别用来加载和卸载,保存...
PsTools 套件包括一些命令行程序,可列出本地或远程计算机上运行的进程、远程运行进程、重新启动计算机、转储事件日志,以及执行其他任务。 RegDelNull v1.10(2006 年 11 月 1 日) 扫描并删除包含嵌入空字符的...
PsTools 套件包括一些命令行程序,可列出本地或远程计算机上运行的进程、远程运行进程、重新启动计算机、转储事件日志,以及执行其他任务。 RegDelNull 扫描并删除包含嵌入空字符的注册表项,标准注册表编辑工具不能...
PsTools 套件包括一些命令行程序,可列出本地或远程计算机上运行的进程、远程运行进程、重新启动计算机、转储事件日志,以及执行其他任务。 RegDelNull 扫描并删除包含嵌入空字符的注册表项,标准注册表编辑...
PsTools 套件包括一些命令行程序,可列出本地或远程计算机上运行的进程、远程运行进程、重新启动计算机、转储事件日志,以及执行其他任务。 RegDelNull 扫描并删除包含嵌入空字符的注册表项,标准注册表编辑工具不...
PsTools 套件包括一些命令行程序,可列出本地或远程计算机上运行的进程、远程运行进程、重新启动计算机、转储事件日志,以及执行其他任务。RegDelNull 扫描并删除包含嵌入空字符的注册表项,标准注册表编辑工具不能...
* Win7/2008r2/Win8中 BCD 的修复计算机(Windows Recovery Environment)菜单丢失 * Win7/2008r2中 BCD 引起的3D引导画面丢失(变成VISTA滚动条引导画面) * BCD 引起的引导菜单选择界面乱码现象 4.系统盘符或磁盘...
在此确定虚拟硬盘所在的磁盘路径,由于默认的虚拟硬盘实际上是一个扩展名为".VHD"的文件,文件体积会根据你在虚拟机中所安装的软件而动态改变大小,Vista操作系统光是ISO镜像就有约2.42GB,笔者安装完毕后查看其虚拟...