Make Syslinux work with UEFI Windows 10
After some more digging, I found a small paragraph on the ArchLinux Wiki stating:
UEFI Syslinux does not support chainloading other EFI applications like UEFI Shell or Windows Boot Manager
And indeed, even after a feature request in 2013, they still haven't implemented this very important feature.
Solution was to install a different EFI-chainload-capable bootloader, such as GRUB. Installation guide for Arch here.
Related videos on Youtube
niraami
Updated on September 18, 2022Comments
-
niraami over 1 year
Recently, I installed Windows 10 on my main machine - later discovered it demolished my whole Linux boot partition:
sdb ├─sdb1 ext4 Root 07a703e4-173a-4e54-b425-baa69a220a64 / ├─sdb2 vfat 2C45-FE61 /boot ├─sdb3 ext4 Home 00477b16-d04d-4cc7-bb56-32138146b74d /home ├─sdb4 swap Swap 578c2f2d-1a07-4bae-a235-dbf52dae300f [SWAP] ├─sdb5 └─sdb6 ntfs Win_OS 9292422592420E63 /media/Win_OS
I got Syslinux and my Arch working, but now I can't find a way to succesfully make a Syslinux entry to boot into the Windows. Though, If I choose "Windows Boot Manager" from the MB boot menu, it boots just fine.
My current syslinux.cfg: (well, part of it)
... LABEL Arch MENU LABEL Arch_64 LINUX ../vmlinuz-linux APPEND root=UUID=07a703e4-173a-4e54-b425-baa69a220a64 rw INITRD ../initramfs-linux.img LABEL Win10 MENU LABEL Windows_10 COM32 chain.c32 APPEND hd1
Edit 1#:
I forgot to mention, I also installed a UEFI syslinux in the /EFI/ folder, alongside windows' Microsoft and Boot folders, which, again, works for Linux, but not for Windows - no matter if I use UUID, Label, disk and partition number...