Tuesday, May 18, 2010

Running a x64 virtual machine in vSphere

the Problem
Recently I've tried to install a virtualized W2008 (x64) R2 Server on an esx vSphere. Then I got the following error:

Windows failed to start. A recent hardware or software change might be the cause. To fix the problem:

1. Insert your Windows installation disc and restart your computer.
2. Choose your language settings, and then click "Next."
3. Click "Repair your computer."

If you do not have this disc, contact your system administrator or computer manufacturer for assistance.

File: \windows\system32\boot\winload.exe

Status: 0xc000035a

Info:    Attempting to load a 64-bit application, however this CPU is not compatible with 64-bit mode.

The vSphere server is running on a core 2 Quad server, and VSphere asks for a x64 server at installation, so what is happening?

the Solution
You need to check if your processor has VT-x capability enabled. This option should be in your motherboard's BIOS. You must enable it and then power cycle the server, if you only reboot your system you will lost hours googling like me, asking why your BIOS seems to be VT-x capable but it doesn't.
Of course, you should upgrade your motherboard's BIOS as many old versions have the capability but it's not BIOS implemented.
There is a good guide at vmware communities: http://communities.vmware.com/docs/DOC-8978 by jmmattson and also an .iso that you can boot to check if your server has VT-x enabled and thus you'll be able to install x64 virtual machines on your vSphere.