无法将一个虚拟机安装到另一个虚拟机


23

我的主机正在运行Windows 10,我的来宾是VirtualBox中的Ubuntu。我正在尝试在Ubuntu上运行第3个VM,但是VirtualBox表示:

无法为虚拟机Windows XP打开会话。VT-x不可用。(VERR_VMX_NO_VMX)。

它还返回了错误代码0x80004005

我当然启用了虚拟化。甚至没有关闭我的BIOS(MSI z170a)的选项。我的机器非常高端,所以我知道它可以运行,我已经排除了一切可能。


4
FWIW,KVM可以嵌套。
乔纳斯·谢弗(JonasSchäfer)

1
据我所知,一个32位内部VM应该可以工作,因为它不需要硬件虚拟化(VT-x)。假设您对32位Windows XP感兴趣,那么它应该适合您。
CodesInChaos

4
为什么还要嵌套Virtualbox?
Xen2050

4
@ Xen2050因为,VMception。
David Refoua '17

@DRSDavidSoft那也是我的第一个……SidedTech可以搜索VMception,会发现您可以在虚拟机中运行机器仿真器(Bochs)吗?这间接地回答了他的问题。我猜想像是“出于某种很好的原因,我不得不将我的linux安装移动到VM中,但是我仍然想运行我的VM,我一直保留在linux中,不知道是否只是复制配置文件以获胜就可以了,并且不想尝试”
Xen2050

Answers:


45

您要尝试的是嵌套虚拟化。virtualbox不支持它,并且绝不是他们的优先事项。

您将需要在主机上运行XP VM。

在THEORY中,您可以在VM中运行普通的旧版QEMU(它可以模拟整个处理器,几乎可以模拟整个系统)来执行此操作,但是性能确实会很差。


这样做的性能可能会让人联想到早期的PC虚拟化解决方案(非硬件辅助)。认为现代硬件上的缓慢MS-DOS ...
CVn

4
@MichaelKjörling为什么比较?早期的PC虚拟化是由硬件辅助的,只是与今天的方式不同。VMWare过去在环1中运行环0代码,并在某些指令和其他技巧(如重写内核代码)上设置了陷阱。据我所知,根据当时的基准,VMWare的方法实际上比VT-x 几倍,而当时VT-x才问世。顺便说一句,在32位客户机上运行嵌套的旧版本的VMWare,或者运行禁用了VT-x的VBox可能实际上可以工作,并且工作得相对较好。即使我只是出于好奇而这样做。
nitro2k01

@ nitro2k01当Micheal放弃了“早期的”虚拟化解决方案时,他的意思是像90年代中期那样早。那时,有一种叫做Virtual PC(后来由Microsoft购买)的东西不仅可以在Mac上运行,而且可以在模拟x86的PowerPC cpu上运行。您的VMWare还不算早,它肯定非常现代
slebetman

@slebetman虚拟PC于1997年首次发布。VMWare于1999年首次发布,这也是我第一次尝试的时间。与VT-x的基准测试比较当然要晚得多,但是我提到它只是为了表明VMWare的原始虚拟化方法并不一定很慢。最初的Virtual PC(尽管有名称)实际上不是虚拟机,而是模拟器。
nitro2k01

@ nitro2k01:是的。我记得那个。VMWare融合还可以在PowerPC机器上模拟x86。谢谢您提醒我。因此,VMWare是您自己提供的证据。最初确实像Michael提到的(尽管他没有具体提到VMWare的事实)
slebetman
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.