VMware Cloud Community
Optic_Nerve
Enthusiast
Enthusiast
Jump to solution

Windows Server 2012 guests and EFI firmware

Hi,

When creating a Windows Server 2012 guest in vSphere 5.1 (using hardware version 9), vCenter would automatically set the guest to use EFI firmware.  This was the default and I left it that way.

Now in vSphere 5.5 when creating a Windows Server 2012 guest (using hardware version 9 or 10) the default has reverted back to using BIOS.

Is there a reason for this change?  I can't find it documented anywhere.  I am not sure whether I should manually choose EFI so that all my Windows Server 2012 guests are consistent or whether VMware changed the default back to BIOS because there are problems using EFI.

Is there an explanation for why VMware made this change?

Cheers,

David

Reply
0 Kudos
1 Solution

Accepted Solutions
dariusd
VMware Employee
VMware Employee
Jump to solution

Hi David,

I work on the team responsible for developing the virtual firmware, specifically the virtual EFI implementation.

We had not intended that EFI be the default.  We realized that we'd made a mistake too late to correct it in time for vSphere 5.1 GA, and the consequences of the initial mistake had propagated to various other places which had now assumed that EFI was intended to be the default, such as documentation and release collateral.

The primary reason for wanting to return to BIOS by default is the lack of FT support – We did not wish to provide a default configuration that was going to be incompatible with FT.  Secondary reasons exist, such as a small number of PCI Passthrough scenarios which would work on BIOS but fail on EFI, and generally broader support for BIOS in the ecosystem – such as guest OS deployment solutions, OS recovery solutions, PXE boot environments and PXE server support, and so forth.

That's all there is to it.  It was a mistake which propagated in a way that we couldn't clean up in time for vSphere 5.1 GA, and it's most regrettable that caused the confusion that it did.

My advice: If you don't need FT, won't be using PCI Passthrough (or if you can validate that your PCI Passthrough configuration works with virtual EFI), and have few or no dependencies on other BIOS-specific tools to deploy or manage your OS, you can feel free to deploy EFI Windows 2012 VMs.

Hope this helps!

--

Darius

View solution in original post

Reply
0 Kudos
6 Replies
john23
Commander
Commander
Jump to solution

By default it should use EFI bios only, except fault tolerance case but that too manually we need to change.

Thanks -A Read my blogs: www.openwriteup.com
Reply
0 Kudos
Optic_Nerve
Enthusiast
Enthusiast
Jump to solution

Hi John,

I'm saying that 5.5 DOESN'T use EFI by default anymore for Windows Server 2012 guests and I would like to know why.  I have verified this on multiple brand new installations (not upgrades).

5.1 used EFI

5.5 has reverted to BIOS

Cheers,

David

Reply
0 Kudos
dariusd
VMware Employee
VMware Employee
Jump to solution

Hi David!

The initial release of vSphere 5.1 incorrectly used EFI by default for Windows Server 2012 virtual machines, a mistake which was corrected promptly in an update (I don't recall which update it was).  The primary reason we reverted to BIOS was as stated by john23: It was not appropriate to default to EFI when it would not work with Fault Tolerance.

Cheers,

--

Darius

Reply
0 Kudos
Optic_Nerve
Enthusiast
Enthusiast
Jump to solution

Hi Darius,

When Windows Server 2012 and Windows 8 support was announced as part of vSphere 5.1, it was specifically stated that the default firmware type for these OSes was EFI.  It was even mentioned that if you need to use FT then you'd have to change it to BIOS before installing the OS.

I'm not sure that this can be characterised as "incorrect" or a "mistake", given that it was part of the announcement.  VMware basically said "the default for 2012 is EFI, if you want to use FT then change it to BIOS".  That sounds like an intentional feature to me, not a mistake or a bug. Smiley Happy

Now if VMware had a change of heart and decided that BIOS was the better default then that's fine of course - but has that been announced anywhere, with the reasoning?  It could be as simple as "we changed it because too many customers were building 2012 guests with the intention of using FT but forgetting to change to BIOS before installation".

If that's the case, maybe customers who have no intention of using FT should be changing it manually back to EFI?  VMware obviously decided that EFI was the preferred default originally and they must have had reasons for doing so.  I'd like to understand these reasons - they would help me make an informed decision about whether my 2012 template should be BIOS or EFI.

Cheers,

David

Reply
0 Kudos
dariusd
VMware Employee
VMware Employee
Jump to solution

Hi David,

I work on the team responsible for developing the virtual firmware, specifically the virtual EFI implementation.

We had not intended that EFI be the default.  We realized that we'd made a mistake too late to correct it in time for vSphere 5.1 GA, and the consequences of the initial mistake had propagated to various other places which had now assumed that EFI was intended to be the default, such as documentation and release collateral.

The primary reason for wanting to return to BIOS by default is the lack of FT support – We did not wish to provide a default configuration that was going to be incompatible with FT.  Secondary reasons exist, such as a small number of PCI Passthrough scenarios which would work on BIOS but fail on EFI, and generally broader support for BIOS in the ecosystem – such as guest OS deployment solutions, OS recovery solutions, PXE boot environments and PXE server support, and so forth.

That's all there is to it.  It was a mistake which propagated in a way that we couldn't clean up in time for vSphere 5.1 GA, and it's most regrettable that caused the confusion that it did.

My advice: If you don't need FT, won't be using PCI Passthrough (or if you can validate that your PCI Passthrough configuration works with virtual EFI), and have few or no dependencies on other BIOS-specific tools to deploy or manage your OS, you can feel free to deploy EFI Windows 2012 VMs.

Hope this helps!

--

Darius

Reply
0 Kudos
Optic_Nerve
Enthusiast
Enthusiast
Jump to solution

Hi Darius,

Brilliant!  Thanks for the awesome answer.  That covers absolutely everything. Smiley Happy

Cheers,

David

Reply
0 Kudos