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