liam_on_linux: (Default)
There seems to be, from my own experience so far, 3 or 4 types of UEFI system in practice:

[1] UEFI systems where you can pick an option to work in legacy BIOS emulation, and then all the UEFI stuff disappears and it just looks and acts like a BIOS. Example: my Thinkpad X220 & T420 even on the latest firmware. You can enter the firmware with whatever the manufacturer's normal hot-key combination is, etc.

[2] UEFI systems which will look for legacy BIOS boot structures on the boot medium, load from them in BIOS mode and from then look like a BIOS machine. However, this is dynamic and if booted from a UEFI medium with an EFI System Partition etc., they act like pure UEFI machines. Examples: I have seen some fairly recent (Xeon) desktop Dells from the last 3-5 years like this.

[3] UEFI systems which offer a choice: for instance, when you enter the "select a boot medium" menu, and they detect a bootable USB , then you get 2 boot options for that medium: "legacy boot" or "BIOS boot" or words to that effect, or "UEFI boot". Depending on which you pick, the *same boot medium* will perceive itself to be starting on a BIOS system or on a UEFI system. If you know the difference, these are easy, but it's easy to get it wrong and enter a config where you can't install a bootable system, or your booted system can't see or manipulate the boot structures of an installed system of the other type.

Examples: I have seen modern 2019-model Dell Precision mobile workstations like this; my girlfriend's Lenovo Core i5 desktop (about a 2017-2018 machine).

Interestingly, I was only able to get my partner's machine to boot Linux Mint 19.2 or 19.3 from its HD by pressing F12 to pick a boot medium; then the GRUB menu appears. Normally, it boots direct to Win10, whatever settings are in the firmware. (This is based on Ubuntu 18.04, as mainstream as Linux gets). Upgrading the firmware made no difference.

Interestingly, this summer, when I upgraded to Mint 20 (based on Ubuntu 20.04), suddenly the EFI GRUB menu started working without F12. Someone somewhere has fixed something and now it works. Who knows who or what? All part of the fun of UEFI.

[4] UEFI systems which are pure UEFI and will only boot from a correct-configured UEFI medium. Some may say that there is a legacy boot option but it won't work. Example: my current work desktop, a Dell Precision Core i7 minitower. I inherited this from a colleague who quit. He spent days trying to get it to boot. Later, I tried to help. When he left, I asked for and got the machine, and I spent a week or so on it. I tried about 6-7 Linux distros, stable and cutting-edge versions, booted from USB or DVD or network. Nothing worked. I could not get a Linux distro to boot from the hard disk. In the end, in desperation, I put the latest Win10 on it, which worked perfectly. With the boot structures created by Win10, Linux will dual-boot perfectly happily and totally reliably.

I have received a lot of abuse from "experts" who tell me that what I've seen is impossible, not true, etc. Especially from enterprise Linux vendors, who just get their bootloader signed and therefore see no problem with this. This is a theme — I've been in the business 32 years now and I've had that a lot.

The watchword is this: one, single exception disproves a million people for whom something works perfectly.

It doesn't matter how many reviews say "X is great" if one review says "Y doesn't work and Z is missing." It is the negative assessments that matter; this is not a number game, not a vote. One failure outweighs any number of successes.

IMHO, UEFI is inadequately-specified, as of yet poorly-debugged, and is not yet really ready for prime time. It works with single-boot Windows systems, although it is hard to do things like change boot settings, and it's relatively easy to get an unbootable system if you, for instance, copy a working HDD install onto an SSD. Fixing this is a lot of work and the automated tools in Win10 don't work, which indicates to me that Microsoft don't fully understand this either. There is no longer any consistent way to get into the firmware setup program, into Windows' Safe Mode etc. Many systems intentionally conceal all this to make a smoother customer experience. You need to do things like set options in a Windows control panel to display the startup options when the system is next booted. If you can't load Windows, tough. If you can but it fails to complete boot, tough. If you don't have a Windows system, tough. I regard this as broken, badly broken; the industry apparently does not.

It is important to note, not as paranoia but as a simple statement of fact, that enterprise OS vendors focus on servers, and servers typically do not dual-boot, at all, ever. Most, in fact, run inside dedicated VMs, so they don't even interact with other OSes at all. Therefore all this stuff is poorly-debugged and little-tested.

It is also significant, I think, in paranoid mode, that while Microsoft says it loves Linux and FOSS now, this is marketing guff. No significant parts of Windows have been made FOSS. Windows will not dual-boot with any FOSS OS; in fact it disables other bootloaders. It is entirely the FOSS OS's job. Windows can't mount, read, or write Linux filesystems, or even identify them. MS only likes Linux if it's running safely inside a Windows VM.

This, for me, falsifies the claim that MS <3 FOSS. They talk the talk but do not walk the walk. It is their old embrace and extend tactic once again.

As such, the fact that UEFI works so badly with non-MS OSes seems likely to be quite intentional to me, and that it only cooperates with big enterprise server OS vendors. The situation is difficult for small FOSS players and not materially improving. 

May 2025

S M T W T F S
    12 3
45678910
11121314151617
1819 2021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 10th, 2025 11:44 pm
Powered by Dreamwidth Studios