Grub 2.02 on vacation after first boot. Arch mSATA USB

D

dsk

Guest
I am having a strange problem. I have a freshly installed Arch Linux LVM inside a LUKS container all nestled on an external USB SSD. Although I have no problem with the Arch system itself, I do have a problem with Grub.

After the initial installation, I can boot perfectly normal without issue. Even logged in and configured my desktop a bit. Shutdown the system. Reboot, no Grub!! Not even a rescue shell.

So I go back to the LiveUSB, open my luks container, remount, chroot, grub-install (without modifying anything), exit, umount, shutdown.

Then, I can boot perfectly normal without issue. But, as soon as I shut it down and try to restart it, Grub is AWOL. I can do this any number of times with the same effect. I dont notice any changes when I am initially booted into installed system or chrooted into the system.

My fstab and grub are both configured to use UUID. But, even still if it wasn't properly configured (I wouldn't be able to boot it initially) and I should atleast get a Grub rescue shell or Arch rescue shell. But, I dont get anything on the second boot.

Any guesses or suggestions. I am a bit stumped.

Additional info:

Host computer: Surface Pro 1 (secure boot disabled)
USB SSD: Samsung 840EVO msata (mushkin Atlas 3.0 housing)
LiveUSB: Generic 2GB

GPT, UEFI (has a BIOS partition but I havent set up GRUB BIOS at all)

PART 1 - DATA 8GB 0700
PART 2 - BIOS 2MB ef02
PART 3 - UEFI 250MB ef00 /boot
PART 4 - ARCH 110GB 8e00
 


First is UEFI has a lot of criticisms and no one will recommend it to boot a Linux machine. So like in my situation I installed Linux from legacy boot.
Then you boot from the partition that doesn't have Arch. You can manage flags with gparted. It has liveCD.
 
I’m not sure how to mark this as solved but I did find a solution and thought I should post it. Probably not the most space efficient method but it worked.

The initial grubx64.efi was inside /boot/EFI/arch directory. I made two other directories /boot/EFI/arch/Boot and /boot/EFI/Boot and copied this to both directories.

I also made a copy and renamed it to bootx64.efi and copied it to every directory containing the grubx64.efi.

I'm not sure which one is pulling the workload but I am booting 100% now.
 
First is UEFI has a lot of criticisms and no one will recommend it to boot a Linux machine. So like in my situation I installed Linux from legacy boot.
Then you boot from the partition that doesn't have Arch. You can manage flags with gparted. It has liveCD.

Well, thanks for your input but that really isn't an option for me as my Arch installation is on an external mSATA USB and the main PC I use it on is UEFI only (Microsoft Surface Pro.) I did add BIOS Grub Legacy but only as a more universal support so I could use my Arch USB on a wider range of host PCs. All is working now. Tested on multiple PCs and running smoothly. Now I am on to more fun things like making it look pretty. :)
 


Top