Skip to content

Install, Template and Deploy Server 2012 in ESXi 4.1


I hit a snag attempting to build a 2012 server on a client’s vSphere 4.1 dev environment, where the installer hit a BSOD (now with added 2012 ‘sad face’ icon) and kept restarting. jmattson on the VMware forums suggest that you need to do a quick hack on the VM’s virtual BIOS as server 2012 doesn’t support the PIIX 4 southbridge emulation that ESXi 4.x uses.

This is done by copying the BIOS file from the link above to your virtual machine config directory and appending the following lines to the .vnx file:

bios440.filename = "bios.440.rom"
mce.enable = "TRUE"
cpuid.hypervisor.v0 = "FALSE"
vmGenCounter.enable = "FALSE"

This won’t magically enable VM-Generation ID so you won’t be able to take advantage of the advanced virtual capabilities, but you will at least be able to install and run the OS.

I have no idea whether this is a MSFT or VMware supported config for your production environment, I have no requirement for this to be in production as the client is in the process of building a series of new ESXi 5.1-based clusters for that. YMMV so check with the vendors first.

NB if you do this for a machine which you subsequently convert to template then you will need to re-add the ROM file to the config directory of each new VM that you deploy from this template as it doesn’t copy it across automatically. Your deployed VM will not start, with an error:

Could not open bios.440.rom (No such file or directory).

An alternative is to put the ROM file in a ‘central’ location then specify the full path e.g.


From → Server 2012

  1. So I asked the question of VMware support anyhow …not supported:

    Thank you for your Support Request.

    I’m sorry but Windows 2012 is not supported on your ESXi version: and modifying the vmx file is not a supported scenario.
    That Windows server version is supported since 5.0 U1
    Please let me know if I can help in something else.

    Looking forward to hearing from you.

    Thanks & Regards,

    L*** M********
    Technical Support Engineer
    Global Support Services, VMware Inc.
    1-877-4-VMWARE (1-877-486-9273)

  2. Jeremy P permalink

    This fixed worked great for me. I chose custom install.

  3. Jon permalink

    Can you expound more on the steps a little more detailed. I am trying to accomplish this on my home lab.

  4. Hi Jon, I don’t have a 4.x environment here to try with, but as I recall it went something like:

    – create a new VM but don’t power on (choose windows 2008 R2 as the OS type)
    – download the bios.440.rom file from link above and host on a datastore somewhere that is accessible to all hosts (not a local one if you want to be able to vmotion this!)
    – now add the lines in the post above to your .vmx file, ensuring that you specify the full path to the .rom file e.g ./vmfs/volumes/mydatastore/bios.440.rom
    – you should now be able to build your Server 2012 VM
    – once built, sysprepped and shut down, convert to template
    – now you can spin up VMs from the template as per usual, and each one should have the link to the centrally stored .rom file and be able to start OK.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: