90

我可以在 32 位机器上运行 64 位 VMware 映像吗?

我已经用谷歌搜索了这个,但似乎没有一个决定性的答案。

我知道它必须完全模拟并且会像狗一样运行 - 但性能缓慢不一定是问题,因为我只是对在 64 位平台上测试我的一些后台服务代码感兴趣。

4

10 回答 10

124

检查工作站的最简单方法是从 VMware 网站下载VMware Processor Check for 64-Bit Compatibility工具。

您不能在 32 位处理器上运行 64 位 VM 会话。但是,如果您有 64 位处理器但安装了 32 位主机操作系统并且您的处理器支持正确的扩展,则可以运行 64 位 VM 会话。上面链接的工具会告诉您是否有。

于 2008-09-11T10:10:18.677 回答
30

如果你有 32 位硬件,不,你不能运行 64 位客户操作系统。“VMware 软件不会为物理上不存在的不同硬件模拟指令集”

但是,QEMU可以模拟 64 位处理器,因此您可以转换 VMWare 机器并使用它运行它

这篇 2008 年的博客文章(由archive.org 镜像)

$ cd /path/to/vmware/guestos
$ for i in \`ls *[0-9].vmdk\`; do qemu-img convert -f vmdk $i -O raw {i/vmdk/raw};done
$ cat *.raw >> guestos.img

要运行它,

qemu -m 256 -hda guestos.img

不足之处?我们大多数人在没有为虚拟磁盘预分配空间的情况下运行 VMware。因此,当我们从 VMware 转换到 QEMU 时,原始文件将是预分配的总空间。我仍在使用-f qcow格式测试它是否可以解决问题。如:

for i in `ls *[0-9].vmdk`; do qemu-img convert -f vmdk $i -O qcow ${i/vmdk/qcow}; done && cat *.qcow >> debian.img
于 2008-09-11T11:42:16.693 回答
10

是的,如果您有 64 位处理器,则可以从 32 位操作系统在 VMWare 中运行 64 位操作系统。

我有一个运行 Windows XP Professional 2002 的旧 Intel Core 2 Duo,我让它工作。

首先,查看您的 CPU 是否能够运行 64 位操作系统。在 VMware 站点上搜索“处理器检查 64 位兼容性”。运行程序。

如果它说您的处理器有能力,请重新启动计算机并进入 BIOS 并查看您是否具有“虚拟化”并能够启用它。我能够在这台旧笔记本电脑上的 VMware 下运行Windows Server 2008 R2。

我希望这个对你有用!

于 2011-09-17T10:18:00.273 回答
8

如果您的硬件仅为 32 位,则不会。如果您有 64 位硬件和 32 位操作系统,那么也许可以。有关详细信息,请参阅64 位客户机操作系统的硬件和固件要求。它与一个与多个处理器无关。

于 2008-09-11T10:50:34.057 回答
4

它归结为您机器中的CPU是否具有VT位(虚拟化),并且BIOS使您可以将其打开。例如,我的笔记本电脑是Core 2 Duo,它能够使用它。但是,我的 BIOS 无法打开它。

请注意,我读过打开此功能会使正常操作速度降低 10-12%,这就是它通常关闭的原因。

于 2008-09-11T13:43:18.603 回答
3

老实说,出于多种原因,我对此表示怀疑,但最重要的是,有些指令在 32 位模式下是允许的,但在 64 位模式下是不允许的。具体来说,用于在 64 位模式下对某些指令和寄存器进行编码的 REX 前缀是 0x4f:0x40 形式的字节,但在 32 位模式下,相同的字节是具有固定操作数的 INC 或 DEC。
因此,任何以 REX 为前缀的 64 位指令都将被解释为 INC 或 DEC,并且不会让 VMM 有机会模拟 64 位指令(例如通过发出未定义的操作码异常信号)。

唯一可行的方法是在每条指令之后使用陷阱异常返回到 VMM,以便它可以查看是否需要特殊的 64 位处理。我根本看不到这种情况发生。

于 2008-09-11T09:32:01.420 回答
3

威睿?不可以。但是,QEMU有一个可以使用的 x86_64 系统目标。您可能无法直接使用 VMware 映像(IIRC,没有转换工具),但您可以自己安装操作系统等并在其中工作。QEMU 可能有点像一个 PITA 来启动和运行,但它往往工作得很好。

于 2008-09-11T09:53:35.113 回答
3

VMware 不允许您在 32 位主机上运行 64 位来宾。您只需阅读文档即可找到答案。

如果你真的想这样做,你可以使用 QEMU,我推荐一个 Linux 主机,但它会很慢(我的意思是慢)。

于 2009-05-07T23:09:18.303 回答
2

是的你可以。我有一个在 Windows XP 32 位的 VMware 中运行的 64 位 Debian。只要您将 Guest 设置为使用两个处理器,它就可以正常工作。

于 2008-09-11T10:33:50.350 回答
1

如果您的处理器是 64 位并且启用了虚拟化技术 (VT) 扩展(可以在 BIOS 中将其关闭),则可以。你不能在 32 位处理器上做到这一点。

要在 Linux 下检查这一点,您只需查看/proc/cpuinfo文件。只需寻找适当的标志(英特尔处理器的vmx或AMD 处理器的svm )

egrep '(vmx|svm)' /proc/cpuinfo

要在 Windows 下检查这一点,您需要使用像 CPU-Z 这样的程序,它将显示您的处理器架构和支持的扩展。

于 2012-11-08T22:33:20.140 回答