Update: @Sweet_Kitten was generous enough to spend several hours with me figuring out a way to make this happen, and we were successful. As a bonus, no hardware flasher is required; the machine’s case shouldn’t even have to be opened.
Update 2:
DANGER
Setting slot bifurcation to Auto may result in an unbootable machine, and this motherboard does not have a Clear CMOS jumper (and no, Password Skip ain’t it). If you follow these instructions, make absolutely sure you NEVER EVER set slot bifurcation to Auto!!!
NOTE: As part of this process, your machine’s serial number will be erased and the UUID will be set to 03000200-0400-0500-0006-000700080009. (The MAC address of your machine’s onboard Ethernet should not change.) It is unknown whether this change of UUID may cause issues with software which uses the UUID to uniquely identify your specific machine, such as Windows activation (but, if so, this might help after the fact). If this is an issue for you, edit the D3341_A1_1.15_NVMe_UNLOCKED.bin file (from the second zip file below) in a tool such as UEFITool (also available as a Flatpak) to copy the personalization information out of bios.bin (obtained in step 3 of phase 2 below) and into D3341_A1_1.15_NVMe_UNLOCKED.binbefore flashing it to the board. The volumes you will want to copy are the ones with GUID FEA4AD59-2BEE-4392-9064-415D38B46389 and EDD43C8C-E92C-48A4-BCC3-A4911B9339C3.
This process will be much easier if you have a second computer to manipulate the flash drive.
Prepare a USB flash drive: format it as FAT32 (all data on it will be lost). Unpack this ZIP file into the root directory of that flash drive:
D3348-A1_FLASH_UNLOCK.zip (521.5 KB)
- Remove all bootable media from the machine (USB drives, SATA, everything)
- Insert the USB flash drive with the flash unlocker into the machine
- Spam F12 until the boot menu appears; choose to boot from the USB
- Some output will be generated. If it looks like it was successful, REMOVE THE FLASH DRIVE FIRST then type
exit and press Enter (if you get an error, let us know here BEFORE PROCEEDING FURTHER)
- You should end up in BIOS setup, and there should be a new IntelRCSetup menu at the top
- Go to IntelRCSetup - PCH Configuration - Security Configuration
- Set both
BIOS Lock and Host Flash Lock-Down to Disabled.
- ESC key to get back to the main menu, save changes, but don’t reboot yet.
Delete everything on the flash drive, or reformat it as FAT32. Unpack this file into the root directory of the now-empty USB flash drive:
D3341_A1_1.15_NVMe_UNLOCKED.zip (4.3 MB)
- Insert the USB flash drive back into the machine
- Reboot, then spam F12 until the boot menu appears; choose to boot from the USB
- At this point, we’re going to read the BIOS that’s already on the machine; type
fpt.efi -d bios.bin -bios then press Enter
- To test that we can write the BIOS after unlocking it above, type
fpt.efi -f bios.bin -bios -rewrite then press Enter; this will rewrite the BIOS with the image you just took from it. If you get any error, STOP AND LET US KNOW HERE BEFORE PROCEEDING.
- ONLY IF THE PREVIOUS STEP WAS SUCCESSFUL, type
fpt.efi -f D3341_A1_1.15_NVMe_UNLOCKED.bin -bios then press Enter (it will go more slowly if you add -rewrite, but nothing will be harmed)
- IF FLASHING WAS SUCCESSFUL (and it should be, because you just confirmed that you can flash in step 4), remove the flash drive, cross your fingers, and hold the power button until the machine powers off.
- Power the machine back on and spam F2 to get into BIOS setup.
- ???
- Profit!
In the event you’re not old enough to fully appreciate steps 8 and 9, this may help.
At this point, you should re-enable the flash locks:
- IntelRCSetup menu
- PCH Configuration
- Security Configuration
- Set both
BIOS Lock and Host Flash Lock-Down to Enabled
For me they were already relocked after flashing (except the first one, GPIO Lockdown, which is Disabled by default, and I recommend not changing it).
If you are presented with a password prompt: move the jumper from the default position (across pins 20 and 22, as marked in the diagram below) to being across pins 18 and 20 instead, then reboot, clear the password in the menu by setting a blank password, then save changes and put the jumper back across pins 20 and 22.
At this point, you should be able to configure PCIe bifurcation (IntelRCSetup - IIO Configuration - IIO0 Configuration). Beware that some slots are already bifurcated, which I suspect is why there are some 4-lane slots on the board. I recommend not touching those, and instead enabling bifurcation only on the x16 slots if needed.
With this patched BIOS, your machine can now boot from NVMe natively without the use of shims/workarounds (such as the excellent rEFInd). In addition, this was the last BIOS released by Fujitsu for this board, so there should never be any further updates necessary (although, if they do ever release another update beyond 1.15, you should not apply it if you rely on this patch!).
If any clarification is needed, or if the steps prove to be not quite clear or correct enough, please let me know.
Thanks again to @Sweet_Kitten for their help, without which none of this would have been possible!