<p>Can I run a 64-bit VMware image on a 32-bit machine?</p>

<p>I've googled this, but there doesn't seem to be a conclusive answer.</p>

<p>I know that it would have to be completely emulated and would run like a dog - but slow performance isn't necessarily an issue as I'm just interested in testing some of my background services code on 64-bit platforms.</p>

[{'answer_id': 56132, 'author': 'Nathan Fellman', 'author_id': 1084, 'author_profile': 'https://Stackoverflow.com/users/1084', 'pm_score': 2, 'selected': False, 'text': "<p>I honestly doubt it, for a number of reasons, but the most important one is that there are some instructions that are allowed in 32-bit mode, but not in 64-bit mode.  Specifically, the REX prefix that is used to encode some instructions and registers in 64-bit mode is a byte of the form 0x4f:0x40, but in 32 bit mode the same byte is either INC or DEC with a fixed operand.<br>\nBecause of this, any 64-bit instruction that is prefixed by REX will be interpreted as either INC or DEC, and won't give the VMM the chance to emulate the 64-bit instruction (for instance by signaling an undefined opcode exception).</p>\n\n<p>The only way it might be done is to use a trap exception to return to the VMM after each and every instruction so that it can see if it needs special 64-bit handling.  I simply can't see that happening.</p>\n"}, {'answer_id': 56169, 'author': 'Serafina Brocious', 'author_id': 4977, 'author_profile': 'https://Stackoverflow.com/users/4977', 'pm_score': 2, 'selected': False, 'text': '<p>VMware? No. However, <a href="http://en.wikipedia.org/wiki/QEMU" rel="nofollow noreferrer">QEMU</a> has an x86_64 system target that you can use. You likely won\'t be able to use a VMware image directly (IIRC, there\'s no conversion tool), but you can install the OS and such yourself and work inside it. QEMU can be a bit of a PITA to get up and running, but it tends to work quite nicely.</p>\n'}, {'answer_id': 56198, 'author': 'David Webb', 'author_id': 3171, 'author_profile': 'https://Stackoverflow.com/users/3171', 'pm_score': 8, 'selected': True, 'text': '<p>The easiest way to check your workstation is to download the <a href="http://downloads.vmware.com/d/details/processor_check_5_5_dt/dCpiQGhkYmRAZQ==" rel="noreferrer">VMware Processor Check for 64-Bit Compatibility</a> tool from the VMware website.</p>\n\n<p>You can\'t run a 64-bit VM session on a 32-bit processor.  However, you can run a 64-bit VM session if you have a 64-bit processor but have installed a 32-bit host OS and your processor supports the right extensions.  The tool linked above will tell you if yours does.</p>\n'}, {'answer_id': 56223, 'author': 'UnkwnTech', 'author_id': 115, 'author_profile': 'https://Stackoverflow.com/users/115', 'pm_score': 2, 'selected': False, 'text': '<p>Yes, you can. I have a 64-bit Debian running in VMware on Windows&nbsp;XP 32-Bit. As long as you set the Guest to use two processors, it will work just fine.</p>\n'}, {'answer_id': 56250, 'author': 'Community', 'author_id': -1, 'author_profile': 'https://Stackoverflow.com/users/-1', 'pm_score': 3, 'selected': False, 'text': '<p>If your hardware is 32-bit only, then no. If you have 64 bit hardware and a 32-bit operating system, then maybe. See <em><a href="http://kb.vmware.com/selfservice/dynamickc.do?externalId=1901&amp;sliceId=1&amp;command=show&amp;forward=nonthreadedKC&amp;kcId=1901" rel="nofollow noreferrer">Hardware and Firmware Requirements for 64-Bit Guest Operating Systems</a></em> for details. It has nothing to do with one vs. multiple processors.</p>\n'}, {'answer_id': 56332, 'author': 'dbr', 'author_id': 745, 'author_profile': 'https://Stackoverflow.com/users/745', 'pm_score': 5, 'selected': False, 'text': '<p>If you have 32-bit hardware, no, you cannot run a 64-bit guest OS. <a href="http://en.wikipedia.org/wiki/VMware#Core_product_design" rel="noreferrer">"VMware software does not emulate an instruction set for different hardware not physically present"</a>.</p>\n\n<p>However, QEMU <em>can</em> emulate a 64-bit processor, so you could convert the VMWare machine and run it with this</p>\n\n<p>From <a href="http://web.archive.org/web/20080529004826/http://blog.xwings.net/?p=47" rel="noreferrer">this 2008-era blog post (mirrored by archive.org)</a>:</p>\n\n<blockquote>\n<pre><code>$ cd /path/to/vmware/guestos\n$ for i in \\`ls *[0-9].vmdk\\`; do qemu-img convert -f vmdk $i -O raw {i/vmdk/raw};done\n$ cat *.raw &gt;&gt; guestos.img\n</code></pre>\n  \n  <p>To run it,</p>\n\n<pre><code>qemu -m 256 -hda guestos.img\n</code></pre>\n  \n  <p>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 <code>-f qcow</code> format will it solve the \n  problem or not. Such as:</p>\n\n<pre><code>for i in `ls *[0-9].vmdk`; do qemu-img convert -f vmdk $i -O qcow ${i/vmdk/qcow}; done &amp;&amp; cat *.qcow &gt;&gt; debian.img\n</code></pre>\n</blockquote>\n'}, {'answer_id': 56556, 'author': 'Joel Lucsy', 'author_id': 645, 'author_profile': 'https://Stackoverflow.com/users/645', 'pm_score': 2, 'selected': False, 'text': '<p>It boils down to whether the CPU in your machine has the the VT bit (Virtualization), and the BIOS enables you to turn it on. For instance, my laptop is a <em><a href="http://en.wikipedia.org/wiki/Intel_Core#Core_2_Duo" rel="nofollow noreferrer">Core 2 Duo</a></em> which is capable of using this. However, my BIOS doesn\'t enable me to turn it on.</p>\n\n<p>Note that I\'ve read that turning on this feature can slow normal operations down by 10-12%, which is why it\'s normally turned off.</p>\n'}, {'answer_id': 837502, 'author': 'Community', 'author_id': -1, 'author_profile': 'https://Stackoverflow.com/users/-1', 'pm_score': 2, 'selected': False, 'text': "<p>VMware does not allow you to run a 64-bit guest on a 32-bit host. You just have to read the documentation to find this out.</p>\n\n<p>If you really want to do this, you can use QEMU, and I recommend a Linux host, but it's going to be very slow (I really mean slow).</p>\n"}, {'answer_id': 7454032, 'author': 'Kevin', 'author_id': 950139, 'author_profile': 'https://Stackoverflow.com/users/950139', 'pm_score': 3, 'selected': False, 'text': '<p>Yes, running a 64-bit OS in VMWare is possible from a 32-bit OS if you have a 64 bit processor.</p>\n\n<p>I have an old Intel <a href="http://en.wikipedia.org/wiki/Intel_Core#Core_2_Duo" rel="nofollow">Core 2 Duo</a> with Windows&nbsp;XP Professional 2002 running on it, and I got it to work.</p>\n\n<p>First of all, see if your CPU is capable of running a 64-bit OS. Search for \'Processor check for 64-bit compatibility\' on the VMware site. Run the program.</p>\n\n<p>If it says your processor is capable, restart your computer and go into the BIOS and see if you have \'Virtualization\' and are able to enable it. I was able to and got <a href="http://en.wikipedia.org/wiki/Windows_Server_2008" rel="nofollow">Windows Server 2008</a> R2 running under VMware on this old laptop.</p>\n\n<p>I hope it works for you!</p>\n'}, {'answer_id': 13299051, 'author': 'Knapsu', 'author_id': 1325136, 'author_profile': 'https://Stackoverflow.com/users/1325136', 'pm_score': 1, 'selected': False, 'text': "<p>You can if your processor is 64-bit and Virtualization Technology (VT) extension is enabled (it can be switched off in BIOS). You can't do it on 32-bit processor.</p>\n\n<p>To check this under Linux you just need to look into <em>/proc/cpuinfo</em> file. Just look for the appropriate flag (<strong>vmx</strong> for Intel processor or <strong>svm</strong> for AMD processor)</p>\n\n<pre><code>egrep '(vmx|svm)' /proc/cpuinfo\n</code></pre>\n\n<p>To check this under Windows you need to use a program like CPU-Z which will display your processor architecture and supported extensions.</p>\n"}]
['https://Stackoverflow.com/questions/56124', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1078/']