我需要在本地 PC 上运行 Azure VM。我直观地执行了以下操作:
1)使用 Azure 存储资源管理器下载虚拟机的磁盘(VHD)
2)在 Virtual Box 中配置新的虚拟机
3)尝试添加从 Azure 下载的 VHD 磁盘映像
4)点击“接受”(后来我发现磁盘没有设置)
5)启动虚拟机
6)虚拟机使用不同的磁盘映像启动(我使用的最新磁盘映像)
当我启动机器时,它会自动切换到我打开的最新映像(另一个虚拟机)
VB 没有显示任何错误,它只是更改为以前的磁盘映像并启动虚拟机,就好像我从未配置从 azure 下载的磁盘一样。
VHD 文件是正确的,我比较了大小和校验和 MD5,它们是正确的。
我究竟做错了什么?
编辑:
后来我发现,问题在于 VirtualBox 根本不喜欢 VHD 磁盘映像。我手动将其添加到 SATA 控制器,但 VB 没有设置它:
答案1
为了在本地电脑上使用 *.vhd Azure VM 映像,您需要使用 Hyper-V 而不是 VirtualBox 或 VMWare。
但是为了在您的电脑上使用/启用 Hyper-V,您必须拥有兼容版本的 Windows 10。
参考此链接:Windows 10 Hyper-V 系统要求
如果您有兼容的 Windows 10 操作系统,请使用以下命令激活 Hyper-V,
- 打开提升的命令提示符。(管理员模式)
使用 DISM 命令,
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
将 VT-x 角色添加到 Hyper-V
bcdedit /set hypervisorlaunchtype auto
“重新启动”电脑。
请注意,在 Hyper-V 启用 VT-x 角色后,您将无法再使用任何类型的第三方虚拟服务,甚至无法使用 VMWare、VirtualBox、Genymotion、Bluestacks 等模拟器……因此,请确保在完成 Hyper-V 场景后禁用 VT-x 角色。否则将出现 BSOD。
从 Hyper-V 禁用 VT-x 并将其启用到其他虚拟服务(VMWare、VirtualBox 等...)
打开提升的命令提示符。(管理员模式)
bcdedit /set hypervisorlaunchtype off
“重新启动”电脑。
要从 PC 禁用 Hyper-V 角色,
打开提升的命令提示符。(管理员模式)
使用 DISM 命令,
dism.exe /Online /Disable-Feature:Microsoft-Hyper-V-All
“重新启动”电脑。
答案2
我可以启动图像使用 Hyper-V而不是 VirtualBox。VB 似乎不喜欢 Azure 的文件格式。
缺点是,当启用 Hyper-V 时,Virtual Box 对 64 位的支持被禁用。
答案3
根据您的截图,我猜您没有选择正确的VHD。我们将VHD下载到本地,名称应该是xxxx.vhd,而不是.vdi。
使用 VHD 创建新的虚拟机,如下所示:
这里有一篇关于在 VirtualBox 上运行 Microsoft VHD 文件的文章,请参考它。
更新:
MS 建议使用 Hyper-v 来运行 Azure VM 映像,也许我们可以使用 Hyper-v 来运行您的映像。