I have a laptop that I installed Arch on, so far so good. After getting things set up just the way I wanted them and using it for a few days, I decided to experiment a little and install SteamOS. Since I didn't want to mess up my Arch install, and I happened to have a spare 2.5" drive flying around, I just popped the old drive out and put the blank one in. After playing around with SteamOS for a while I swapped the drives back, but now Arch won't boot.

I did not change any BIOS settings. Entering the UEFI boot device selection does not show the HD with Arch installed unless there is another bootable device present (a flash drive with the arch install media in my case), in which case you can manually select the EFI file for GRUB on the HD and boot into Arch normally.

Why would swapping drives suddenly render the old drive unbootable? How do I repair it?

EDIT: After doing the USB stick hack to make the UEFI let me select a file to boot manually, efibootmgr reports the following:

BootCurrent: 003D
Timeout: 0 seconds
BootOrder: 2001,2002,2003
Boot0000* USB Hard Drive (UEFI) - SanDisk Cruzer
Boot2001* USB Drive (UEFI)
Boot2002* Internal CD/DVD ROM Drive (UEFI)
Boot3000* Internal Hard Disk or Solid State Disk
Boot3001* Internal Hard Disk or Solid State Disk
Boot3002* Internal Hard Disk or Solid State Disk
Boot3003* Internal Hard Disk or Solid State Disk

For obvious reasons I can't show the output without the USB hack. The UEFI manger (accessed by pressing F9 during boot in my case) simply does not show the HD as an option unless there is another bootable device available.

  • 1
    That doesn't explain why the UEFI BIOS doesn't identify the HD as bootable. – Milo Christiansen Nov 27 '18 at 19:46
  • Furthermore, that link seemingly doesn't apply at all, as there is only one device in the system and it is mounted properly when I do manage to hack it into booting. This is a BIOS issue of some sort. – Milo Christiansen Nov 27 '18 at 19:56
  • The device names can change randomly - so it does apply. Post the output of efibootmgr. – jasonwryan Nov 27 '18 at 20:03
  • Added the info requested. – Milo Christiansen Nov 27 '18 at 20:18

Turns out I should have used --removable when I installed GRUB if I wanted to be able to swap hard drives. Following the directions at the Arch wiki and renaming my bootloader fixed it right up.

I don't really know why it worked in any great detail, or at least not enough to explain it in a coherent manner. It makes sense, but I would rather not make a fool of myself trying to articulate it.

I'm pretty sure there is a way to fix the BIOS so it knows where the bootloader is, but I don't know how to do that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.