With ONLY my lovely NVME plugged into an x4 PCI-E slot, I can post/enumerate and boot within about 12-15 seconds (which is a bit slower than I'd like, but faster than the win 95 days =).
However, I presently have three >= 2 TB HDDs, a 256 SSD, and two external HDDs >= 1 TB plugged in via USB 3.0 as well. With all these extra drives, it takes a whopping 30-40 seconds to POST/enumerate, then another 10-15 to boot. I know I'm spoiled here, but I'd really like to lower that POST/enumerate time to reasonable levels.
Assuming this behavior is normal and not a quirk of a particular hardware combination, I have a few ideas for a fix -- but first I'd rather see if anyone has some wisdom before I influence responses. An ideal solution would be fully or mostly automated.
I'm booting UEFI with all other boot sources turned off (including PXE).
Note that a factory reset of the BIOS and a clean install of Windows does not change the POST time when all of the drives are plugged in. Fastboot on/off doesn't change the POST time.
OTHER SPECS
-XPG SX8200 PCIe NVMe Gen3x4 M.2 2280 240GB SSD (ASX8200NP-240GT-C)
-Three of 2 or 3 TB (HGST Ultrastar 7K3000 HUA723030ALA640 7200 RPM 64MB Cache)
-Samsung 850 EVO 256 GB
-Porsche Lacie minimus 2 TB External (self-powered)
-Some no-name 1 TB external (usb-powered)
-x370 gaming pro carbon (latest firmware) MOBO
-Ryzen 5 1600 (not overclocked)
-16 GB RAM @ 3200 Mhz F4-3200C14D-16GFX (and some self-tuned timing adjustments)
-GTX 1080 (Aorus Xtreme 2nd Gen)
-CORSAIR TX-M Series CP-9020133-NA 550W ATX12V v2.4 / EPS 2.92 80 PLUS GOLD Certified Semi-Modular Power Supply
-LOTS of air cooling
-SATA BluRay Drive (presence doesn't appreciably affect POST time)
(Note that this motherboard claims to support hot plugging SATA drives, but I haven't tested the theory).