Сломана загрузка Debian при попытке автоматического монтирования зашифрованного раздела

Я сделал довольно тщательно зашифрованную, сбалансированную и хорошо работающую файловую систему с помощью dm-crypt/LUKS/cryptsetup, но я допустил ошибку, оставив домашнюю папку незашифрованной при первой установке Debian (jessie).

Поскольку эта система превратилась в высокоорганизованную и очень упрощенную систему, на создание которой ушли недели, я хотел зашифровать домашнюю папку с минимальными изменениями в системе. У меня уже был большой зашифрованный раздел на отдельном диске для пользовательских документов и проектов, поэтому я подумал: почему бы просто не переместить туда данные домашней папки и вместо этого указать на них Debian?

Это, очевидно, повлечет за собой автоматическое монтирование зашифрованного раздела, который я хочу использовать при каждой загрузке. В настоящее время он монтируется только при необходимости, используя скрипт, который вызывает "cryptsetup luksOpen" и "mount". Поэтому, прежде чем вводить "usermod -d" и редактировать "HOME=" в "/etc/default/useradd", первым делом нужно было автоматически смонтировать существующий работающий зашифрованный раздел. Просто, правда?

Ну, я как-то напутал, потому что теперь система не загружается...

Вот что я сделал:

Внимательно прочитав тему, чтобы убедиться, что я ничего не пропустил, я отредактировал "/etc/crypttab" и "/etc/fstab" в этом порядке.

Мой crypttab был прост: он содержал две строки. Они оба были добавлены установщиком Debian, когда система была новой, и у меня никогда не было проблем с ними:

sda2_fsroot UUID = deadbeef-dead-beef-dead-beefdeadbeef none luks

sda3_swappart UUID = beefdead-beef-dead-beef-deadbeefdead none luks, swap

(Очевидно, я изменил UUID для этого поста)

(Да, я знаю, что мог бы просто использовать urandom в качестве ключевого файла для свопа. Сначала я хочу это исправить)

Я не был уверен, какой UUID добавить в дополнительную строку, которую я собирался поставить там, потому что blkid показал и "UUID", и "PARTUUID" для раздела, который я пытался автоматически смонтировать (это раздел GPT). Мне было трудно найти конкретные ответы по этому поводу, поэтому я решил просто обдумать это и следовать инструкции, введя UUID следующим образом:

документы UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx нет

(Здесь x - UUID, а не PARTUUID раздела, который я хотел смонтировать. Мой источник был blkid, и я скопировал его, чтобы убедиться, что все правильно)

(Это было добавлено как новая строка непосредственно под существующими двумя строками в crypttab)

Затем я сохранил crypttab и открыл fstab. В fstab я просто добавил следующую строку прямо под нижней (это был DVD-привод):

/ dev / mapper / документы / хранилище / документы ext4 по умолчанию 0 2

(Здесь "/storage/documents" - папка и точка монтирования, которые я всегда использовал для этого раздела)

Параметры "ext4", "defaults", "0" и "2" должны быть правильными в соответствии с тем, что я прочитал и сделал, и просто для защиты от глупых ошибок, таких как использование табуляции вместо пробела, я фактически скопировал эти параметры из существующей рабочей строки для sda2_fsroot (будет ясно: sda2_fsroot монтируется как /).

Затем, после некоторого дополнительного поиска в Интернете и чтения, я неохотно (так как это похоже на операцию на сердце) запустил с правами root:

update-initramfs -u

Затем я перезагрузился. И это не работает...

Я получаю приглашение ввести пароль для fsroot и swappart. Я ввожу оба пароля и получаю сообщение, что блоки в fsroot выглядят нормально. И тогда ничего. Меня никогда не спрашивают пароль для документов. Загрузка никогда не продолжается.

Перезагрузка в режиме восстановления не помогает. Он тоже зависает в процессе загрузки.

Поскольку я хотел принять меры предосторожности, какими бы простыми это ни казалось, я фактически сделал резервную копию четырех файлов в /boot/ (vmlinuz, initramfs и двух других), прямо перед тем, как я внес изменения в crypttab и fstab и запустил update-initramfs.

Поэтому, не найдя ответов на этот вопрос в Интернете, я загрузил живой DVD-диск Debian, подтвердил, что все мои зашифрованные диски все еще не повреждены и монтируются, как обычно, и попытался восстановить четыре файла в /boot/ в их прежнем состоянии, как я подозреваю, виновным является initramfs (может быть, что-то связанное с движением Debian?).

Для большей безопасности я не УДАЛЕН четыре файла в /boot/ и не заменил их: я полагаю, что эта папка / раздел настолько особенная, что может зависеть от файлов, занимающих специальные сектора на диске. Поэтому, чтобы быть уверенным, я переименовал все четыре обновленных файла с расширением ".bak", а затем скопировал старые версии с "правильным" именем файла в "/boot/", оставив обе версии в папке.

Результат?

Теперь меня даже не просят ввести пароль... Когда я загружаюсь, я получаю черный экран с мигающим подчеркиванием, который просто сидит, как будто процессор остановлен.

Что мне теперь делать?

Я просто недостаточно хорошо знаю низкоуровневые детали initramfs, fstab и так далее, и я действительно удивлен тем, как легко все это ломается, даже когда я пытаюсь подготовиться и быть осторожным!

Любая помощь будет принята с благодарностью!

0 ответов

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