我可以在32位计算机上运行64位VMware映像吗?
我已经用谷歌搜索了,但是似乎没有一个确定的答案。
我知道它必须被完全模拟并像狗一样运行-但性能降低并不一定是问题,因为我只想在64位平台上测试我的某些后台服务代码。
Answers:
检查工作站的最简单方法是从VMware网站下载VMware Processor Check for 64-Bit Compatibility工具。
您不能在32位处理器上运行64位VM会话。但是,如果您具有64位处理器但已安装32位主机OS,并且您的处理器支持正确的扩展,则可以运行64位VM会话。上面链接的工具会告诉您是否这样做。
如果您具有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
要运行它
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
是的,如果您具有64位处理器,则可以从32位OS中在VMWare中运行64位OS。
我有运行Windows XP Professional 2002 的旧版Intel Core 2 Duo,并且可以正常使用。
首先,查看您的CPU是否能够运行64位OS。在VMware网站上搜索“处理器检查64位兼容性”。运行程序。
如果显示处理器能力,请重新启动计算机并进入BIOS,查看您是否具有“虚拟化”功能并能够启用它。我能够在旧笔记本电脑上的VMware环境下运行Windows Server 2008 R2。
我希望这个对你有用!
如果您的硬件仅是32位,则否。如果您具有64位硬件和32位操作系统,那么也许可以。有关详细信息,请参见64位客户机操作系统的硬件和固件要求。它与一个处理器与多个处理器无关。
归结为您机器中的CPU是否具有VT位(虚拟化),并且BIOS使您可以将其打开。例如,我的笔记本电脑是Core 2 Duo是能够使用此功能的。但是,我的BIOS无法使我打开它。
请注意,我已经读到,启用此功能会使正常操作速度降低10-12%,这就是通常将其关闭的原因。
老实说,出于多种原因,我对此表示怀疑,但最重要的是,有些指令在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,但是它通常可以很好地工作。
如果处理器是64位并且启用了虚拟化技术(VT)扩展(可以在BIOS中关闭),则可以。您不能在32位处理器上执行此操作。
要在Linux下进行检查,您只需查看/ proc / cpuinfo文件。只需查找适当的标志(用于Intel处理器的vmx或用于AMD处理器的svm)
egrep '(vmx|svm)' /proc/cpuinfo
要在Windows下检查此情况,您需要使用CPU-Z之类的程序,该程序将显示您的处理器体系结构和受支持的扩展。