如果 CPU 不支持 VT-x,如何在 Virtualbox 上运行 32 位 Debian(由 ArchiveTeam 修改)?
我在 VirtualBox 上启动虚拟机时出现错误,我也在 VMWare Player 上尝试过,但没有成功。
VirtualBox 错误消息:
VT-x 不可用。(VERR_VMX_NO_VMX)
VMWare 错误消息:
导入失败,因为 D:\archiveteam-warrior-v2-20121008.ova 未通过 OVF 规范一致性或虚拟硬件合规性检查。
单击“重试”可放宽 OVF 规范和虚拟硬件合规性检查并再次尝试导入,或单击“取消”可取消导入。如果重试导入,您可能无法在 VMware Player 中使用该虚拟机。
主机规格:
- Atom™ N2800 (2 核 / 4 线程) 1.86 GHz+
- 4 GB 内存
- 64 位 Windows Server 2012 R2
答案1
没有 x86 虚拟机管理程序需要 VT-x 来运行 32 位客户机。只有 64 位客户机才需要某种虚拟化技术来保护内存‡。
通常,系统会自动选择虚拟化类型,如果可用,将使用硬件虚拟化,否则将使用软件。但是在这种情况下,您的 OVA 文件设置了自己的选项,导致文件导入失败。您需要在选项中禁用 VT-x 使用。它将位于 Virtualbox 的加速选项卡中。更改半虚拟化接口恢复默认设置,然后禁用 VT-x/AMD-v 和嵌套分页
在 VMWare 中有一个类似的选项。只需将首选模式自动并禁用两者虚拟化下面的选项
并且总会有一个模拟器选项,例如库姆或者博克斯. 这样你就可以在计算机上运行任何架构了。
‡ x86-64(AMD64)的初始版本由于缺乏长模式下的分段支持而无法实现纯软件完全虚拟化,这使得无法保护虚拟机管理程序的内存,尤其是无法保护在客户机内核地址空间中运行的陷阱处理程序。[11][12]:11 和 20 修订版 D 及更高版本的 64 位 AMD 处理器(根据经验,那些以 90 nm 或更低工艺制造的处理器)增加了对长模式下分段的基本支持,从而可以通过二进制翻译在 64 位主机中运行 64 位客户机。英特尔没有为其 x86-64 实现(Intel 64)添加分段支持,因此在英特尔 CPU 上无法实现 64 位纯软件虚拟化,但英特尔 VT-x 支持使得在英特尔平台上实现 64 位硬件辅助虚拟化成为可能。