Почему мой зашифрованный объем LVM (устройство LUKS) не смонтируется во время начальной загрузки?

Смотрите на Проект GnuDIP. Это старо, но с небольшой работой это должно работать

15
13.04.2017, 15:37
3 ответа

Необходимо обратить внимание на UUID. Например, это - моя конфигурация:

# lsblk -o name,uuid,mountpoint
├─sda2                         727fa348-8804-4773-ae3d-f3e176d12dac
│ └─sda2_crypt (dm-0)          P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi
│   ├─debian_crypt-swap (dm-1) 3f9f24d7-86d1-4e21-93e9-f3c181d05cf0   [SWAP]
│   ├─debian_crypt-tmp (dm-2)  93fc8219-f985-45fb-bd5c-2c7940a7512d   /tmp
│   ├─debian_crypt-home (dm-3) 12e8566c-8f0f-45ec-8524-6d9d9ee91eae   /home
│   └─debian_crypt-root (dm-4) 9685570b-4c9e-43ea-815e-49d10dc7a1bf   /

У меня есть зашифрованный раздел того (sda2) с 4 объемами (LVM). То, в чем я нуждаюсь, должно установить два UUID в правильных файлах. sda2 UUID переходит в /etc/crypttab и объем UUID (например, debian_crypt-корень) переходит в /etc/fstab .

Так, это было бы:

# cat /etc/crypttab
sda2_crypt              UUID=727fa348-8804-4773-ae3d-f3e176d12dac   none        luks

# cat /etc/fstab
UUID=9685570b-4c9e-43ea-815e-49d10dc7a1bf       /               ext4    defaults,errors=remount-ro              0 1

После изменения /etc/crypttab файл, необходимо восстановить initramfs:

# update-initramfs -u -k all

Примечание:

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

Почему беспокойство для упоминания этого? Ну, если Вы устанавливаете LVM во время установки Debian Хрипящее cryptsetup-мусорное-ведро пакетов установок, libcryptsetup4 и lvm2 но нет cryptsetup, таким образом у Вас есть инструменты для установки устройств LVM & LUKS, но не сценариев, необходимых для монтирования устройств LUKS во время начальной загрузки. Существовавшие пакета cryptsetup.

16
27.01.2020, 19:50
  • 1
    я попытался использовать UUID но я получаю ту же ошибку. Я обновлю вопрос с деталями. –  pgpb.padilla 04.01.2014, 23:48
  • 2
    Привет, это становится немного слишком длинным, мы можем болтать? –  pgpb.padilla 07.01.2014, 08:44

Похоже, что ответ @Mikhail Morfikov касается монтирования на этапе initramfs . Альтернативой (, если это не корневая файловая система ), является автоматическое расшифрование и монтирование раздела через systemd после загрузки ядра linuz. Конечно, это возможно, только если вы используете systemd . Я объясню метод здесь:

Запись /etc/crypttab:

crypt2 UUID=e412-blahblah /path/to/crypt2.key luks,noauto

Здесь noauto— это инструкция , а не , чтобы попытаться расшифровать диск на этапе initramfs .

Выше e412-blahblah— это UUID раздела, содержащего систему luks, в моем случае это раздел /dev/sdb2:

.
# blkid | grep sdb2
/dev/sdb2: UUID="e41274d8-fd83-4632-b560-ad0ba113ae75" TYPE="crypto_LUKS" PARTUUID="5673a908-02"

Во время запуска ядра linuz systemd прочитает файл /etc/crypttabи создаст файл службы времени выполнения /run/systemd/generator/systemd-cryptsetup@crypt2.service. Однако эта служба не запускается автоматически.Вы можете запустить его вручную

systemctl start systemd-cryptsetup@crypt2.service

но для его расшифровки и последующего монтирования во время запуска /etc/fstabможет потребоваться следующим образом:

/dev/mapper/crypt2--vg-data /media/crypt-data ext4 defaults,noauto,user,x-systemd.automount,x-systemd.requires=systemd-cryptsetup@crypt2.service 0 2

Здесь x-systemd.automount— инструкция systemd для монтирования /media/crypt-data, а x-systemd.requires=systemd-cryptsetup@crypt2.service— инструкция systemd о том, что требуется расшифровка crypt2перед тем, как это будет возможно.

В systemd не будет фактически монтировать каталог до первого обращения к нему, например. ls /media/crypt-data, то он смонтируется только -за -раз и после этого появится в /proc/mounts.


Связанные

Вы можете спросить: «*зачем зашифрованный диск данных с ключом в корневой файловой системе?». Это потому, что корневая файловая система также зашифрована, поэтому ключ в безопасности. Корневая файловая система расшифровывается на этапе загрузки initramfs , а-ля ответ Михаила. У меня есть другая запись в файле /etc/crypttabдля этого :

.
crypt1 UUID=8cda-blahbalh none luks,discard,lvm=crypt1--vg-root

и я описываю настройку этого и загрузочного USB здесь

1
27.01.2020, 19:50

Кроме того, :В системах на основе Debian -перед выполнением команды update-initramfsубедитесь, что пакет cryptsetup-initramfsустановлен. Если нет, сначала установите его:

apt-get install -y cryptsetup-initramfs
1
29.07.2020, 14:36

Теги

Похожие вопросы