![Hyper-V 中创建的 .vhd 文件与 Win 7 中创建的 .vhd 文件有何区别?](https://linux22.com/image/563984/Hyper-V%20%E4%B8%AD%E5%88%9B%E5%BB%BA%E7%9A%84%20.vhd%20%E6%96%87%E4%BB%B6%E4%B8%8E%20Win%207%20%E4%B8%AD%E5%88%9B%E5%BB%BA%E7%9A%84%20.vhd%20%E6%96%87%E4%BB%B6%E6%9C%89%E4%BD%95%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
我最近尝试在 Hyper-V 中创建 .vhd 文件后在 Windows 7 Virtual PC 中启动虚拟机。但 Win 7 Virtual PC 无法完全启动虚拟计算机。
在 Virtual PC 中创建的 .vhd 文件可以在 Hyper-V 环境中运行吗?反之亦然?
Hyper-V 中创建的 .vhd 文件与 Windows 7 Virtual PC 中创建的 .vhd 文件有何区别?
答案1
是的,它们是一样的。自 2003 年 Microsoft 收购 Connectix 以来,文件格式一直没有改变。
是的,VHD 文件可以用于 Hyper-V 和 Virtual PC,甚至可以直接在硬件上启动。
如果您的文件无法启动,则可能是软件出了问题。您遇到了什么错误?几个常见问题是在 Hyper-V 上创建 64 位映像,Virtual PC 仅支持 32 位映像。在移动映像之前未安装 Virtual PC“硬件”驱动程序。此外,您的 Virtual PC 可能配置错误。
答案2
当您创建 VHD 文件时,它们在为空时本质上是相同的。对于可以使用 VHD 文件的任何系统都是如此,包括 Microsoft Virtual PC、Virtual Server、Hyper-V、Xen 以及我认为的 Virtual Box。
但是,如果你将某些内容放入该 VHD,它们就不再相同了。在这种情况下,你在虚拟机上安装了一个操作系统,而操作系统又为该虚拟机进行了自定义。现在 VHD 文件不再相同了。
两个不同的操作系统安装(这才是您真正想问的)之间的差异取决于两台不同的机器(物理或虚拟)之间的差异。Virtual PC 和 Hyper-V 虚拟机在某种程度上有所不同。这里重要的是 Hyper-V 支持多处理器,而 Virtual PC 不支持。因此,Windows 将以依赖于多处理器支持的方式自行安装,因此除非您告诉加载程序以慢速方式启动,并在每次启动时选择 HAL,否则它不会在 Virtual PC 中运行。
为此,请输入“bcdedit /set detecthal yes”。
如果愿意,您可以安装 VHD 并离线执行此操作,使用 bcdedit 的“/store”参数将其指向 VHD。
总体而言,Xen 和 VirtualBox 与 Virtual PC 的差异甚至比 Hyper-V 更大。要在这些系统之间移动 VHD 文件,您可能需要处理存储驱动程序和其他东西。在移动虚拟机之前,您肯定希望卸载虚拟机特有的任何“附加组件”或“集成组件”。