How can I boot a BIOS-mode platform on an UEFI station without CSM?

Is it possible for GRUB or SuperGRUB to boot a platform like Debian on an UEFI station, without using CSM?

What’s actually preventing that?;)

Asked By: Jason Hunter


The short answer is that you can’t boot a system which needs BIOS services if you don’t have a legacy BIOS or CSM.

(To avoid chasing down something that you don’t actually need, current Linux distributions, including Debian, are perfectly capable of booting from UEFI, and that’s what you should be doing.)

Legacy BIOS-style boot is quite different from UEFI boot, and supporting the former in the latter requires rather a lot of work, even more so when it’s not supported by the firmware. Legacy BIOS expects to start in real mode, but UEFI starts boot loaders in protected mode; operating systems starting from a legacy BIOS boot also expect to be able to access BIOS services, which are no longer available with UEFI. You can’t easily emulate BIOS services, let alone provide real mode, without support from the firmware and chipset; you could get things going in V86 mode, but you’d quickly run into trouble booting any operating systems which expects to be able to switch to protected mode itself (like Linux).

Current systems sold with operating systems expecting BIOS-based boot (yes, there still are systems like that) ship with a minimal Linux system, booting from UEFI, which then starts QEMU and runs the operating system inside that.

Answered By: Stephen Kitt
Categories: Answers Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.