Unable to boot into freshly installed system due to vfs unable to mount root fs on unknown block(0 0)

Hi I tried to install a Garuda Linux and completely wiped all old partitions. During installation I did not see any errors but when I boot I get. vfs unable to mount root fs on unknown block(0 0)(when freshly installed there’s a longer message but I tried using chroot and updating system). I already tried reinstalling multiple times. I also tried to chroot(using button in live usb) and when I do that I see this output:

grub-probe: error: cannot find a GRUB drive for /dev/sdc2.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdc2.  Check your device.map.
==> Mounting (Garuda_Linux) [/dev/sda2]
--> mount: [/mnt]
--> mount: [/mnt/boot/efi]
--> mount: [/mnt/home]
--> mount: [/mnt/root]
--> mount: [/mnt/srv]
--> mount: [/mnt/var/cache]
--> mount: [/mnt/var/log]
--> mount: [/mnt/var/tmp]

I tried to use garuda-update once and it just changed the way blue screen looks but error seems to be the same. Also I am not sure if this is related to this issue or not but I was only able to boot into live usb from Ventoy only by using grub2 mode. I would see black screen or black screen with single short white line(depending on edition) otherwise

garuda-inxi output from live usb:


System:
Kernel: 6.13.5-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
clocksource: tsc avail: hpet,acpi_pm
parameters: BOOT_IMAGE=/boot/vmlinuz-x86_64 lang=en_US keytable=us tz=UTC
misobasedir=garuda root=miso:LABEL=GARUDA_DR460NIZEDGAMING_BROADWIN quiet
systemd.show_status=1 checksum=y driver=free nouveau.modeset=1
i915.modeset=1 radeon.modeset=1 rdinit=/vtoy/vtoy
Desktop: KDE Plasma v: 6.3.2 tk: Qt v: N/A info: frameworks v: 6.11.0
wm: kwin_x11 vt: 2 dm: SDDM Distro: Garuda base: Arch Linux
Machine:
Type: Desktop Mobo: ASUSTeK model: P8B75-M LE v: Rev X.0x
serial: <superuser required> part-nu: SKU uuid: <superuser required>
UEFI: American Megatrends v: 0402 date: 03/07/2012
CPU:
Info: model: Intel Core i5-3450 bits: 64 type: MCP arch: Ivy Bridge
gen: core 3 level: v2 built: 2012-15 process: Intel 22nm family: 6
model-id: 0x3A (58) stepping: 9 microcode: 0x21
Topology: cpus: 1x dies: 1 clusters: 4 cores: 4 smt: <unsupported> cache:
L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
L3: 6 MiB desc: 1x6 MiB
Speed (MHz): avg: 1597 min/max: 1600/3500 scaling: driver: intel_cpufreq
governor: performance cores: 1: 1597 2: 1597 3: 1597 4: 1597 bogomips: 24743
Flags: avx ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3
Vulnerabilities: <filter>
Graphics:
Device-1: Advanced Micro Devices [AMD/ATI] Polaris 20 XL [Radeon RX 580
2048SP] vendor: Sapphire driver: amdgpu v: kernel arch: GCN-4
code: Arctic Islands process: GF 14nm built: 2016-20 pcie: gen: 3
speed: 8 GT/s lanes: 8 link-max: lanes: 16 ports: active: HDMI-A-1
empty: DP-1,DVI-D-1 bus-ID: 01:00.0 chip-ID: 1002:6fdf class-ID: 0300
temp: 50.0 C
Display: x11 server: X.Org v: 21.1.16 with: Xwayland v: 24.1.6
compositor: kwin_x11 driver: X: loaded: amdgpu unloaded: modesetting
alternate: fbdev,vesa dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
s-diag: 582mm (22.93")
Monitor-1: HDMI-A-1 mapped: HDMI-A-0 model: Philips 221V serial: <filter>
built: 2011 res: mode: 1920x1080 hz: 60 scale: 100% (1) dpi: 102 gamma: 1.2
size: 477x268mm (18.78x10.55") diag: 547mm (21.5") ratio: 16:9 modes:
max: 1920x1080 min: 720x400
API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
device: 1 drv: swrast gbm: drv: kms_swrast surfaceless: drv: radeonsi x11:
drv: radeonsi inactive: wayland
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.3.4-arch1.1
glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 580 2048SP (radeonsi
polaris10 LLVM 19.1.7 DRM 3.61 6.13.5-zen1-1-zen) device-ID: 1002:6fdf
memory: 7.81 GiB unified: no
API: Vulkan v: 1.4.304 layers: 8 device: 0 type: discrete-gpu name: AMD
Radeon RX 580 2048SP (RADV POLARIS10) driver: N/A device-ID: 1002:6fdf
surfaces: xcb,xlib device: 1 type: cpu name: llvmpipe (LLVM 19.1.7 256
bits) driver: N/A device-ID: 10005:0000 surfaces: xcb,xlib
Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
de: kscreen-console,kscreen-doctor gpu: corectrl wl: wayland-info
x11: xdpyinfo, xprop, xrandr
Audio:
Device-1: Intel 7 Series/C216 Family High Definition Audio
vendor: ASUSTeK P8H77-I driver: snd_hda_intel v: kernel bus-ID: 00:1b.0
chip-ID: 8086:1e20 class-ID: 0403
Device-2: Advanced Micro Devices [AMD/ATI] Ellesmere HDMI Audio [Radeon
RX 470/480 / 570/580/590] vendor: Sapphire driver: snd_hda_intel v: kernel
pcie: gen: 3 speed: 8 GT/s lanes: 8 link-max: lanes: 16 bus-ID: 01:00.1
chip-ID: 1002:aaf0 class-ID: 0403
API: ALSA v: k6.13.5-zen1-1-zen status: kernel-api with: aoss
type: oss-emulator tools: N/A
Server-1: PipeWire v: 1.2.7 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 RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
vendor: ASUSTeK P8 series driver: r8169 v: kernel pcie: gen: 1
speed: 2.5 GT/s lanes: 1 port: d000 bus-ID: 03:00.0 chip-ID: 10ec:8168
class-ID: 0200
IF: enp3s0 state: up speed: 100 Mbps duplex: full mac: <filter>
Info: services: NetworkManager,systemd-timesyncd
Drives:
Local Storage: total: 952 GiB used: 17.99 GiB (1.9%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/sda maj-min: 8:0 vendor: Kingston model: SA400S37960G
size: 894.25 GiB block-size: physical: 512 B logical: 512 B speed: <unknown>
tech: SSD serial: <filter> fw-rev: Z1.3 scheme: GPT
ID-2: /dev/sdb maj-min: 8:16 vendor: Kingston model: DataTraveler 3.0
size: 57.75 GiB block-size: physical: 512 B logical: 512 B type: USB
rev: 2.1 spd: 480 Mb/s lanes: 1 mode: 2.0 speed: <unknown> tech: N/A
serial: <filter> fw-rev: PMAP scheme: MBR
SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
Partition:
Message: No partition data found.
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 7.69 GiB used: 140.2 MiB (1.8%)
priority: 100 comp: zstd avail: lzo-rle,lzo,lz4,lz4hc,deflate,842
max-streams: 4 dev: /dev/zram0
Sensors:
System Temperatures: cpu: 39.0 C mobo: N/A gpu: amdgpu temp: 50.0 C
Fan Speeds (rpm): N/A gpu: amdgpu fan: 139
Info:
Memory: total: 8 GiB available: 7.69 GiB used: 3.44 GiB (44.8%)
Processes: 257 Power: uptime: 13m states: freeze,standby,mem,disk
suspend: deep avail: s2idle,shallow wakeups: 0 hibernate: platform
avail: shutdown, reboot, suspend, test_resume image: 3.04 GiB
services: org_kde_powerdevil, power-profiles-daemon, upowerd Init: systemd
v: 257 default: graphical tool: systemctl
Packages: pm: pacman pkgs: 1768 libs: 525 tools: octopi,paru Compilers:
clang: 19.1.7 gcc: 14.2.1 Shell: garuda-inxi default: fish v: 4.0.0
running-in: konsole inxi: 3.3.37
warning: database file for 'garuda' does not exist (use '-Sy' to download)
warning: database file for 'core' does not exist (use '-Sy' to download)
warning: database file for 'extra' does not exist (use '-Sy' to download)
warning: database file for 'multilib' does not exist (use '-Sy' to download)
warning: database file for 'chaotic-aur' does not exist (use '-Sy' to download)
Garuda (2.7.2-1):
System install date:     2025-04-20
Last full system update: 2025-04-20 ↻
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut
Windows dual boot:       <superuser required>
Failed units:            snapper-cleanup.service

Well, if it’s a GRUB problem, you could try a sudo grub-install from the local installation to re-install it. It should automatically create boot entries for any OS it finds.

For garuda, there is garuda-update remote fullfix to “reset pacman.conf, refresh keyrings, and reinstall all packages in your OS.”. See garuda-update --help for more options.

Do make sure you chroot into the correct environment or this could just make things worse.

When in your local installation, check /boot/efi exists. It has to be a separate FAT32 partition with at least 300MB.

If this doesn’t help, posting your full lsblk might be helpful.

Thanks for your reply
For purity of experiment I reinstalled Garuda once again. And this time with Windows alongside. Then executed both grub install and garuda-update remote fullfix from chroot. It didn’t help. Also now when I chroot before grub-probe errors here are

/usr/lib/os-probes/50mounted-tests: line 186:  7054 Segmentation fault      (core dumped) grub-mount "$partition" "$tmpmnt" 2> /dev/null
/usr/lib/os-probes/50mounted-tests.orig: line 72:  7069 Segmentation fault      (core dumped) grub-mount "$partition" "$tmpmnt" 2> /dev/null
/usr/lib/os-probes/50mounted-tests: line 186:  7090 Segmentation fault      (core dumped) grub-mount "$partition" "$tmpmnt" 2> /dev/null
/usr/lib/os-probes/50mounted-tests.orig: line 72:  7105 Segmentation fault      (core dumped) grub-mount "$partition" "$tmpmnt" 2> /dev/null

These messages already appeared but I managed to fix them somehow(I don’t remember how).
Here’s output of lsblk

NAME       MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0        7:0    0  17.9M  1 loop
loop1        7:1    0 432.5M  1 loop
loop2        7:2    0   2.9G  1 loop
loop3        7:3    0 796.9M  1 loop
sda          8:0    0 894.3G  0 disk
|-sda1       8:1    0   100M  0 part /boot/efi
|-sda2       8:2    0    16M  0 part
|-sda3       8:3    0 295.7G  0 part
|-sda4       8:4    0   547M  0 part
`-sda5       8:5    0 597.9G  0 part /var/tmp
/var/log
/var/cache
/srv
/root
/home
/
sdb          8:16   1  57.8G  0 disk
|-sdb1       8:17   1  57.7G  0 part
| |-ventoy 254:0    0   4.2G  0 dm
| `-sdb1   254:1    0  57.7G  0 dm
`-sdb2       8:18   1    32M  0 part
sdc          8:32   1     0B  0 disk
zram0      253:0    0   7.7G  0 disk [SWAP]

Mmh… Comparing this to my setup, using different physical disks, it strikes me that Windows uses 4 partitions and Linux uses 2 (at least), but you only have 5. Also, sda1 which is mounted to /boot/efi only has 100MB. That’s the Windows size, wheras Calamares uses 300MB as a default.

Remember me saying earlier that Redmond eliminates the competition if installed after Linux? (That was a different thread.)

Looks like Windows killed the Linux bootloader partition.

This is what is looks like on my system. nvme0 is Windows and nvme1 is Garuda.

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0 931,5G  0 disk
└─sda1        8:1    0 931,5G  0 part
zram0       253:0    0    31G  0 disk [SWAP]
nvme0n1     259:0    0   1,8T  0 disk
├─nvme0n1p1 259:1    0   100M  0 part
├─nvme0n1p2 259:2    0    16M  0 part
├─nvme0n1p3 259:3    0   1,8T  0 part
└─nvme0n1p4 259:4    0  1000M  0 part
nvme1n1     259:5    0   1,8T  0 disk
├─nvme1n1p1 259:6    0   300M  0 part /boot/efi
├─nvme1n1p2 259:7    0   1,8T  0 part /home
│                                     /root
│                                     /var/log
│                                     /var/cache
│                                     /srv
│                                     /var/tmp
│                                     /

It would probably be easier to re-install everything over trying to fix this mess. But make sure to install Windows first, then Linux. In Calamares, make sure to do manual paritioning to preserve all Windows partitions as is.

Why? M$ is installed.

Instead install everything again:
You can chroot and repair grub, often explained in this forum.

If so, it is sufficient to install Garuda next to M$ on the corresponding partition. There is no need to partition anything yourself.

And just use lsblk -f, looks like

lsblk -f | grep 'sd|NAME|nvme'
NAME        FSTYPE FSVER LABEL       UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1
├─nvme0n1p1 vfat   FAT32 SYSTEM_DRV  94BA-ECE1                             219,7M    14% /boot/efi
├─nvme0n1p2
├─nvme0n1p3 ntfs         Windows-SSD A2A8BB95A8BB6707
├─nvme0n1p4 ntfs         WINRE_DRV   B8F6BC25F6BBE234
├─nvme0n1p5 btrfs        KDE         fc62cc44-07ab-497b-ac89-15704c290993
├─nvme0n1p6 btrfs        Mokka       49ae3946-10bd-4d2e-9647-90ed35398039   96,9G    21% /home
└─nvme0n1p7 btrfs        i3wm        21e02e96-0ed6-4629-9a39-85ffee7a4359
3 Likes

After that you must use

sudo update-grub

is not needed

3 Likes

I actually recommended that first, but it didn’t work. Possibly, because the sda1 partition mounted to /boot/efi has been overwritten and shrinked by Windows.

But yes, if Windows works, there is no need to reinstall that. Just clean up the Linux partitions and go from there.

I use 4 OS on this notebook, my efi use 260 MB

the OS’s need just 40.29 MB, so for two OS 100 MB are enough I think, but I can fail :slight_smile:

2 Likes

Reinstalling and partitioning manually did not help at all. Same issue

Is using button in welcome menu to chroot appropriate for this tutorial?

running update-grub outputs this

Generating grub configuration file ...
Found theme: /usr/share/grub/themes/garuda-dr460nized/theme.txt
Found linux image: /boot/vmlinuz-linux-zen
Found initrd image: /boot/initramfs-linux-zen.img
Found fallback initrd image(s) in /boot:  initramfs-linux-zen-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
grub-probe: error: cannot find a GRUB drive for /dev/sdc2.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdc2.  Check your device.map.
Detecting snapshots ...
Found snapshot: 2025-04-20 16:34:59 | @/.snapshots/2/snapshot | post | abseil-cpp ada adwaita-cursors adwaita-fonts adwaita-icon-theme alsa-car |
Found snapshot: 2025-04-20 16:32:20 | @/.snapshots/1/snapshot | pre  | N/A                                                         |
Found 2 snapshot(s)
Unmount /tmp/grub-btrfs.d3LOFlsFXX .. Success
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

Yes, if you set the chroot with the GUI tool you can skip down to this part:

That looks good, assuming sdc is your thumb drive or something else.

If that’s the case updating grub didn’t help. Same issue

Not direct your problem but your MB like a bios update
After this, check the relevant entries that you can boot your garuda linux.

Which 4 OS do you have on the Notebook SGS?
Just interested that’s all.

A question is for me, what is sdc ?

Disconnect pls..before you work on your system.
Some error messages come from this. If this relevant, not shure, i mean not.

@ Hamster … these or ?

1 Like

That is, if your initramfs is not sync to kernel boot (grub)
Use the live iso → chroot and rebuild your initramfs
dracut-rebuild then run update-grub
result = ?

What is the blue screen? Is there a message?

If it looks like this, check that secure boot is disabled:

2 Likes

Thanks everyone for trying to help to solve this problem but I decided to go with pure Arch instead(primarily because of performance). Even there I had some issues with setting up grub but after I mounted Windows boot partition properly everything seems to work fine. Sorry for not finishing this. (should i mark this as solution?)