我昨天在 BIOS 中启用了虚拟化功能,虚拟机昨天运行正常。今天,我在 BIOS 中仔细检查了一下,发现虚拟化功能仍然处于启用状态。但是当我尝试启动虚拟机时,它给出了以下错误:
Failed to open a session for the virtual machine Ubuntu 15.04.
AMD-V is not available (VERR_SVM_NO_SVM).
Result Code: E_FAIL (0x80004005)
Component: ConsoleWrap
Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}
这是什么原因造成的?我该怎么办?
我的主板是技嘉 GA-78LMT-USB3
我的 CPU 是 AMD FX-6300 3.5GHz 6 核处理器黑色版
更新:在虚拟机上安装 32 位版本的 Ubuntu 后,它运行良好。但是,这仍然不能解释为什么 VirtualBox 没有检测到我有 AMD-V,我尝试在 vmware 上运行 ubuntu,它告诉我必须关闭 Hyper-V,所以我的虚拟化肯定是开启的,只是 virtualbox 没有检测到它。
更新 2:Ubuntu 启动了,但它不停地闪烁;这意味着 VirtualBox 没有检测到我的 Hyper-V。
更新 3:系统上安装了 Hyper-V,Hyper-V 显然会导致其他虚拟机之间发生冲突,我现在要关闭它并让 Windows 重新启动。
更新 4:有用!
答案1
确保 Hyper-V 已禁用。
这是您应该以管理员身份在 cmd.exe 中运行的命令
dism.exe /Online /禁用功能:Microsoft-Hyper-V-All
完整指令集列在此处
http://www.poweronplatforms.com/enable-disable-hyper-v-windows-10-8/
答案2
当您在 BIOS 设置中启用虚拟化功能时,虚拟机之所以能够正常运行,是因为 BIOS 设置直到您关闭 PC 并重新打开时才真正启动。
假设您的客户操作系统是 32 位的,则必须禁用 LongMode。在某些情况下,它不是,这很糟糕。要为特定虚拟机修复此问题,请打开终端并输入:
VBoxManage modifyvm <vmname> --longmode off
不要忘记<vmname>
用你的虚拟机的名称替换。
由于某种原因,您的问题仅在 BIOS 中启用硬件辅助虚拟化时才会出现。无论如何,如果这不能解决问题,那么我敢打赌您的 CPU 或主板没有提供完全兼容的硬件虚拟化实现,因此您只需禁用 BIOS 功能即可。
顺便说一句,您可能希望在您的问题中添加有关主板和 CPU 的更多详细信息,这可能会为我们提供更多有关正在发生的事情的线索。