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

时间:2020-03-05 18:51:20  来源:igfitidea点击:

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

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

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

解决方案

回答

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

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

回答

VMware?不可以。但是,QEMU具有可以使用的x86_64系统目标。我们可能将无法直接使用VMware映像(IIRC,没有转换工具),但是我们可以自己安装OS等,然后在其中运行。 QEMU可以用作启动和运行的PITA,但是它通常可以很好地工作。

回答

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

我们不能在32位处理器上运行64位VM会话。但是,如果我们具有64位处理器但已安装32位主机OS,并且处理器支持正确的扩展,则可以运行64位VM会话。上面链接的工具会告诉我们是否这样做。

回答

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

回答

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

回答

如果我们具有32位硬件,否,则不能运行64位来宾OS。 " 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

  
  To run it,

qemu -m 256 -hda guestos.img

  
  The downside? Most of us runs VMware without preallocation space for the virtual disk. So, when we make a conversion from VMware to QEMU, the raw file will be the total space WITH preallocation. I am still testing with -f qcow format will it solve the 
  problem or not. Such as:

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主机,但是它将非常缓慢(我的意思是缓慢)。