Я пытаюсь настроить зашифрованный том, следуя этому руководству
Все настроено, но монтирование зашифрованного тома завершается неудачно во время загрузки с ошибкой:
fsck.ext4: при попытке открыть файл / dev / mapper / safe_vault такого файла или каталога нет. Возможно, это несуществующее устройство?
Это моя установка:
crypttab
$ sudo cat /etc/crypttab
safe_vault /dev/disk/by-uuid/d266ae14-955e-4ee4-9612-326dd09a463b none luks
НОТА:
uuid
Приходит от:
$ sudo blkid /dev/mapper/<my_logical_group>-safe_vault
/dev/mapper/<my_logical_group>-safe_vault: UUID="d266ae14-955e-4ee4-9612-326dd09a463b" TYPE="crypto_LUKS"
Fstab
$ sudo cat /etc/fstab | grep safe_vault
/dev/mapper/safe_vault /safe-vault ext4 defaults 0 2
Что я сделал...
Поэтому я зашел на сайт разработчика и в FAQ по общим проблемам они говорят:
Убедитесь, что в вашем ядре есть устройство отображения и цель crypt. Вывод «dmsetup target» должен содержать список «crypt» цели. Если его там нет или команда не работает, добавьте устройство отображения и crypt-target в ядро.
Вот и я, оказывается, у меня нет crypt
цели:
$ sudo dmsetup targets
striped v1.4.1
linear v1.1.1
error v1.0.1
Проблема в том, что я не знаю, как добавить такую цель.
Я думаю, что это (без crypt
цели) может привести к тому, что crypttab
конфигурация будет игнорироваться во время загрузки, и, таким образом, попытка смонтировать запись fstab
не удастся, потому cryptsetup
что не сопоставлен мой зашифрованный том /dev/mapper/safe_vault
.
НОТА:
Зашифрованный том можно успешно сопоставить, смонтировать и записать вручную:
$ sudo cryptsetup luksOpen /dev/mapper/<my_logical_group>-safe_vault safe_vault
Enter passphrase for /dev/mapper/<my_logical_group>-safe_vault:
$ sudo mount /dev/mapper/safe_vault /safe_vault
Вот как это выглядит после сопоставления и монтажа:
$ sudo lsblk -o name,uuid,mountpoint
NAME UUID MOUNTPOINT
sda
├─sda1 28920b00-58d3-4941-889f-6249357c56ee
├─sda2
└─sda5 uhBLE7-Kcfe-RMi6-wrlX-xgVh-JfAc-PiXmBe
├─<my_logical_group>-root (dm-0) 1bed9027-3cf7-4f8d-abdb-28cf448fb426 /
├─<my_logical_group>-swap_1 (dm-1) a40c16c4-7d0c-46d7-afc8-99ab173c20bb [SWAP]
├─<my_logical_group>-home (dm-2) e458abb7-b263-452d-8670-814fa737f464 /home
├─<my_logical_group>-other (dm-3) 0a1eec42-6534-46e1-8eab-793d6f8e1003 /other
└─<my_logical_group>-safe_vault (dm-4) d266ae14-955e-4ee4-9612-326dd09a463b
└─safe_vault (dm-5) 9bbf9f47-8ad8-43d5-9c4c-dca033ba5925 /safe-vault
sr0
ОБНОВИТЬ
- Оказывается, у меня есть
crypt
цель, но чтобы ее показать,dmsetup targets
мне нужно было сначалаcryptsetup luksOpen <my-device>
- Я попытался с помощью
UUID
S вместо согласно @Mikhail Morfikov в ответ , но он по- прежнему не удается во время загрузки.
Я все еще думаю, что проблема в том, что каким-то образом зашифрованный том не отображается (открывается с помощью cryptsetup luksOpen
) во время загрузки, поэтому не /dev/mapper/<safe_vault or UUID>
существует, а затем попытка смонтировать его (fstab) не удалась.
ОБНОВЛЕНИЕ 2
Оказывается, у меня не было необходимых скриптов для монтирования во время загрузки. Смотрите примечание в ответе @ MikhailMorfikov.
источник
luksOpen
? Я ожидаю, что если бы этого не было, luksOpen тоже потерпел бы неудачу.sudo cryptsetup luksOpen
появятся две новые цели дляsudo dmsetup targets
:error
иcrypt
. Я думаю, что мне нужно изменить вопрос тогда .../dev/mapper/<my-logical-volume>-safe_vault
является логическим томом, созданным с помощью LVM, и/dev/mapper/safe_vault
представляет собой устройство, которому он соответствуетcryptsetup luksOpen /dev/mapper/<my-logical-volume>-safe_vault
. Знаете ли вы,crypttab
работает ли с томами LVM?/boot
). Все монтируется при загрузке без проблем. Вы уверены, что обновилиinitramfs
после редактирования/etc/crypttab
? Можете ли вы показать вывод,lsblk -o name,uuid,mountpoint
когда все смонтировано и работает как надо?Ответы:
Вы должны обратить внимание на UUID. Например, это моя конфигурация:
У меня есть один зашифрованный раздел (sda2) с 4 томами (LVM). Что мне нужно, это установить два UUID в нужных файлах. Идентификатор
/etc/crypttab
UDA идентификатора sda2 и адрес UUID тома (например, debian_crypt-root)/etc/fstab
.Итак, было бы:
После изменения
/etc/crypttab
файла вам нужно пересобрать initramfs:НОТА
Пакет
cryptsetup
должен быть установлен, потому что он имеет сценарии запуска, которые предоставляют поддержку для автоматического монтирования зашифрованных томов при загрузке.Зачем говорить об этом? Ну, если настроить LVM во время установки Debian свистящих устанавливает пакеты Cryptsetup-бен ,
libcryptsetup4
и ,lvm2
но неcryptsetup
, таким образом , у вас есть инструменты для настройки LVM и LUKS устройств , но не скрипты необходимо смонтировать lüks устройств во время загрузки. Те, которые входят в пакет cryptsetup .источник
UUID
но я получаю ту же ошибку. Я уточню вопрос с деталями.Кажется , что @Mikhail Morfikov в ответ крышки крепления во время initramfs стадии. Альтернативой (если это не корневая файловая система) является автоматическое дешифрование и монтирование раздела через systemd после загрузки ядра linuz. Конечно, это возможно, только если вы используете systemd . Я объясню метод здесь:
/etc/crypttab
Запись:Вот
noauto
инструкция не пытаться расшифровать диск на этапе initramfs .Выше
e412-blahblah
UUID раздела, содержащего систему luks, в моем случае это раздел/dev/sdb2
:Во время запуска ядра linuz systemd прочитает
/etc/crypttab
файл и создаст файл службы времени выполнения/run/systemd/generator/systemd-cryptsetup@crypt2.service
. Однако этот сервис не запускается автоматически. Вы можете запустить его вручнуюно для его расшифровки и последующего монтирования во время запуска
/etc/fstab
может потребоваться следующее:Вот
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
файле для этого:и я описываю настройку и загрузочный USB здесь
источник