Система больше не загружается, отказалась от ожидания корневого устройства (initramfs), / dev / mapper / gnome-root не существует

После установки обновления моя система больше не загружается. У меня включено полное шифрование диска (то, которое установщик установил для вас), поэтому обычно оно запрашивает ключ только через несколько секунд после загрузки после GRUB. Теперь он пропускает запрос ключа, пытается загрузить Gnome, а затем переходит на экран, показанный ниже. Система представляет собой 64-разрядную версию System76 под управлением Ubuntu Gnome 13.04. Это случилось со мной однажды в прошлом, на Dell XPS 8300 64-разрядной версии Ubuntu Gnome Remix 12.10. В этом случае я переустановил ОС. Однако на этот раз я хочу решить проблему, чтобы знать, как ее решить в будущем. Кроме того, крайне неудобно переустанавливать с нуля.

Я подозреваю, что что-то напортачило в файле конфигурации в / boot так, что он не понимает, что диск зашифрован, но я ничего не видел, когда выискал там. У вас есть идеи, как это исправить (кроме переустановки ОС)?

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/mapper/gnome-root does not exist.   
Dropping to a shell! 

BusyBox v.1.20.2 (Ubuntu 1:1.20.2-1ubuntu1) built-in shell (ash)   
Enter 'help' for list of built-in commands.  

(initramfs)
10
задан 4 September 2016 в 18:16

4 ответа

Я всё исправил !!! Для будущих поколений, так что вам не придется переживать мучительные дни и бесконечные часы, которые я делал:

Во-первых, я смог загрузить систему из командной строки (initramfs), набрав следующее ( Я использовал эту страницу форума как опору):

cryptsetup luksOpen /dev/sda5 sda5_crypt
lvm vgchange -a y
exit

Это заставило мою систему загрузиться правильно. После загрузки я изменил /etc/crypttab так, чтобы он указывал на другой UUID, чем раньше. Я выбрал UUID из моего /etc/fstab. Сохраните исходное значение UUID. Вам это понадобится в несколько шагов. Затем я запустил (из терминала):

update-initramfs -k all -c

Если вы получите предупреждение, которое выглядит примерно так или что-то похожее:

WARNING: invalid line in /etc/crypttab

, тогда вернитесь к началу и вместо [ 116], используйте то, что находится в вашем crypttab.

1118 Затем я перезагрузился. На этот раз я получил приглашение для ключевой фразы! Но не слишком волнуйтесь, потому что это не сработало. Я ввел правильный пароль около 7 раз, и он отклонил их все. Затем он вернулся к приглашению (initramfs) примерно через 90 секунд.

1119 Я повторил первый шаг и снова загрузил его. Затем я восстановил исходное значение UUID в crypttab и перезапустил второй шаг. Я тогда перезагрузился и УСПЕХА!

0
ответ дан 4 September 2016 в 18:16

Убедитесь, что в вашей системе установлено cryptsetup, возможно, оно было удалено с помощью команды apt-get autoremove. Подробнее .

0
ответ дан 4 September 2016 в 18:16

Исправьте ваш grub через загрузку через live-cd / live-usb. См. на этой странице для получения подробной информации о процессе. См. Раздел «через терминал LiveCD» на странице.

Исправление grub должно исправить любой искаженный файл, который у вас может быть в конфигурации grub.

0
ответ дан 4 September 2016 в 18:16

Так как полное шифрование диска было опцией в Ubuntu 14.04, я просто хотел указать, как я решил эту проблему, так как мой initramfs терминал не позволил мне использовать cryptsetup:

  1. Начальная загрузка от Живого DVD/USB (USB будет намного быстрее).

  2. Откройте Terminal и введите следующее:

    sudo -i
    cryptsetup luksOpen /dev/sda5 sda5_crypt
    # (do any lvm management you need here, I didn't need any.)
    mkdir /mnt/system
    mount /dev/mapper/ubuntu--vg-root /mnt/system
    mount /dev/sda2 /mnt/system/boot
    mount /dev/sda1 /mnt/system/boot/efi (May or may not be needed.)
    for i in /dev/pts /dev /proc /sys; do mount -B $i /mnt/system$i; done
    chroot /mnt/system
    update-initramfs -k all -c
    exit
    for i in /dev/pts /dev /proc /sys; do umount /mnt/system$i; done
    umount /mnt/system/boot/efi # (If you have UEFI.)
    umount /mnt/system/boot
    umount /mnt/system
    
  3. Перезагрузка и надежда это работает.

5
ответ дан 4 September 2016 в 18:16

Другие вопросы по тегам:

Похожие вопросы: