我从安装在Windows之上的Oracle虚拟机中使用Ubuntu。
我已经激活了主机BIOS中的VT-x特性。在此之后,我创建了一个启用了VT-x和EPT的新虚拟机。
现在我运行
$ egrep '(vmx|svm)' /proc/cpuinfo
检查VMX功能是否启用,答案为0,即未启用。
如何在来宾虚拟机上启用此功能?
@asked这个错误有三个最常见的原因:
- 您的CPU不支持VT-x或AMD-V虚拟化
- BIOS (UEFI)未启用VT-x或AMD-V
- 您在Windows中启用了Hyper-V虚拟化
你不能在Virtualbox中启用VT-x。这里有一张尚未修复的罚单
[Edit by klaus 2018-05-06:]
这个功能已经开发了一段时间了。一旦实现完成并经过测试,它将可供所有用户使用。
[feature-request]嵌套虚拟化:VT-in-VT
可以在Hyper-V和VMWare ESX或ESXi中运行嵌套虚拟机
- 在虚拟机中运行Hyper-V 如何在VM上启用VT-X
- 是否可以在VM内使用VMX CPU指令?
- 如何在虚拟机中启用VT-x
- 是否可以在另一个虚拟机中设置一个虚拟机
- 如何在虚拟机中运行VMWare ESX或ESXi ?
- 嵌套虚拟化-可能吗?
然而,它确实需要EPT来运行。确保您的主机CPU具有EPT支持。如果没有EPT,您只能使用二进制转换
运行32位虚拟机。https://www.virtuallyghetto.com/2012/08/how-to-enable-nested-esxi-other.html
- 运行支持嵌套32位虚拟机的"嵌套虚拟化"需要Intel VT-x或AMD-V
- 运行嵌套64位虚拟机需要Intel EPT或AMD RVI。
如果某些管理程序发现它在虚拟机内部运行或在虚拟机的某些级别上运行,则拒绝运行。也就是说,可以使用二进制转换或Bochs或qemu
之类的模拟器运行任意深度嵌套的虚拟机。- 可以在虚拟机中运行机器仿真器(Bochs)吗?
在Windows和Linux操作系统下,只要在BIOS中开启Vt-d,都可以通过VBoxManage工具从命令行管理虚拟机。我不清楚为什么VirtualBox VM参数中的嵌套vtx函数出现"uncheckable";或者是不可用的。我发现这个命令对于这种情况非常方便:
VBoxManage modifyvm [name_of_vm]——nested-hw-virt on
之后,您可以在parameters>system>processor上验证VT-x是如何被激活的。