如何在 32 位 Linux 上安装 64 位 Linux 虚拟机?

719*_*016 11 64bit virtual-machine 32bit

我有一台安装了 32 位 Linux 的计算机(英特尔酷睿 i5)(ubuntu 11.04),我想在其上安装 64 位 Linux 虚拟机,以便我可以在其上测试 64 位命令行应用程序。

Gil*_*il' 6

两者的VMwareVirtualBox的可以一个32位的主系统上运行的一个64位的虚拟机,如果你有一个64位处理器。对于VirtualBox的,你的处理器必须具有硬件虚拟化支持(或者AMD-VVT-X ,显示为svmvmxflags:的线/proc/cpuinfoLinux下); 大多数 x86-64 处理器,除了较早的处理器,尤其是我认为所有核心 i5 型号都具有此支持。

否则,您可以使用虚拟机技术在软件中模拟 x86-64 处理器,例如 Qemu。但是,如果您不需要它,这不是一个好主意:它很慢,很耗内存,而且很笨拙。

我的建议是只获取 64 位主机或至少 64 位内核。您可以在 x86-64(又名 amd64)内核上运行 32 位应用程序,实际上您可以在 amd64 Linux 内核上运行完全 32 位 Linux 用户空间。

Ubuntu 在其 i386 发行版中不提供 64 位内核(Debian 提供)。您可以从 amd64 发行版中获取内核,并且应用程序应该可以运行,但是在 natty 下,该软件包不容易安装

因此,运行 64 位应用程序的最简单途径是并行安装 amd64 Ubuntu。将其安装在单独的分区上,同时保留现有的 32 位安装。在 64 位系统中,挂载现有分区,然后设置32 位 schroot(请参阅本指南)以运行 32 位程序。


Pat*_*hes 5

Gilles 指出,我误解了 VirtualBox 和 VMware 在 32 位主机上支持 64 位来宾。VirtualBox 在virtualbox-ose软件包的 Ubuntu 存储库中可用。

VirtualBox 的文档提供了以下有关运行 64 位操作系统的建议:

VirtualBox 支持 64 位客户操作系统,即使在 32 位主机操作系统上,前提是满足以下条件:

  1. 您需要一个支持硬件虚拟化的 64 位处理器(请参阅“硬件与软件虚拟化”一节)。[您的处理器满足此要求。]

  2. 您必须为您需要 64 位支持的特定 VM 启用硬件虚拟化;64 位 VM 不支持软件虚拟化。

  3. 如果要在 32 位主机操作系统上使用 64 位来宾支持,还必须为特定 VM 选择 64 位操作系统。由于在 32 位主机上支持 64 位会产生额外的开销,因此 VirtualBox 仅在明确请求时启用此支持。

在 64 位主机(通常带有硬件虚拟化支持)上,无论设置如何,始终支持 64 位来宾操作系统,因此您只需在来宾中安装 64 位操作系统即可。

警告

在任何主机上,您都应该为打算在 64 位模式下使用的虚拟机启用 I/O APIC。对于 64 位 Windows VM 尤其如此。请参阅名为“高级”选项卡的部分。此外,对于 64 位 Windows 客户机,您应该确保 VM 使用 Intel 网络设备,因为 AMD PCNet 卡没有 64 位驱动程序支持;请参阅“虚拟网络硬件”一节。如果您使用 VirtualBox 图形用户界面的“创建 VM”向导(请参阅“创建您的第一个虚拟机”部分),VirtualBox 将自动为每个选定的 64 位操作系统类型使用正确的设置。

如果您必须使用软件虚拟化,您可以qemu从 Ubuntu 存储库安装该软件包。有几个 GUI 包可用于控制它(我更喜欢aqemu),但您也可以从命令行使用它。

或者,考虑运行 64 位版本的 Linux。Ubuntu x86_64 支持在没有任何虚拟化的情况下运行 32 位二进制文​​件。