GalliumOS / galliumos-distro

Docs, issues, and artwork sources for GalliumOS
https://galliumos.org/
GNU General Public License v2.0
347 stars 11 forks source link

3.0alpha1 boots to GRUB shell after pkg updates #448

Closed mathnic closed 5 years ago

mathnic commented 6 years ago

Issue reported on reddit as "(Bug Report) 3.0 Alpha now only boots to Grub Command Line." https://www.reddit.com/r/GalliumOS/comments/8ulovy/bug_report_30_alpha_now_only_boots_to_grub/

Quoting from @reynhout;

"To manually fix a non-booting system:

Boot from GRUB shell, if you are able (should work for standard installs -- LVM and LUKS will require extra steps):

grub> configfile (hd0,gpt2)/boot/grub/grub.cfg

OR, boot from USB and mount your GalliumOS EFI partition (/dev/sda1, /dev/mmcblk0p1, etc)

Then, download and install the fixed EFI boot image:

curl -OL https://galliumos.org/tmp/grubx64.efi
sudo install -m 0700 grubx64.efi /boot/efi/EFI/galliumos

OR, if you don't have network access, you can edit the existing EFI boot image (be careful):

sudo sed -i "s/EFI\/ubuntu\x00\x00\x00\x00/EFI\/galliumos\x00/" /boot/efi/EFI/galliumos/grubx64.efi

And then reboot."


I'm on edgar with UEFI and 3.0-alpha with LUKS full encryption. Of course I ran into this issue too after update. Now I've booted from a live-USB Fedora28 to follow instructions. I'm noting that /boot/efi is completely empty. Is that what's expected? I'd have to create the additional directories EFI/galliumos, then copy grubx64.efi. Just taking careful steps here and listen for advice before proceeding...

mathnic commented 6 years ago

For some reason the live user system mounted the boot directory split up between two different mount points, one with /boot/efi/ and another with /EFI/galliumos/. Strange. Anyway, did the swap for grubx64.efi and rebooted. All working now. Thanks.

reynhout commented 6 years ago

UPDATE 20180701 0600 UTC: Fixed in updated packages

To repair a non-booting system:

  1. Boot from GRUB shell

    • Standard installs: grub> configfile (hd0,gpt2)/boot/grub/grub.cfg
      • The (hd0,gpt2) component can vary, see comments on Reddit thread
    • LVM installs: (see comments on Reddit thread)
    • LUKS/FDE installs: (more work, not tested, but should be possible)
  2. Update packages

    • From command line: galliumos-update
    • From launcher menu: "GalliumOS Update"

If you are unable to boot from GRUB shell, you can boot from USB/SD, mount the GalliumOS partition, chroot into it, and run galliumos-update.

If you'd prefer, reinstalling the 3.0alpha1 image, and then updating packages will also work. :)

The critical package is the GalliumOS override of Ubuntu's grub-efi-amd64-signed, fixed in versions 1.93-galliumos0.2_2.02-2ubuntu8 or later. You won't need to pay attention to those details in most cases -- it will all just happen automatically. But if anything goes wrong, or if you're repairing by some other method, those are the details to look for.

Thanks again to everyone for their help!

reynhout commented 5 years ago

Resolved in current packages.