LINUX.ORG.RU

При загрузке системы возникает ошибка: ALERT UUID=<...> does not exist. Dropping to a shell!

 , , ,


0

1

Здравствуйте!

Недавно занимался установкой Debian через Debootstrap на полностью зашифрованный жёсткий диск (без таблицы разделов, зашифрованный раздел занимает всё пространство). При этом свои личные файлы перенёс в специальную папку, /boot же вынес на флешку. Не могу загрузить установленную систему. При попытке загрузки система запрашивает пароль от жёсткого диска, стартует GRUB, затем, после запуска системы появляется сообщение:

Gave up waiting for root file system device. Common problems:

- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Missing modules (cat /proc/modules; ls /dev)

ALERT UUID=<UUID зашифрованной ФС> does not exist. Dropping to a shell!

Файл /etc/crypttab заполнен следующим образом:

systemdiamonds /dev/disk/by-uuid/<UUID жёсткого диска> none luks

Файл /etc/fstab заполнен следующим образом:

UUID=<UUID зашифрованной ФС> / ext4 rw,user,auto,exec,dev 0 0
UUID=<UUID загрузочной флешки> /boot ext4 defaults 00
/swap none swap defaults 0 0
proc /proc proc defaults 0 0

Не подскажите, в чём может быть причина? И что нужно сделать?

Ответ на: комментарий от anonymous

Забыл сказать, если у тебя хост с uefi на борту, то делай так: efi раздел, остальное под luks в котором lvm (boot, root, swap and etc). В конфиг grub grub_enable_cryptodisk=y. Далее делаешь backup структуры диска(ков) и заголовков luks. Не создавай себе проблем на ровном месте!

Вынос boot на флешку не защитит от сломанных пальцев, от битых почек)

anonymous ()
Ответ на: комментарий от anonymous

Дело в том, что у меня вышел из строя встроенный жёсткий диск, остался только недавно купленный внешний, а там я настроил шифрование сразу с момента покупки. Там были данные, которые не хотелось терять, поэтому другого выбора не было. А шифрование настроено, чтобы можно было не беспокоиться за данные в случае утери или кражи диска, либо попадания к посторонним. Я считаю, что это одна из базовых мер безопасности.

ShiningRiver ()
Ответ на: комментарий от ShiningRiver

Каков процент информации, которая у тебя реально приватная?

Фото, музыка, видео, игры, системные файлы не учитывать, т.к. они в 99% выложены авторами в соц сети или не представляют интереса.

Проекты, фото/видео пикантного характера, рабочие файлы как правило небольшого размера, поэтому проще обойтись небольшими криптоконтейнерами (luks +ext4) с индивидуальным паролями.

anonymous ()
Ответ на: комментарий от anonymous

Прошу отвечать по теме. Диск был зашифрован сразу после покупки, в качестве обычной меры кибербезопасности. Сейчас там важные данные (образ восстановленных данных со старого диска, никуда его не скопируешь), поэтому сносить шифрование не представляется без какой-либо потери данных не представляется возможным. Меня интересует, как можно решить возникшую проблему с загрузкой. Похоже, что шифрование почему-то не поддерживается в initramfs, поскольку там не работала команда cryptsetup. Возможно, поэтому система и не может загрузиться. Вопрос только в том, как исправить получившуюся ситуацию, может, модуль какой добавить или пакет установить.

ShiningRiver ()
  • Обнови initramfs и grub.
  • Проверь правильность указанного UUID, в т.ч. в fstab.
  • Укажи /dev/sd? вместо UUID - udev может не успевать создать нужную ссылку.
anonymous ()

Initramfs должен быть собран тоже с поддержкой шифрования диска.

В итоге пароль для расшифровки контейнера тебе нужно вводить дважды.

Первый раз при старте загрузчика, второй раз на этапе работы initramfs, что бы ядро получило доступ к расшифрованный файловой системе.

В принципе, если ты вводишь пароль во время работы загрузчика и планируешь держать шифрованный boot, то ключ для расшифровки можно поместить куда-нибудь в initramfa.

kostik87 ★★★★★ ()
Ответ на: комментарий от kostik87

Initramfs должен быть собран тоже с поддержкой шифрования диска.

А как это сделать? Понадобится ли собирать его из исходных кодов, или можно через репозиторий? Или пакет можно найти?

ShiningRiver ()