EFI is the ‘new’ bios proclaimed as the savior of all by Intel (among others). Currently it is not (for me). Here’s why:
The old BIOS infrastructure has a few flaws namely:
- It’s impossible to address (and hence boot) from devices bigger than 2TB
- I haven’t seen a bugfree ACPI implementation yet. (Both windows and linux usually work around it after they find it out)
- It’s all written in assembler, it’s not modular, so every new mainboard will have new bugs.
- It’s slow to boot because of one million checks.
EFI promised to solve Nr. 1,3 and 4. Seeing posts like this made me sceptical of this, but oh well; that one was Apple specific.
Lately I had to install two new laptops. First one was the Lenovo S205, second one an ASUS eeePC 1215B. Both have very nice hardware and run quite cold. Also both use EFI, however both also support emulated legacy BIOS installs. Of course with all my operating systems supporting EFI (Win7 64bit, every Linux), I went the EFI route.
The Lenovo S205 produces (on Windows) bluescreens from time to time and also always hangs on shutdown or reboot, when installed with EFI support. On Linux it installs, however the wireless card does not work correctly and also rebooting and halting does not work (freeze). EFI supports another EFI implementation for reboots and shutdowns like ACPI. Similar to ACPI the implementation seems to be very buggy on the laptop; also the wireless firmware does not seem to be 100% EFI compatible. In BIOS mode there are no problems whatsoever.
The 1215B from ASUS booted the Windows install (EFI version 310) and then produced a blue screen after copying the files. Enter EFI 401 (current one on the asus BIOS site). This one already rebooted, when the install was loading, so at least I had less work installing and reinstalling. Again: Everything works fine in BIOS emulation land.
So my opinion: EFI wants to repeat the whole mess we had and still have with ACPI. Even if the moronic and braindead implementation should work on paper, many mainboards will be plagued by crappy implementations.
Please Coreboot, save us… …and quick.