UEFI and the Future zz

As of 2016-09-06, the Firmware Utility Script now offers Full ROMs offering either Legacy Boot or UEFI Boot for all Haswell and Broadwell devices (as well as for both the SandyBridge and IvyBridge variants of the Acer c710). UEFI (Unified Extensible Firmware Interface) is the successor to Legacy BIOS and is the firmware type used by virtually all Windows PC’s (and Macs) shipped in the last 5+ years.


UEFI functionality is provided by the Tianocore coreboot payload. The boot screen shown above is accessed by pressing any key (other than Enter) during the ~3s boot timeout (there will be a brief progress bar across the bottom, as well as a blinking cursor); if no key is pressed, it will attempt to boot any externally-connected devices, followed by the internal storage (unless you opted to prioritize internal storage at the time of installation). If not UEFI boot devices are available, it will simply take you to the screen above. If you didn’t get your USB boot media inserted in time, simply power off and back on.

UEFI firmware on ChromeOS devices offers many benefits over the existing Legacy BIOS offerings:

  • Better Windows support and faster Windows boot time (50%+ faster)
  • Full working HDMI audio under Windows, without any special drivers or hackery
  • Support for compressed Windows installs (under 5GB for Windows 8.1)
  • Better support for dual/triple/quad boot scenarios
  • Ability to run OS X / MacOS on Core i3/i5/i7-based machines
  • Better support for USB devices at boot time (SeaBIOS was/is quite finnicky)

And a few more I’m forgetting as well.

This initial UEFI firmware release chain loads a special Tianocore package on top of SeaBIOS (which is stripped down to the minimum needed to load Tianocore) in a manner invisible to user. It also has a few limitations: among other things, it lacks the ability to boot in Legacy Mode (often referred to as UEFI-CSM; this will likely never be implemented), and — critically — it lacks the ability to change/save settings, including the default boot device (though this can be set at time of install). Another side effect of this limitation is that a UEFI bootloader (like rEFInd) is requried for multi-OS booting, or for booting any OS which doesn’t install its own bootloader into the default UEFI boot path (/EFI/BOOT/BOOTX64.efi). The UI is also not as polished as other UEFI implementations, but that’s open source for you 🙂

All of these issues are being worked on, and hopfully in the near future all Full ROM firmware offered by the Firmware Utility Script will be fully UEFI-compatible. For now, feel free to check the status on/report any issues on the Github tracker.

发表回复