Ubuntu – UEFI or Legacy? Which is advised and why

grub-legacylenovouefi

While I know some facts about UEFI and Legacy and basic differences between them, like UEFI allowing for faster booting (I've checked this question already, but it doesn't answer mine), I have a bit of a different question(s):

I'm not sure if BIOS settings can have any influence on how the system works and if legacy settings can be the cause of hardware misbehaving, but I usually install my Linux systems in legacy mode, with boot priority legacy first. Is it ok this way or should I change either the boot priority to UEFI first, or everything adjusted to UEFI (this Lenovo G50-45 laptop came with Windows 8).

Also, on my laptop quite a few things don't work properly, whereas on Windows everything worked and I'm not sure where the fault lies. I only recall, that Windows wouldn't install with legacy settings, I had to change boot priority to UEFI first to be able to install it (Win 7 Ultimate x64).

Currently on *ubuntu (any variant) 15.04 I have issues with microphone not working (distorted, very weak sound) and Xorg crashes my entire session with Libreoffice in k3.19+. Tested with many distributions.

So, to conclude, which one is recommended for a flawlessly working system? Do Linux distributions work better with Legacy, or UEFI? (if there is any difference in terms of functionality of the system)

Best Answer

For most hardware, the boot mode (EFI vs. BIOS) is irrelevant. The drivers Linux loads are identical in either case, as should be the performance. The main caveat here is that the hardware may be initialized in different ways depending on your boot mode, and if the Linux drivers make assumptions about how the hardware is initialized, one way or the other may work better. This sometimes made booting one mode or the other (usually BIOS mode) preferable in the past, but this type of problem is becoming rather rare today. This type of issue mostly affected video hardware and drivers, but in principle it could affect anything.

In your specific case, my suspicion is that you've got "bleeding-edge" hardware with poor Linux support, or perhaps hardware that requires special configuration to work correctly in Linux. Your best bet is to post separate questions about each specific device that's not working to your satisfaction. You can also test with both BIOS-mode and EFI-mode installations to determine empirically which one works better for you, since there is no way to accurately generalize which mode is best.

The correct answer to the question of which mode is best is: It depends. For instance:

  • If you're dual-booting with an OS that's already installed in one mode or the other, it's almost always best to boot Ubuntu (or any other Linux) in the same boot mode as the one that's already in use.
  • Using BIOS/CSM/legacy mode almost always complicates the boot process, as described in detail on this Web page of mine. The result is that enabling BIOS-mode booting makes problems more likely to crop up, especially if you've already got an EFI-mode OS installed.
  • Knowledge of BIOS-mode boot processes is more widespread, which can counter the preceding issue on a single-OS system.
  • As I've described, some hardware initialization issues can favor one boot mode or the other (usually BIOS mode is easier to get working). Such problems seem to be fading in frequency, though.
  • EFI-mode booting is usually a bit faster than BIOS-mode booting, although details differ from one OS to another.
  • Your choice of boot loaders is somewhat different. If you venture beyond the default GRUB, you might prefer something that's available in only one boot mode. Currently, this would tend to favor EFI, since there are some EFI-specific boot managers (gummiboot, rEFIt, and rEFInd) with no BIOS counterparts; but AFAIK the only BIOS-specific boot program for Linux without an EFI port or workalike are BURG and LOADLIN, both of which are (AFAIK) abandoned.
  • Secure Boot (a UEFI-specific feature) can help you control your boot process, preventing unauthorized code from running. If you want to, and if you're willing to put in the effort, you can even use Secure Boot to prevent Windows from running on your computer.
  • On some computers, GPT presents problems when booting in BIOS mode; but GPT is the standard for EFI. GPT offers some minor advantages on sub-2TiB disks, but is required on disks larger than that. (Assuming 512-byte logical sectors; but larger logical sectors are iffy for booting in BIOS mode, and are very rare on internal disks.)

If you need a more specific "BIOS" or "EFI" answer as to which you should use, you'll have to provide much more specific information about your setup.

Related Question