您可以在虚拟机中运行机器模拟器 (Bochs) 吗?

Jav*_*ier 83 virtualbox virtualization bochs

例如,是否可以使用 Linux 客户机在 Windows 7 上运行 VirtualBox,并在该 Linux 机器内运行 Bochs?

原因是我对开始操作系统开发感兴趣,而且我发现所有教程和内容在 *nix 机器上更容易遵循。我尝试使用 Cygwin,但我认为它增加了另一层复杂性,并不一定会使事情变得更容易。

Bre*_*ugh 63

长话短说: 是的

每个虚拟机在技术上彼此“独立”,并且使用VirtualBox,您可以轻松地做到这一点,因为它在 Windows 和 Linux 主机操作系统(模拟与否)上都受支持。您可以简单地将 Windows 用作“基本主机”操作系统,在 VM 中运行 Linux,然后将该操作系统用作 Bochs 的新基本主机。

请注意,这里唯一的限制是您的硬件。根据您的开发要求,您可能需要更多内存,或者升级到 64 位“基本主机”操作系统。话虽如此,如果您明智地选择 Linux 发行版,任何现代系统都应该能够像这样进行任意嵌套。

如果您在计算机上启用x86 虚拟化支持(如果您的主板和 CPU 支持它),您将看到性能提高,并且 AFAIK,您可以将此功能“传递”到多个嵌套虚拟机。如果我们有n相互嵌套的虚拟机,只要第1st到第 n-1th 个嵌套的来宾操作系统支持 x86 虚拟化(基本主机也必须支持它),就支持此功能。请注意,如果您这样做,仍有一些安全问题需要注意,因此请采取适当的预防措施。

  • Bochs 不是这个一般问题的最佳测试用例,因为它是一个模拟器,而不是虚拟机。(请参阅我对 OP 的评论。) (7认同)
  • 看来它确实有效。毕竟,如果我需要速度,我一开始就不会使用 Bochs。虽然不是最受好评的,但我觉得你的回答更完整、更中肯,所以我会接受。 (2认同)

par*_*oid 40

我有时会在 VMware Workstation 中运行整个 VMware vSphere 虚拟基础架构,以及虚拟 Cisco 路由器和交换机以及 EMC Celerra 虚拟化存储设备,以用于自学和测试目的。

我称之为“初始计算”,它可能会变得非常混乱。然而,它比使用真正的齿轮便宜一些。

  • @countfloortiles:当然,这是对电影的引用。 (7认同)
  • 您知道“初始”一词不是指 [事物中的事物] 概念,对吗? (2认同)

Tob*_*s J 32

对于阅读此问题、看到已接受答案并认为这也适用于 VirtualBox 的任何人,请参阅@superbatfish对原始问题的评论。他很好地指出了虚拟化和仿真之间的区别。

具体来说,“顶级”来宾操作系统中将不提供“硬件辅助 VM”(即,在撰写本文时,VirtualBox 不提供来宾操作系统中的硬件 VM)。使用 VirtualBox,这意味着您只能创建 32 位“嵌套来宾”操作系统,即使顶级来宾是 64 位并且您的“真实”主机具有硬件 VM。

对你来说可能不是一个表演者,但值得注意的是。我需要这个以便在 Windows 内的 Ubuntu 客户机上运行 Vagrant,用于 Chef 食谱测试。

  • 除非我弄错了,否则您现在可以使用 Vagrant 的 Docker 提供程序在 Ubuntu VM 中运行 64 位 Vagrant 机器,因为容器不依赖于硬件虚拟化:https://www.vagrantup.com/docs/docker/ . 不过,您使用的 Vagrant 盒子必须支持这一点。 (3认同)
  • @wisbucky 是的,我可以在 32 位模式下运行它,但不能在 64 位模式下运行。由于我所有的生产系统都是 64 位的,这不是一个完美的测试,但仍然运行良好。 (2认同)

Amb*_*jak 11

Linux-KVM 对嵌套虚拟机有一定的支持。我已经在 KVM IRC 频道上询问过并获得了以下信息(但不要相信我的话,自己尝试一下):

  • AMD CPU 应该可以正常工作,使用 Xen 和 Hyper-V 的来宾可以正常工作,
  • Intel CPU 需要最新的 KVM Git 源代码,只有拥有 KVM 的来宾才能工作

我自己还没有尝试过这个。搜索“KVM 嵌套”应该会为您提供足够的信息来自己尝试。

编辑:KVM 将仅在 Linux 主机上运行。我还没有得到任何关于 Windows 虚拟化软件的有关正确嵌套 VM 支持的可靠信息。我所说的“正确”是指管理程序向来宾公开虚拟化扩展。您始终可以使用纯软件管理程序(例如动态转换)运行嵌套 VM,但这会明显变慢。

编辑:你提到的 Bochs 是一个纯软件的虚拟机管理程序。这意味着它总是很慢,如果主机上的管理程序向来宾公开虚拟化扩展(就像 KVM 那样),这无关紧要。然而,大多数其他虚拟化软件(KVM、VirtualBox、VMWare)都可以使用这些扩展,并且如果它们可用,性能会更好。


归档时间:

查看次数:

123414 次

最近记录:

8 年,4 月 前