Система больше не загружается, отказалась от ожидания корневого устройства (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)
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
затем вернитесь к началу и вместо sda5_crypt, используйте то, что в вашем crypttab,
Я тогда перезагрузил. На этот раз я получил приглашение для ключевой фразы! Но не слишком волнуйтесь, потому что это не сработало. Я ввел правильный пароль около 7 раз, и он отклонил их все. Затем он вернулся к (initramfs) подскажите примерно через 90 секунд.
Я повторил первый шаг и снова загрузился. Затем я восстановил исходное значение UUID в crypttabи повторить второй шаг. Я тогда перезагрузился и УСПЕХА!
Поскольку в Ubuntu 14.04 была опция полного шифрования диска, я просто хотел указать, как я решил эту проблему, поскольку мой терминал initramfs не позволял мне использовать cryptsetup:
Загрузитесь с Live DVD/USB (USB будет намного быстрее).
Откройте Терминал и введите следующее:
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Перезагрузитесь и надеюсь, что это работает.
Исправьте ваш grub путем загрузки через live-cd/live-usb. Обратитесь к этой странице для получения подробной информации о процессе. Обратитесь к разделу "через терминал LiveCD" на странице.
Исправление grub должно исправить любой искаженный файл, который может быть в конфигурации grub.
Проверьте, есть ли у вас cryptsetup установлен в вашей системе, он мог быть удален с помощью apt-get autoremove, Больше информации