@jwc1936
I've made some observations about booting Windows 10. I hope my post will help you.
1) If Windows installer boots in UEFI mode, then it only supports GPT disks, similarly if boots in Legacy mode, only MBR disks can be used. Likely your Windows was installed in Legacy mode since you don't have an ESP (EFI System Partition).
2) Information about booting Windows, no matter which mode being used (UEFI/Legacy), is stored in a file called "BCD" (Boot Configuration Data). Without this BCD file, Windows cannot boot. The BCD file is in
ESP/EFI/Microsoft/Boot/ if Windows is installed in UEFI mode. I'm not sure about the case of Legacy mode, however it can be easily located using the
find command.
What I've tested is changing the original ESP used by both Windows and slackware to another partition. I just created a new FAT-formatted partition with
boot and
esp flags enabled (I also disabled those flags on the original ESP), copied relevant files into it, performed a
grub-install, and then re-generated a
/boot/grub/grub.cfg file (if you're using slackware-current, the os-prober should detect out Windows without problems).
Structure of my new ESP:
(yes Windows has some other efi binaries but the bootmgfw.efi alone is enough to make it boot)
Code:
/boot/efi
└── EFI
├── Microsoft
│ └── Boot
│ ├── BCD
│ └── bootmgfw.efi
└── slackware-14.2+
└── grubx64.efi
4 directories, 3 files
and my new disk layout:
(
/dev/sdb2 is the original ESP, and
/dev/sda3 is the new one)
Code:
Model: ATA Samsung SSD 860 (scsi)
Disk /dev/sda: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 629MB 628MB SLACKBOOT
2 629MB 200GB 199GB SLACKLUKS
3 200GB 200GB 231MB fat16 EFI_TEMP boot, esp
Model: ATA TS240GMTS420S (scsi)
Disk /dev/sdb: 240GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 556MB 555MB ntfs Basic data partition hidden, diag
2 556MB 660MB 104MB fat32 EFI system partition
3 660MB 676MB 16.8MB Microsoft reserved partition msftres
4 676MB 240GB 239GB ntfs Basic data partition msftdata
After changing the ESP, Windows booted perfectly through the grub menu, recognized it's new ESP, and marked the original ESP as drive
D: (see attachment).
So now I suggest you to try the steps I've described above because I can expect that your BCD file contains information for both UEFI and Legacy boot mode, since the BCD file can be built that way and it indeed has been built that way through a UEFI installation. If succeed, you'll have a dual-UEFI-bootable Windows with slackware. (But if your BCD contains only information about Legacy mode, then my steps simply won't work.)
ref:
BCDBoot Command-Line Options
BIOS/MBR-based hard drive partitions
UEFI/GPT-based hard drive partitions
=================================================
@captain_sensible
In fact slackware does support secure boot provided that you have installed your own secure boot keys on your machine and signed your efi binaries with them! Very good resources are
Sakaki's guide of Gentoo installation and
Roderick's article about secure boot. The efitools and sbsigntools packages mentioned there can be easily built, or you can just use the pre-compiled binaries from other distros (these two packages on SBo are too much outdated).
regards,
sxy