【问题标题】:Run 64Bit Ubuntu on virtualbox guest在 virtualbox 客户机上运行 64 位 Ubuntu
【发布时间】:2017-05-16 13:51:43
【问题描述】:
我有安装了 virtualbox 的 ubuntu 16.04 64Bit Host。虚拟化已启用,因此我可以成功创建一个 ubuntu 16.04 64Bit 来宾并启动它。
现在我想在 guest 上创建一个新的 Ubuntu 64Bit 盒子,但显然我无法做到,因为虚拟化被禁用(即使我在虚拟盒子中启用了 VTx 设置)。
有什么解决方法吗?如果不是,为什么?
【问题讨论】:
标签:
ubuntu
vagrant
virtualbox
【解决方案1】:
我认为这是一个反复出现的问题,但找不到好的帖子。
我可以在quora上找到一个很好的答案https://www.quora.com/VirtualBox-inside-VirtualBox-Is-that-possible/answer/Senthil-Nathan-19
tldr;
您可以运行嵌套的 32 位操作系统,但不能运行 64 位操作系统
长篇大论
这是一个值得思考的有趣话题/项目,大多数人都想知道
为什么这很重要或它的用途是什么。了解如果
这是可能的,为什么如果不是,帮助我们理解虚拟化
更好的。对于 VirtualBox 本身来说,对于运行来说,答案是“是”
32 位嵌套客户机和 64 位“否”。 VirtualBox 没有
运行不带 CPU 扩展的 64 位 VM 的代码(AMD-V、Intel
VT-x)。因此,在主机 VM 上运行的内部 VM 将无法
支持64位。父/主机(这是一个来宾虚拟机)将没有
CPU 扩展功能。据说 VMware 和 Xen 支持软
对 CPU 扩展进行编码。然后有可能
跨虚拟化技术如启动Xen inside
虚拟盒子等
Intel Haswell CPU 有一种新的虚拟化技术,称为
虚拟机控制结构 (VMCS) 影子。 VMCS 阴影,
加速嵌套虚拟化,允许客人以最少的速度运行
影响。一旦全部虚拟化,VMCS可能会成为主流
技术开始实施它。 VMCS 允许您运行多个
一个 CPU 上的虚拟机管理程序本机。如果需要创建嵌套
虚拟机(或许多虚拟机),考虑运行基于容器的虚拟机,例如 Linux
容器或 OpenVZ。容器通常应该在另一个容器中运行
虚拟机没有任何问题。