Unable to boot after BIOS upgrade

I was experiencing system freezes quite frequently while running Manjaro. I tried updating the BIOS (Gigabyte B450M DS3H) and was no longer able to see /dev/nvme0n1p1 as a boot option.

I have a dual boot setup with Manjaro on /dev/nvme0n1 (with a separate boot partition) and Ubuntu on /dev/sda1 (which includes /boot).

nvme0n1     259:0    0 119.2G  0 disk
├─nvme0n1p1 259:1    0   300M  0 part /boot/efi
└─nvme0n1p2 259:2    0 118.9G  0 part /
sda           8:0    0 223.6G  0 disk
├─sda1        8:1    0  29.8G  0 part 
└─sda2        8:2    0 193.8G  0 part /mnt/media

I was able to boot from /dev/sda1 into Ubuntu. I ran grub-update and that picked up my Manjaro installation. I was able to load grub from /dev/sda1, but when I selected Manjaro the system got stuck and Manjaro wasn’t loaded.

I booted from Manjaro-on-a-stick and its grub menu showed me an option to scan for other EFI installations. I found my Manjaro installation there and was able to load it without hassle.

I have tried running a system update (which installed a new kernel) and have tried grub-update from my Manjaro installation, but nothing has allowed me to boot from /dev/nvme0n1 directly.

Any tips or advice welcome. Thanks :+1:

$ tree /boot/efi
/boot/efi
└── EFI
    ├── boot
    │   ├── bootx64.efi
    │   ├── fbx64.efi
    │   └── mmx64.efi
    ├── Manjaro
    │   └── grubx64.efi
    └── ubuntu
        ├── BOOTX64.CSV
        ├── grub.cfg
        ├── grubx64.efi
        ├── mmx64.efi
        └── shimx64.efi
System:    Kernel: 5.15.6-2-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0 Desktop: i3 4.20.1 info: i3bar dm: LightDM 1.30.0
           Distro: Manjaro Linux base: Arch Linux
Machine:   Type: Desktop System: Gigabyte product: B450M DS3H v: N/A serial: N/A
           Mobo: Gigabyte model: B450M DS3H-CF serial: N/A UEFI: American Megatrends LLC. v: F62d date: 10/13/2021
CPU:       Info: 8-Core model: AMD Ryzen 7 2700 bits: 64 type: MT MCP arch: Zen+ rev: 2 cache: L1: 768 KiB L2: 4 MiB
           L3: 16 MiB
           flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 102251
           Speed: 2065 MHz min/max: 1550/3200 MHz boost: enabled volts: 1.0 V ext-clock: 100 MHz Core speeds (MHz): 1: 2065
           2: 1378 3: 1545 4: 1392 5: 1484 6: 1493 7: 1433 8: 1546 9: 1605 10: 1383 11: 1544 12: 1456 13: 1446 14: 1547
           15: 2636 16: 1270
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] vendor: Gigabyte
           driver: amdgpu v: kernel bus-ID: 07:00.0 chip-ID: 1002:67df class-ID: 0300
           Device-2: Logitech Webcam C170 type: USB driver: snd-usb-audio,uvcvideo bus-ID: 3-2:3 chip-ID: 046d:082b
           class-ID: 0102
           Display: server: X.Org 1.21.1.1 compositor: picom v: git-dac85 driver: loaded: amdgpu,ati unloaded: modesetting
           alternate: fbdev,vesa resolution: 3840x2160~60Hz s-dpi: 96
           Message: Unable to show advanced data. Required tool glxinfo missing.
Audio:     Device-1: AMD Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] vendor: Gigabyte driver: snd_hda_intel
           v: kernel bus-ID: 07:00.1 chip-ID: 1002:aaf0 class-ID: 0403
           Device-2: Advanced Micro Devices [AMD] Family 17h HD Audio vendor: Gigabyte driver: snd_hda_intel v: kernel
           bus-ID: 09:00.3 chip-ID: 1022:1457 class-ID: 0403
           Device-3: Logitech Webcam C170 type: USB driver: snd-usb-audio,uvcvideo bus-ID: 3-2:3 chip-ID: 046d:082b
           class-ID: 0102
           Device-4: Asahi Kasei Microsystems AK5370 I/F A/D Converter type: USB driver: snd-usb-audio bus-ID: 3-4:5
           chip-ID: 0556:0001 class-ID: 0102
           Sound Server-1: ALSA v: k5.15.6-2-MANJARO running: yes
           Sound Server-2: JACK v: 1.9.19 running: no
           Sound Server-3: PulseAudio v: 15.0 running: yes
           Sound Server-4: PipeWire v: 0.3.40 running: no
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Gigabyte driver: r8169 v: kernel
           port: e000 bus-ID: 05:00.0 chip-ID: 10ec:8168 class-ID: 0200
           IF: enp5s0 state: down mac: <filter>
           Device-2: Realtek RTL8192CE PCIe Wireless Network Adapter vendor: ASUSTeK driver: rtl8192ce v: kernel port: d000
           bus-ID: 06:00.0 chip-ID: 10ec:8178 class-ID: 0280
           IF: wlp6s0 state: up mac: <filter>
Drives:    Local Storage: total: 342.81 GiB used: 174.77 GiB (51.0%)
           ID-1: /dev/nvme0n1 vendor: Gigabyte model: GP-GSM2NE8128GNTD size: 119.24 GiB speed: 15.8 Gb/s lanes: 2 type: SSD
           serial: <filter> rev: E8TM14.2 temp: 43.9 C scheme: GPT
           ID-2: /dev/sda vendor: Crucial model: CT240BX500SSD1 size: 223.57 GiB speed: 6.0 Gb/s type: SSD serial: <filter>
           rev: R013 scheme: GPT
Partition: ID-1: / size: 116.58 GiB used: 103.64 GiB (88.9%) fs: ext4 dev: /dev/nvme0n1p2
           ID-2: /boot/efi size: 299.4 MiB used: 5.4 MiB (1.8%) fs: vfat dev: /dev/nvme0n1p1
Swap:      Alert: No swap data was found.
Sensors:   System Temperatures: cpu: 16.8 C mobo: N/A gpu: amdgpu temp: 54.0 C
           Fan Speeds (RPM): N/A gpu: amdgpu fan: 718
Info:      Processes: 354 Uptime: 4d 4h 35m wakeups: 0 Memory: 31.34 GiB used: 6.84 GiB (21.8%) Init: systemd v: 249
           Compilers: gcc: 11.1.0 clang: 13.0.0 Packages: pacman: 1469 Shell: Zsh (sudo) v: 5.8 default: Bash v: 5.1.12
           running-in: alacritty inxi: 3.3.09

Hello @commander_trout :wink:

  1. Manjaro’s grub version is customized and not compatible with Ubuntu’s grub. Ubuntu will not be able to boot Manjaro, but Manjaro can boot Ubuntu.
  2. If you want grub for Ubuntu and Manjaro, then don’t share one EFI Partition, but create one for each Distro and install grub there separately.

Thanks for the reply @megavolt

I wasn’t aware that Ubuntu grub could not boot Manjaro. I had thought all grubs were made equal. I could swear I’d booted Manjaro from Ubuntu’s grub before. That would explain why that path hadn’t worked.

In fact, I’m prepared to blast Ubuntu away (was only there for Steam), so I don’t care much about the dual boot. How do I rescue Manjaro’s /boot/efi though? It’s the partition that doesn’t appear to be bootable…

https://wiki.manjaro.org/index.php/GRUB/Restore_the_GRUB_Bootloader#EFI_System

@freggel.doe Thanks for that link. It talks about needing to be chrooted, but I am actually able to boot my Manjaro installation using live USB grub. I assume that I therefore don’t need the chroot and can just follow those steps to reinstall grub and generate its config.

I used the instructions at the link posted by @freggel.doe and was able to get my system booting again.

I used grub from a Manjaro live USB which was able to discover my (non-booting) Manjaro installation and boot it successfully. Once I was running my local installation, I ran the following commands:

$  sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
$  sudo grub-mkconfig -o /boot/grub/grub.cfg

:information_source: Because I was actually running the installation I was trying to repair, there was no need for a chroot, but I did need to sudo the commands.

:warning: grub-mkconfig gave me a warning (warning: unknown device type nvme0n1), which I ignored.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.