ThinkPad T480 - Booting external NVMe drives2026-03-14, 2mins
I recently acquired a ThinkPad T480 as a travel laptop and it has been a joy to use. Except booting external NVMe drives does not work. I have tested multiple controllers (ASMedia, JMicron, and Realtek), drives, cables (C-C, A-C, 5Gbps, 20Gbps, 40Gbps), partitioning, and bootloaders and ultimately concluded that the handling in the EFI for UASP is completely broken as it returns invalid data on read and eventually stalls out. But thankfully this laptop has a Thunderbolt 3 port, so I grabbed a ASM2464PD USB4 NVMe enclosure, booted my internal drive to authorize it via boltd, and rebooted. It shows up just fine in the boot splash, but no boot entries! However we can easily add the boot entry manually via the following command:
sudo efibootmgr --create --disk /dev/nvme0n1 --part 1 --loader /EFI/fedora/shimx64.efi --label "External NVMe" --unicode
Then just reboot, hit F12 for the boot menu, select the newly added entry, and enjoy!
Note: This command must be repeated for a different inserted NVMe drive, but the EFI can handle many entries. Use efibootmgr to list entries and efibootmgr -B -b [entry #000x here] to remove no longer wanted ones.
Hint: If it doesn't show up at all, enter the EFI settings via F1, ensure `Security Level` is set to `Secure Connect` and `Support in Pre Boot Environment` is set to `Pre-Boot ACL`, and authorize again if necessary.
I also recommend updating the firmware on the enclosure. For ASM2464PD, here is the current latest, simply run the .exe, click the unlock button in the top left with the password `asmedia`, click the load firmware (folder) button in the middle left and select the only available .bin file, and then click the flash button in the bottom left. After it completes it should say `PASS` in the bottom right. Exit the program, unplug the enclosure, plug it back in, start the program again, and verify the listed version is changed from previous (ie. compare to a picture you took before).