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

问题描述:

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

我已经使用了这个,但似乎没有一个确凿的答案。

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

+0

我可以给你一种安装基于64位的虚拟机的方法(http://www.youtube.com/watch?v=oFtRw38VIc4&feature=youtu.be),甚至不需要安装像vmware或hyper v。 – user2050269 2014-05-13 20:35:34

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

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

+3

太棒了!从来不知道这个工具存在! – saschabeaumont 2009-03-05 22:54:52

+5

上面的链接不再将您带到引用处理器检查工具的页面。这里有一个直接的链接:http://downloads.vmware.com/d/details/processor_check_for_64_bit_compatibility_6_0/JWpiQHBqYiVo – 2009-11-24 10:41:20

+3

@Phil Ross - 谢谢!我已经用你发布的URL更新了答案中的链接。 – 2009-11-24 10:55:50

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

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

+1

VMWare不需要这样的陷阱系统。当他们没有使用硬件虚拟化支持时,他们会检查每个基本块的特权指令,并将其替换为对其处理程序的调用。他们/可以/为x64指令做同样的事情,但是这会让它成为一个模拟器 - 而不是它们的事情。 – 2008-09-11 09:55:49

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

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

如果你的硬件只有32位,那么没有。如果你有64位硬件和32位操作系统,那么也许吧。有关详细信息,请参阅Hardware and Firmware Requirements for 64-Bit Guest Operating Systems。它与一个与多个处理器无关。

如果您有32位硬件,则不能运行64位来宾操作系统。 "VMware software does not emulate an instruction set for different hardware not physically present"

然而,QEMU 可以模拟64位处理器,所以你可以转换的VMware虚拟机并运行它与这个

this 2008-era blog post (mirrored by 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 

它归结为你的机器的CPU是否有VT位(虚拟化)和BIOS使用户能够打开它。例如,我的笔记本电脑是一个Core 2 Duo这是能够使用此。但是,我的BIOS不支持我打开它。

请注意,开启此功能会使正常操作速度下降10-12%,这就是为什么它正常关闭的原因。

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

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

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

我有一个旧的英特尔Core 2 Duo与Windows   XP Professional 2002上运行,我得到它的工作。

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

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

我希望它适合你!

如果您的处理器是64位并且虚拟化技术(VT)扩展已启用(可在BIOS中关闭),则可以使用。你不能在32位处理器上完成。

要在Linux下检查这个,你只需要看看/proc/cpuinfo文件。只要看看相应的标志(VMX英特尔处理器或SVM为AMD处理器)

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

要检查这在Windows下,你需要使用像CPU-Z程序,该程序会显示你的处理器架构和支持的扩展。