Monday, April 4, 2011

GPT + EFI

WTF - all 3 letter acronyms... If you expect to use new 3TB+ drives, or a new motherboard read on...

EFI (and UEFI), is a new (not really - created 1998, and 2005 for UEFI) replacement for the BIOS - basic input/output system. Some say this is a new type of BIOS - NO - that is like saying planes are a new type of car.

Enhanced Firmware Interface (+ Unified EFI), is the REPLACEMENT for BIOS, some may have heard of Redboot, or you could also think of it as being similar to a Linux boot loader with extensive hardware detection, EFI is a shell based system with a command shell very similar to a Linux command shell, with boot directives and dozens of other commands like LS. It has the capacity to boot an OS - where as a conventional OS will have its own boot loader, think of EFI as being a possible replacement for GRUB, LILO, or ntldr. EFI was initially developed by Intel - so guess who probably wont have very much EFI.

Early Intel macs should have EFI 1.10 in 32 bit mode, and ones made sometime after 2007/08 should have UEFI with 64 bit support, neither of which is supported by Windows - it needs UEFI 2.0 to boot natively, Bootcamp is the only option on Macs until they update the spec.
...

Why EFI? - well GPT - WTF???

GPT - GUID Partition Table - is the ONLY way you can format a drive bigger than 2TB, smaller drives can use the standard MBR partition scheme.

And...Most importantly, the ONLY way to BOOT from a GPT drive is by using an EFI "firmware" on your motherboard (instead of BIOS), otherwise, a GPT drive can only be used as a data storage drive - not an OS drive.

Some motherboards (mostly 2nd gen i7 based boards made after Jan/2011) these days are loaded with a hybrid BIOS + EFI firmware, you can load a standard BIOS menu and enable/disable EFI and the EFI boot shell. If the system has both, windows may get confused, and detect "BIOS" and load a BIOS based boot loader with the installer, while it should have an EFI based loader, normally found in an EFI folder on the windows 7 64 DVD. Oh ya - ONLY a 64 bit OS can see drives larger than 2TB. Most newer servers over the last couple years made with Intel junk in the trunk will have an EFI bios.

Unfortunately - EFI is an advancement like moving from driving a car, to driving a jumbo jet, and while the feature set is a step forward, it is definitely not the leap that some report it to be (plus learning how to steer a fricken jumbo jet), EFI provides a much more detailed communication level between the underlying hardware/firmware and the pre-boot environment as well as much better memory support in the pre-boot environment, BUT, It does not solve any of BIOS's long standing problems of requiring two different drivers - one for the firmware and one for the operating system, when it was so close to being a "Unified Firmwware Interface" that could directly translate between the hardwares' firmware and the OS. And besides all that BS (2 letter acronym), fricken EFI requires its own partition on your harddrive - so your drive will probably look like this (if you run m$):

GPT disk:
- 200 mb EFI System partition (ESP incase you werent clairvoyant) (hidden)
- 128 mb MSR partition (MS Reserved - similar to mbr) - required on all GPT disks (hidden)
- 100 mb windows boot partition (hidden)
- 2.7 TB OS partition (assuming you have a 3tb drive)

With all the cheapness of flash these days - I just dont see why a $400-500 motherboard cant have a 512mb flash partition for firmware loaders - or why not an even gig.

There are several after market loaders for EFI http://refit.sourceforge.net/ or the popular Chameleon for MACs.
My Intel dual Xeon workstation came with a "BIOS like" utility called APTIO by American Megatrends - you press F2 to access it at boot, and you wouldnt know the difference from a normal BIOS.

----------------------------OK - so on to something helpful - installing windows on EFI, some helpful links, then the quick n dirty:
http://www.intel.com/support/motherboards/server/sb/CS-031158.htm
http://technet.microsoft.com/en-us/library/dd744321(WS.10).aspx

If EFI detects your CD/DVD - it should list all the detected devices when the Shell prompt opens, you will most likely do something like this:

switch to the CD/DVD (adjust this based on the output of detected devices):
fs0:
load the EFI boot loader (from Win 7 64):
/EFI/boot/BootX64.efi

You should then see a windows prompt to press the "any key" to boot from CD/DVD.

I should note - software raid is probably NOT going to be supported on any EFI board (for EFI booting), you would need a TRUE hardware raid card - more than likely it would be one you install in a PCI slot - never an onboard.

EFI shell documentation (not very helpful):
http://www.intel.com/support/motherboards/server/sb/CS-028743.htm

Creating an EFI only Windows boot DVD:
http://www.insanelymac.com/forum/index.php?s=&showtopic=184349&view=findpost&p=1261601

Another pitfall of all this is the 4kb sector size of "Advanced Format" drives - but i digress and divulge too much, and i think we already got into that...

No comments:

Post a Comment