Hello Tom Brown, dear Maintainer, I just tried to reproduce this on a amd64 qemu EFI VM.
>From your description is not clear if you received on reboot the menu to select between "Windows 10" or "Debian GNU/Linux - Continue with install process"? If that is missing you might add the output of following command running in an administrative/elevated cmd: bcdedit /enum all > c:\bcdedit-enum-all.txt Unfortunately I am not confident if grldr.mbr is still working, at least when a firmware without CSM or secure boot comes into play. Therefore I raise the question if win32-loader is really supposed to work on a secure boot EFI system? If such a system is detected, maybe a warning could be added? I looked for a way to load e.g. an EFI grub image [2] from {bootmgr} (Windows Boot Manager), but could not find a working way. The most I found is this discussion [2]. The next possiblity would be to add an boot entry to the firmware efi itself - unfortunately the firmware boot menu would have to be opened by the user (at least in TianoCore). So it might be needed to make at this stage grub already the default - with the risk to leave the user with an unbootable system ... Find in [3] some examples how to change the boot configuration. This may make the system unbootable, just use in a test environment!!! This is not intended as a workaround - just a possible way to improve win32-loader. Also with the debian installation the real grub was put into place and working. Unfortunately Windows decided at next it got booted to make again our intermediate grub the default entry ??? Kind regards, Bernhard [1] Create EFI grub: grub-mkimage -o grubx64-win32-loader.efi -O x86_64-efi --prefix /EFI/debian part_gpt part_msdos lvm fat ext2 chain boot configfile normal minicmd linux reboot halt search gfxterm gfxmenu efi_gop efi_uga video loadbios gzio video_bochs video_cirrus echo true loadenv ntfs exfat tftp http [2] http://reboot.pro/topic/17655-boot-into-3rd-party-efi-application-via-bcd/page-3 [3] # C:\Windows\system32>bcdedit /enum {bootmgr} | find "path" # path \EFI\Microsoft\Boot\bootmgfw.efi # mount ESP/EFI system partition as Z: (has to be a free drive letter) mountvol Z: /S mkdir Z:\EFI\debian # create a grub.cfg ( echo menuentry "Windows" { echo search --file --no-floppy --set=root /EFI/Microsoft/Boot/bootmgfw.efi echo chainloader /EFI/Microsoft/Boot/bootmgfw.efi echo } echo menuentry "Debian GNU/Linux - Continue with install process" { echo search --file --no-floppy --set=root /win32-loader/linux echo linux /win32-loader/linux vga=788 priority=low --- echo initrd /win32-loader/initrd.gz echo } )> Z:\EFI\debian\grub.cfg # copy the grub image from [1] copy c:\root\grubx64-win32-loader.efi Z:\EFI\debian\grubx64-win32-loader.efi # unmount ESP mountvol Z: /D # add a new boot entry to EFI firmware and make it default - found no way to create a proper firmware application 101fffff ... bcdedit /copy {bootmgr} /d "Debian GNU/Linux - Continue with install process copy" ::Der Eintrag wurde erfolgreich in {4c28ffdd-16ba-11e9-8632-97f1cd5def39} kopiert. set GUID={4c28ffdd-16ba-11e9-8632-97f1cd5def39} bcdedit /set %GUID% path \EFI\debian\grubx64-win32-loader.efi bcdedit /set {fwbootmgr} timeout 15 bcdedit /set {fwbootmgr} default %GUID% bcdedit /deletevalue %GUID% device bcdedit /deletevalue %GUID% locale bcdedit /deletevalue %GUID% inherit bcdedit /deletevalue %GUID% resumeobject bcdedit /deletevalue %GUID% toolsdisplayorder bcdedit /deletevalue %GUID% timeout # Was just tested with EFI win10 64bit