Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

UEFI emulation is a thing.

For people with legacy-only firmware systems, you too can run UEFI on lazy cloud providers and legacy hardware. I do this on my 14 year old dell laptop just so that all my x86_64 systems have the same boot efistub linux kernel images. All you need is to use one of the EDK DUET bootloader builds such as BootDuet¹, or for an easier user experience CloverBootloader². Only complaint is secureboot emulation can be a pain. But I imagine with Windows 11 around the corner requiring TPMs (which might require emulation on older hardware that doesn't have it) and secureboot, UEFI firmware emulators with these feature will probably get more popular and more accessible.

¹ https://github.com/migle/BootDuet

² https://github.com/CloverHackyColor/CloverBootloader



Windows 11 isn't going to work with emulated TPM stuff (unless you run Windows in a tiny Linux hypervisor will all PCIe space forwarded and an emulated virtual TPM, perhaps) but this approach should work perfectly fine for all other operating systems.

In my Windows 10 setup, Bitlocker refuses to boot without a recovery key when I don't use GRUB to load Windows; presumably, Windows recorded the system state when I enabled Bitlocker, which was booted via Grub. In similar fashion I expect Windows 11 to actually work just fine on systems with a TPM as long as Grub is used every time.


> But I imagine with Windows 11 around the corner requiring TPMs (which might require emulation on older hardware that doesn't have it) and secureboot, UEFI firmware emulators with these feature will probably get more popular and more accessible.

Unfortunately, there's no appetite - there's no point since that in a significant break Windows 11 only runs on new processors that happens to have both UEFI and TPM (not always enabled by default but it's there).


Apparently you can officially just shut off the restriction that forces Windows 11 to only run on new CPUs and the newest TPM by just setting a registry key AllowUpgradesWithUnsupportedTPMOrCPU on install.¹ But I never use Windows and don't plan to start anytime soon, so it's not something that I will try.

¹ https://support.microsoft.com/en-us/windows/ways-to-install-...


Interesting... I'll check if it can emulate 64 bits UEFI on a 32 bits one (yet 64 bits cpu): Finding anything to boot on my old tablet PC is becoming a pain.


GRUB does this relatively easily (without needing emulation) as I too have done it before on an old tablet. I am not sure what OS you are using but it should work fine for Linux and Windows although only the prior is easy and just works. On Debian and it's derivatives you just need the grub-efi-ia32 package, and then regular GRUB install process and 64bit loads fine without anything special.


The problem is less booting the OS once installed, but finding an iso I don't have to mess with too much to install it. Most of them assume 64 bits CPU means 64 bits UEFI...


I don't think you can emulate a TPM via software. You need a hook in the firmware and use SystemManagementMode/SMM, very likely.



I mean "in a way that would allow you to boot Windows on top of it".


Perhaps via a virtual machine?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: