Hangs on boot after kernel selection since power outage

Hi all

Pretty much what it says in the subject line. I was playing games the other day, and a breaker popped at my house, killing power to my machine (which isn't a laptop or on a UPS). After getting the power back on, I tried rebooting, only to have it hang after the screen where I can select a snapshot, which version of the kernel, etc. When I let it just select the defaults, it goes through these steps:

Loading Linux linux-zen ...
Loading initial ramdisk ...

And after that, nothing. There are no errors that I can see, nothing further happens on screen--the monitor just goes black, and then after a while goes into low power mode.

I can successfully boot into old snapshots, and things work fine, so I 'm assuming that something got corrupted when I lost power, but I'm not sure what that is or how to fix it, or even how to figure out what it is. Any help would be great. Thanks!

Here's my garuda-inxi:

╰─λ garuda-inxi
System:
Kernel: 6.4.8-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=cf95cbc9-d27b-41f5-acc4-f8824ac2d362 rw rootflags=subvol=@
quiet quiet rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3
ibt=off
Desktop: KDE Plasma v: 5.27.7 tk: Qt v: 5.15.10 wm: kwin_x11 vt: 2
dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
Type: Desktop Mobo: Gigabyte model: Z790 UD AC v: x.x
serial: <superuser required> UEFI: American Megatrends LLC. v: F3k
date: 01/05/2023
CPU:
Info: model: 13th Gen Intel Core i9-13900K bits: 64 type: MST AMCP
arch: Raptor Lake gen: core 13 level: v3 note: check built: 2022+
process: Intel 7 (10nm) family: 6 model-id: 0xB7 (183) stepping: 1
microcode: 0x113
Topology: cpus: 1x cores: 24 mt: 8 tpc: 2 st: 16 threads: 32 smt: enabled
cache: L1: 2.1 MiB desc: d-16x32 KiB, 8x48 KiB; i-8x32 KiB, 16x64 KiB
L2: 32 MiB desc: 8x2 MiB, 4x4 MiB L3: 36 MiB desc: 1x36 MiB
Speed (MHz): avg: 3776 high: 5500 min/max: 800/5500:5800:4300 scaling:
driver: intel_pstate governor: performance cores: 1: 5469 2: 3000 3: 5500
4: 3000 5: 5500 6: 3000 7: 5500 8: 3000 9: 5500 10: 3000 11: 5500 12: 3000
13: 5500 14: 3000 15: 5500 16: 3000 17: 4315 18: 4294 19: 1405 20: 3000
21: 3000 22: 4290 23: 4283 24: 3000 25: 3000 26: 3000 27: 3000 28: 3000
29: 3000 30: 3000 31: 3000 32: 4304 bogomips: 191692
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>
Graphics:
Device-1: Intel Raptor Lake-S GT1 [UHD Graphics 770] vendor: Gigabyte
driver: i915 v: kernel arch: Gen-13 process: Intel 7 (10nm) built: 2022+
ports: active: none empty: DP-1,HDMI-A-1,HDMI-A-2 bus-ID: 00:02.0
chip-ID: 8086:a780 class-ID: 0300
Device-2: AMD Navi 31 [Radeon RX 7900 XT/7900 XTX] driver: amdgpu
v: kernel arch: RDNA-3 code: Navi-3x process: TSMC n5 (5nm) built: 2022+
pcie: gen: 4 speed: 16 GT/s lanes: 16 ports: active: DP-4,HDMI-A-3
empty: DP-2,DP-3 bus-ID: 03:00.0 chip-ID: 1002:744c class-ID: 0300
Device-3: Logitech C920 HD Pro Webcam driver: snd-usb-audio,uvcvideo
type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-9.1:10
chip-ID: 046d:0892 class-ID: 0102 serial: <filter>
Display: x11 server: X.Org v: 21.1.8 with: Xwayland v: 23.1.2
compositor: kwin_x11 driver: X: loaded: amdgpu,modesetting unloaded: radeon
alternate: fbdev,intel,vesa dri: radeonsi,iris gpu: amdgpu display-ID: :0
screens: 1
Screen-1: 0 s-res: 4920x2160 s-dpi: 96 s-size: 1300x571mm (51.18x22.48")
s-diag: 1420mm (55.9")
Monitor-1: DP-4 mapped: DisplayPort-3 pos: primary,left
model: Acer XB273K GP serial: <filter> built: 2020 res: 3840x2160 dpi: 163
gamma: 1.2 size: 597x336mm (23.5x13.23") diag: 685mm (27") ratio: 16:9
modes: max: 3840x2160 min: 640x480
Monitor-2: HDMI-A-3 mapped: HDMI-A-2 pos: right model: VG245
serial: <filter> built: 2020 res: 1080x1920 hz: 60 dpi: 92 gamma: 1.2
size: 299x531mm (11.77x20.91") diag: 609mm (24") ratio: 16:9 modes:
max: 1920x1080 min: 720x400
API: OpenGL v: 4.6 Mesa 23.3.0-devel (git-8c62b3938a) renderer: AMD
Radeon RX 7900 XT (gfx1100 LLVM 17.0.0 DRM 3.52 6.4.8-zen1-1-zen)
direct-render: Yes
Audio:
Device-1: Intel vendor: Gigabyte driver: snd_hda_intel v: kernel
alternate: snd_sof_pci_intel_tgl bus-ID: 00:1f.3 chip-ID: 8086:7a50
class-ID: 0403
Device-2: AMD driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
lanes: 16 bus-ID: 03:00.1 chip-ID: 1002:ab30 class-ID: 0403
Device-3: SteelSeries ApS Arctis 7
driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 1.1 speed: 12 Mb/s
lanes: 1 mode: 1.1 bus-ID: 1-5:4 chip-ID: 1038:12ad class-ID: 0300
Device-4: Logitech C920 HD Pro Webcam driver: snd-usb-audio,uvcvideo
type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-9.1:10
chip-ID: 046d:0892 class-ID: 0102 serial: <filter>
API: ALSA v: k6.4.8-zen1-1-zen status: kernel-api with: aoss
type: oss-emulator tools: N/A
Server-1: PipeWire v: 0.3.77 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
Device-1: Realtek RTL8821CE 802.11ac PCIe Wireless Network Adapter
vendor: AzureWave driver: rtw_8821ce v: N/A modules: rtw88_8821ce pcie:
gen: 1 speed: 2.5 GT/s lanes: 1 port: 4000 bus-ID: 06:00.0
chip-ID: 10ec:c821 class-ID: 0280
IF: wlp6s0 state: down mac: <filter>
Device-2: Realtek RTL8125 2.5GbE vendor: Gigabyte driver: r8169 v: kernel
pcie: gen: 2 speed: 5 GT/s lanes: 1 port: 3000 bus-ID: 07:00.0
chip-ID: 10ec:8125 class-ID: 0200
IF: enp7s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Bluetooth:
Device-1: IMC Networks Bluetooth Radio driver: btusb v: 0.8 type: USB
rev: 1.1 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-14:12
chip-ID: 13d3:3533 class-ID: e001 serial: <filter>
Report: bt-adapter ID: hci0 rfk-id: 1 state: up address: <filter>
Drives:
Local Storage: total: 9.08 TiB used: 1.52 TiB (16.7%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
model: WD BLACK SN850X 2000GB size: 1.82 TiB block-size: physical: 512 B
logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
fw-rev: 620281WD temp: 57.9 C scheme: GPT
ID-2: /dev/sda maj-min: 8:0 vendor: Toshiba model: HDWR460 size: 5.46 TiB
block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s tech: HDD
rpm: 7200 serial: <filter> fw-rev: 0601 scheme: GPT
ID-3: /dev/sdb maj-min: 8:16 vendor: Seagate model: ST1500DL003-9VT16L
size: 1.36 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
tech: HDD rpm: 5900 serial: <filter> fw-rev: CC3C scheme: MBR
ID-4: /dev/sdc maj-min: 8:32 vendor: Intel model: SSDSC2BP480G4
size: 447.13 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
tech: SSD serial: <filter> fw-rev: 0420 scheme: GPT
Partition:
ID-1: / raw-size: 60 GiB size: 60 GiB (100.00%) used: 53.07 GiB (88.5%)
fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 1024 MiB size: 1022 MiB (99.80%)
used: 576 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 1.76 TiB size: 1.76 TiB (100.00%)
used: 1.24 TiB (70.3%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
ID-4: /var/log raw-size: 60 GiB size: 60 GiB (100.00%)
used: 53.07 GiB (88.5%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 60 GiB size: 60 GiB (100.00%)
used: 53.07 GiB (88.5%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 31.11 GiB used: 0 KiB (0.0%) priority: 100
dev: /dev/zram0
Sensors:
System Temperatures: cpu: 36.0 C mobo: N/A gpu: amdgpu temp: 60.0 C
mem: 77.0 C
Fan Speeds (RPM): N/A gpu: amdgpu fan: 499
Info:
Processes: 554 Uptime: 8m wakeups: 0 Memory: total: 32 GiB note: est.
available: 31.11 GiB used: 3.92 GiB (12.6%) Init: systemd v: 254
default: graphical tool: systemctl Compilers: gcc: 13.2.1 Packages:
pm: pacman pkgs: 2005 libs: 560 tools: octopi,pamac,paru Shell: fish
v: 3.6.1 default: Bash v: 5.1.16 running-in: konsole inxi: 3.3.28
Garuda (2.6.16-1):
System install date:     2023-01-15
Last full system update: 2023-07-31
Is partially upgraded:   No
Relevant software:       snapper NetworkManager mkinitcpio
Windows dual boot:       No/Undetected
Failed units:

Have you already tried a simple

garuda-update

?
Maybe the corruption was not in the home folder and the update will work.

4 Likes

Yeah, garuda-update just gets me to the same place: everything updates, then when I try to boot, it just hangs after the kernel selection. So that means the corruption is in the / directory? What are steps for fixing that?

Mmm there have been several issues lately with the latest version of the linux-zen kernel.
Strange that you encountered the issue only after a power outage though.
You could try installing the LTS kernel and select it in the GRUB advanced options.

sudo pacman -S linux-lts linux-lts-headers

Then, also after updating, the LTS kernel should work.

1 Like

Sorry, should have mentioned: I've tried linux-mainline with the same results. I can try linux-lts as well. How do I go about removing the kernel versions I'm not using any more?

EDIT: I'm getting tons of 404 errors from a bunch of mirrors for linux-lts.

E.g.

sudo pacman -R linux-mainline linux-mainline-headers

Make sure to keep a kernel installed of course :wink:

If you start from the old snapshot, maybe you’d better garuda-update first (this will refresh your mirrors), then, before rebooting, install the linux-lts kernel.

1 Like

bah; I've got / set up as its own partition, and apparently 60GB is not big enough (even though everything I read said 40 would be way more than you needed). I've cut out most of the snapshots I've got. I think if I need to install linux-lts then I need to get rid of one of the other kernels I've got around. How do I do that?

@filo I'm totally stuck on this disk space issue; should I post another issue for that, or try to solve that in here?

I think you can keep on using this topic.
After deleting as many snapshots as possible and maybe deleting the pacman cache, try performing a btrfs balance.

2 Likes

Thanks! Clearing out the pacman cache did the trick, which I guess makes sense. I was then able to garuda update and then install the linux-lts kernel. Thanks for that!

Unfortunately, booting into it got me the same result I was getting previously--after the kernel selection menu, I get the lines about the kernel and ramdisk loading, and then everything just goes black.

Your case sounds quite similar to mine since LTS isn’t working for you either. I see you have an NVMe device so I think this is worth trying.
Try adding
nvme_core.default_ps_max_latency_us=0 pcie_aspm=off
to your kernel boot parameters (GRUB e to temporarily edit an entry, or use Garuda boot options which may be easier).

If you’re interested in the full thread:

5 Likes

Unfortunately that seems to have made things much worse. After adding those arguments, I can no longer boot at all: I get messags about being unable to find kernels when I select a kernel from the boot menu, and trying to select a snapshot gets me this:

how can I undo this change?

Hmm, I don't know why the image doesn't display here; it works fine on my machine. It says:

ERROR: Root device mounted successfully, but /sbin/init does not exist.
Bailing out, you are on your own. Good luck.

sh: can't access tty: job control turned off
[rootfs ""]#

Uh oh
Since you can still use GRUB, edit the snapshot entry with E and then remove those boot parameters. Ctrl+X will run with those boot params, and from there you can restore your snapshot and revert the change permanently. Sorry to hear this one didn’t work out D:

Do you happen to have a Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader? If so, try blacklisting the modules as described here:
https://bbs.archlinux.org/viewtopic.php?id=288095

In this person’s case, the kernel params previously mentioned didn’t work but blacklisting the kernel modules did the trick.
Since we use dracut, there might be an additional step needed to regenerate the initramfs. Here is what I found in the manpage:

Blacklisting Kernel Modules
Sometimes it is required to prevent the automatic kernel
module loading of a specific kernel module. To do this, just
add rd.driver.blacklist=, with not containing the .ko suffix, to the kernel
command line. For example:

           rd.driver.blacklist=mptsas rd.driver.blacklist=nouveau

       The option can be specified multiple times on the kernel
       command line.

https://man7.org/linux/man-pages/man8/dracut.8.html

If you don’t have this card reader though, then this is still a mystery… :thinking:

1 Like

I can get in to edit the snapshot ok (which is neat; didn't know that was a thing). It looks like those arguments are on a line that says # Modified by garuda-migrations:. When I delete the ones I added and then hit ctrl-x to boot, I end up back with the error message about "you're on your own". Then when I go back to the menu, I can select the snapshot edit it again. When I do that, I see the arguments are still there; do I need to save the change after I remove them somehow?

Yes, editing the snapshot is only a temporary change. To make the change permanent, typically you'd have to use either Garuda boot options or edit /etc/default/grub and then sudu update-grub. On a broken system however, you have to do the latter two options from a live iso using chroot. The Garuda Boot Repair does this for you.

If removing it that way doesn't work and you still get the "you're on your own' message, can you post the output of lsblk -f, cat etc/fstab and ls -l / from within a chroot? The last one is to check whether your /bin and /sbin are symlinks as they should be, so the output should look something like this:

drwx------    - root 25 Mar 16:25  .config
drwxr-xr-x    - root 23 Aug 01:59  .snapshots
lrwxrwxrwx    7 root  1 Feb 07:51  bin -> usr/bin
drwxr-xr-x    - root 23 Aug 01:10  boot
drwxr-xr-x    - root 23 Aug 23:44  dev
drwxr-xr-x    - root  5 Aug 21:19  efi
drwxr-xr-x    - root 23 Aug 01:49  etc
drwxr-xr-x    - root 20 Mar 00:00  home
lrwxrwxrwx    7 root  1 Feb 07:51  lib -> usr/lib
lrwxrwxrwx    7 root  1 Feb 07:51  lib64 -> usr/lib
drwxr-xr-x    - root  1 Feb 07:51  mnt
drwxr-xr-x    - root 21 Jul 00:27  opt
dr-xr-xr-x    - root 23 Aug 01:49  proc
drwxr-x---    - root 18 Aug 23:07  root
drwxr-xr-x    - root 23 Aug 23:49  run
lrwxrwxrwx    7 root  1 Feb 07:51  sbin -> usr/bin
drwxr-xr-x    - root 11 Mar 13:45  srv
dr-xr-xr-x    - root 23 Aug 01:49  sys
drwxrwxrwt    - root 24 Aug 07:54  tmp
drwxr-xr-x    - root 23 Aug 01:06  usr
drwxr-xr-x    - root 23 Aug 01:49  var
.rwxr--r-- 129k root 30 Mar 17:35  .face
.rw-r--r--    7 root 11 Mar 13:47  .garuda-tools

(the unknown characters are folder icons)

Helpful links from searching the error

This is for further reading and also to see whether anything proposed here solves the issue :slight_smile:

Reddit - Dive into anything

Root device mounted successfully, but /sbin/init does not exist - Support - Manjaro Linux Forum

/sbin/init does not exist, systemd nowhere to be found - Support - Manjaro Linux Forum

Reddit - Dive into anything
^ init file nukes itself somehow

Fix Arch Linux boot issues | xpressrazor
^ Kernel command lines to try add

1 Like

I was unable to get Garuda Boot Repair to work, so I'm going for grabbing the info needed from within chroot.

sh-5.1# lsblk -f
NAME        FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
loop0
loop1
loop2
loop3
sda
|-sda1
`-sda2
sdb
`-sdb1
sdc
`-sdc1
sdd
|-sdd1
`-sdd2
zram0                                              [SWAP]
nvme0n1
|-nvme0n1p1
|-nvme0n1p2                            4.6G    92% /
`-nvme0n1p3
sh-5.1# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=1C08-9DAD                            /boot/efi      vfat    umask=0077 0 2
UUID=cf95cbc9-d27b-41f5-acc4-f8824ac2d362 /              btrfs   subvol=/@,defaults,noatime,compress=zstd,discard=async,ssd 0 0
UUID=cf95cbc9-d27b-41f5-acc4-f8824ac2d362 /root          btrfs   subvol=/@root,defaults,noatime,compress=zstd,discard=async,ssd 0 0
UUID=cf95cbc9-d27b-41f5-acc4-f8824ac2d362 /srv           btrfs   subvol=/@srv,defaults,noatime,compress=zstd,discard=async,ssd 0 0
UUID=cf95cbc9-d27b-41f5-acc4-f8824ac2d362 /var/cache     btrfs   subvol=/@cache,defaults,noatime,compress=zstd,discard=async,ssd 0 0
UUID=cf95cbc9-d27b-41f5-acc4-f8824ac2d362 /var/log       btrfs   subvol=/@log,defaults,noatime,compress=zstd,discard=async,ssd 0 0
UUID=cf95cbc9-d27b-41f5-acc4-f8824ac2d362 /var/tmp       btrfs   subvol=/@tmp,defaults,noatime,compress=zstd,discard=async,ssd 0 0
UUID=8bfb4962-61a6-4113-90aa-cc4e026368c6 /home          btrfs   defaults,noatime,compress=zstd,discard=async,ssd 0 0
UUID=e4de8f20-4b1c-414a-b656-30e9a6c1b36c /extra-ssd	 btrfs	 defaults,noatime,compress=zstd,discard=async,ssd 0 0
UUID=d728b2c8-a5b4-4947-bcaf-21cb21f0ebab /storage	 btrfs	 defaults,noatime,compress=zstd 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
192.168.1.152:/home/kestrel/foundry/foundrydata /home/kestrel/Games/5e/foundry/ nfs defaults 0 0
sh-5.1#
sh-5.1# ls -l
total 16
lrwxrwxrwx   1 root root    7 Jan 31  2023 bin -> usr/bin
drwxr-xr-x   1 root root   64 Aug 22 21:58 boot
drwxr-xr-x  21 root root 5280 Aug 23 19:15 dev
drwxr-xr-x   1 root root    0 Aug 17 08:26 efi
drwxr-xr-x   1 root root 5070 Aug 22 21:58 etc
drwxr-xr-x   1 root root    0 Apr 23 23:17 extra-ssd
drwxr-xr-x   1 root root    0 Jan 15  2023 home
lrwxrwxrwx   1 root root    7 Jan 31  2023 lib -> usr/lib
lrwxrwxrwx   1 root root    7 Jan 31  2023 lib64 -> usr/lib
drwxr-xr-x   1 root root    0 Dec  6  2021 mnt
drwxr-xr-x   1 root root  140 Apr 10 14:21 opt
dr-xr-xr-x 531 root root    0 Aug 23 19:35 proc
drwxr-xr-x   1 root root   26 Jul  1 12:48 root
drwxr-xr-x   2 root root   40 Aug 23 19:35 run
lrwxrwxrwx   1 root root    7 Jan 31  2023 sbin -> usr/bin
drwxr-xr-x   1 root root    0 Jan 15  2023 srv
drwxr-xr-x   1 root root    0 Apr 23 19:13 storage
dr-xr-xr-x  13 root root    0 Aug 23 19:15 sys
drwxrwxrwt   2 root root   40 Aug 23 19:35 tmp
drwxr-xr-x   1 root root   80 Aug  6 23:48 usr
drwxr-xr-x   1 root root  126 Aug 17 08:26 var
sh-5.1#

For good measure, here's /etc/default/grub:

sh-5.1# cat /etc/default/grub
# GRUB boot loader configuration

GRUB_DEFAULT="0"
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Garuda"
GRUB_CMDLINE_LINUX_DEFAULT="quiet quiet rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3  # Modified by garuda-migrations: splash  nvme_core.default_ps_max_latency_us=0 pcie_aspm=off"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT=5

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
GRUB_THEME="/usr/share/grub/themes/garuda-dr460nized/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT=true

# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y

# Probing for other operating systems is disabled for security reasons. Read
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
# functionality install os-prober and uncomment to detect and include other
# operating systems.
GRUB_DISABLE_OS_PROBER=false

# This config file imports drop-in files from /etc/default/grub.d/.
for garuda_grub_d in ${sysconfdir}/default/grub.d/*.cfg ; do if [ -e "${garuda_grub_d}" ]; then source "${garuda_grub_d}"; fi; done
sh-5.1#

When I try to grub-install I get this interesting error:

sh-5.1# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=garuda --recheck
Installing for x86_64-efi platform.
grub-install: error: /boot/efi doesn't look like an EFI partition.

oh, and I'm unable to edit /etc/default/grub because I'm out of space on the drive, which is fun.

1 Like

Ok quick sanity check:
If you change the

GRUB_CMDLINE_LINUX_DEFAULT="quiet quiet rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3  # Modified by garuda-migrations: splash  nvme_core.default_ps_max_latency_us=0 pcie_aspm=off"

in etc/default/grub to look like

GRUB_CMDLINE_LINUX_DEFAULT="quiet quiet rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 nvme_core.default_ps_max_latency_us=0 pcie_aspm=off"  # Modified by garuda-migrations: splash 

and then run an update-grub, do you still get the same problems with booting normal kernels and snapshots? Anything after the # is a comment and shouldn't apply to your boot parameters, so it's strange anything changed at all previously.

As for the grub-install error, that's because you also need to mount /dev/nvme0n1p1 as /boot/efi before running it.

1 Like

The problem is that I can't actually change the values in /etc/default/grub. Or at least, I can't save the file after I edit it--it tells me there's no space available. I'm not sure if that's because the drive is actually full, or if it's some byproduct of chroot.

Is that something I should do within chroot, or mount the drive before I chroot?