← 返回

'Cannot open root device' or 'volume group xxx not found' when booting with a Linux Kernel

Problem

VFS: Cannot open root device "sda1" or unknown-block(0,0) 
Please append a correct "root=" boot option 
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown block(0,0)

Or

Volume group "vgubuntu-studio" not found
Cannot process volume group vgubuntu-studio 
Gave up waiting for root file system device.

Root Cause

SATA/SAS controller driver not loaded.

Fixing Procedure

  1. Booting with any kind of Linux Live CD

  2. Mounting pseudo file system [[Mounting Pseudo File System]]

  3. Changing running root chroot /path/to/new/root /bin/bash

  4. Show PCIs and compatible kernel modules [[Command - lspci]] lspci -k

  5. Rebuilding the kernel modules

    cd /usr/src/linux && make menuconfig
    make && make modules_install
    mount /boot
    mount /boot/EFI  # ONLY if necessary
    make install
    
  6. Regenerating initramfs

    dracut -a lvm --kver=x.y.zz-gentoo --force
    
  7. Regenerating GRUB menu list

    grub-mkconfig | grep <Volume Group Name>
    grub-mkconfig -o /boot/grub/grub.cfg
    

Examples for VMware and Lenovo T420 booting issue

  • For VMware:

    • Kernel Module

      • SPIMPT
    • Location

      Device Drivers  ---> 
      [*] Fusion MPT device support  --->
          <*>   Fusion MPT ScsiHost drivers for SPI 
      
  • For Lenovo T420

    • Kernel Module

      • AHCI
    • Location

      Device Drivers  --->
      <*> Serial ATA and Parallel ATA drivers (libata)  --->
          <*>   AHCI SATA support
      

Must be configured as a built-in kernel module!!!

Comments

Loading comments...

Leave a comment