Gave up waiting for root device

· 169 words · 1 minute read

Gave up waiting for root device. Common problems:

  • Boot args (cat /proc/cmdline)
  • Check rootdelay= (did the system wait long enough?)
  • Check root= (did the system wait for the right device?)
  • Missing modules (cat /proc/modules; ls /dev)
    ALERT! /dev/disk/by-uuid/XXX does not exist. Dropping to a shell!

Это означает, что Initrd не видит раздела по UUID. В случае, если просто слетела UUID ссылка раздела, то надо загрузиться с livecd. Смотрим разделы:

sudo fdisk -l

Просмотреть UUID:

bop0hz@it04:~$ blkid
/dev/sda1: UUID=“f89a7990-0e3f-4491-9103-9dcf1528b375″ TYPE=“ext4″
/dev/sdb1: UUID=“76751fea-5213-4a94-96be-683cd3b91324″ TYPE=“swap”
/dev/sdb2: UUID=“a8b47783-65ad-4502-aa16-ee242d71faa8″ TYPE=“ext4″
/dev/sdb3: UUID=“c211552c-4871-4b91-8649-fae4231c532e” TYPE=“ext4″

Предварительно создаем папку для монтирования и монтируем раздел (вместо sda1 - нужный раздел):

sudo mkdir /mnt/123
sudo mount -t ext4 /dev/sda1 /mnt/123

Далее нужно chroot’иться в раздел

sudo mount -bind /proc /mnt/123/proc
sudo mount -bind /dev /mnt/123/dev
sudo chroot /mnt/123

Сгенерировать UUID:

uuidgen

Присвоить UUID разделу:

tune2fs -U uuid /dev/sda1

где sda1 - нужный раздел, uuid - сгенерированный UUID

Дальше правим /etc/fstab - подставляем новый UUID, который сгенерировали и делаем

update-grub

Убедиться что uuid ссылается на нужный раздел:

ls -l /dev/disk/by-uuid/

(Gave up waiting for root device)