Linux Kernel Panic — Not Syncing: VFS Unable to Mount Root
Criticalboot
Overview
Fix Linux kernel panic 'not syncing: VFS: Unable to mount root fs' caused by missing initramfs, wrong root= parameter, or missing filesystem drivers.
Key Details
- Kernel panic 'VFS: Unable to mount root fs on unknown-block' means the kernel cannot find the root filesystem
- The kernel loads, but cannot mount / to continue booting into userspace
- initramfs (initial RAM filesystem) contains drivers needed to access the real root filesystem
- Missing initramfs means no drivers for SATA, NVMe, RAID, or LVM needed to read the root partition
- Wrong root= kernel parameter points to a non-existent or differently named partition
Common Causes
- Missing or corrupted initramfs/initrd image
- Kernel updated but initramfs not regenerated
- Wrong root= parameter in GRUB config (UUID changed or partition reordered)
- Filesystem driver not compiled into kernel or initramfs (ext4, xfs, btrfs)
- LVM, RAID, or LUKS encryption drivers missing from initramfs
Steps
- 1Boot from Live USB and mount root: sudo mount /dev/sdXY /mnt
- 2Chroot: mount --bind /dev /mnt/dev && mount --bind /proc /mnt/proc && mount --bind /sys /mnt/sys && chroot /mnt
- 3Regenerate initramfs: update-initramfs -u (Debian/Ubuntu) or dracut -f (Fedora/RHEL)
- 4Verify root= in GRUB: cat /boot/grub/grub.cfg | grep root= — compare UUID with blkid
- 5Update GRUB: update-grub to regenerate config with correct UUIDs
Tags
linuxkernel-panicbootinitramfsvfs
More in Boot
windows-error-0xc0000034Windows Boot Error 0xC0000034 — Missing Boot Configuration Data
Criticalwindows-error-0xc00000e9Windows Boot Error 0xC00000E9 — Unexpected I/O Error
Criticalwindows-error-0xc0000098Windows Boot Error 0xC0000098 — BCD Missing OS Entry
Criticalmac-prohibitory-symbol-bootMac Prohibitory Symbol (Circle with Line) — Boot Volume Not Compatible
Criticallinux-grub-unknown-filesystemLinux GRUB Error Unknown Filesystem
Criticallinux-kernel-panicLinux Kernel Panic — Not Syncing
CriticalFrequently Asked Questions
A temporary root filesystem loaded into RAM at boot containing drivers and tools needed to mount the real root filesystem.