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


10

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

Я підозрюю, що щось конфігурується у конфігураційному файлі в / 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)

Відповіді:


9

Я це виправив !!! Для наступних поколінь, тож вам не доведеться проходити через мучні дні та нескінченні години, які я робив:

По-перше, я зміг змусити систему завантажитися із (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

потім поверніться до початку і замість цього sda5_cryptвикористовуйте те, що є у вас crypttab.

Потім я перезавантажився. Цього разу я отримав підказку про парольну фразу! Але не надто хвилюйтеся, бо це не спрацювало. Я ввів правильний пароль близько 7 разів, і він їх усіх відхилив. Потім він повернувся до (initramfs)підказки приблизно через 90 секунд.

Я повторив перший крок і знову його завантажив. Потім я відновив початкове значення UUID до crypttabта повторно виконав крок другий. Потім я перезавантажився, і Успіх!


5

Оскільки шифрування повного диска є опцією в Ubuntu 14.04, я просто хотів зазначити, як я вирішив цю проблему, оскільки мій термінал initramfs не дозволив мені використовувати cryptsetup:

  1. Завантажтеся з живого DVD / USB (USB буде набагато швидше).

  2. Відкрийте термінал і введіть наступне:

    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. Перезавантажте та сподівайтеся, що це спрацює.


Мені це рішення сподобалось більше, тому що мені не довелося зрозуміти, як отримати підказку initramfs або зробити більше одного перезавантаження. У моєму випадку я перейшов з Ubuntu 15.04 до 15.10 і більше не міг розблокувати диск під час завантаження. Одним із додатків є те, що я виявив, що ім'я відображення, яке надається у рядку 2 (наприклад, sda5_crypt), має відповідати вашому файлу криптовалюти.
Der Wolf

1
Вищезазначене працює лише у вас /etc/crypttab. Після введення chroot за описаними вище кроками, але перед запуском update-initramfsзапустіть nano /etc/crypttabі переконайтеся, що там є рядок з ім'ям картографа та UUID накопичувача. Якщо файл не існує або порожній, update-initramfsпроблему не виправлять! Додайте рядок криптовалют, перебуваючи в середовищі chroot. Цю відповідь слід відредагувати, щоб відобразити це. Крім того, я думаю, що cryptsetupіснує лише у запиті initramfs, якщо /etc/crypttabіснує та має записи, коли initramfs оновлюється.
Нік

0

Виправте свою грубку за допомогою завантаження через live-cd / live-usb. Детальну інформацію про процес див. На цій сторінці . Перегляньте розділ "через термінал LiveCD" на сторінці.

Виправлення grub має виправити будь-який неправильно сформований файл, який у вас може бути в конфігурації grub.


Дякую за пораду. Я спробував усе, що ви запропонували, але безрезультатно. Я просто зрозумів це, хоча. Це досить божевільно ...
Freedom_Ben

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.