Вопрос или проблема
Я установил Fedora 40 на компьютер, на котором работал Parrot OS. Во время установки я удалил все разделы, кроме 9 ТБ раздела данных LUKS.
Fedora установилась нормально, но когда я добавляю записи в /etc/fstab: UUID=56ec7d8d-1fed-4e16-831c-0b275ffd89db /mnt/home71 ext4 defaults 0 0
и /etc/crypttab: luks-56ec7d8d-1fed-4e16-831c-0b275ffd89db UUID=56ec7d8d-1fed-4e16-831c-0b275ffd89db none discard
для монтирования раздела данных LUKS во время загрузки, меня просят ввести пароль для открытия раздела LUKS, команда mount -a
завершается ошибкой: mount: /mnt/home71: wrong fs type, bad option, bad superblock on /dev/sda5, missing codepage or helper program, or other error.
У меня нет проблем с ручным монтированием раздела данных LUKS с помощью: cryptsetup luksOpen /dev/sda5 home71; mount /dev/mapper/home71 /mnt/home71
После ручного монтирования команда lsblk -o name,fstype,label,uuid,mountpoint
возвращает:
├─sda5 crypto_LUKS 56ec7d8d-1fed-4e16-831c-0b275ffd89db
│ └─home71 ext4 06e81132-ec1f-4685-bd73-be91c2d2b7bc /mnt/home71
Я не знаю, почему у меня возникают такие проблемы, так как я уже много раз настраивал монтирование разделов данных LUKS таким образом.
Я начинаю задумываться, возможно, при установке Fedora, оставив раздел данных LUKS (я использовал дистрибутивы Debian в течение последних 15 лет), удалив все остальные системные разделы и переразбив их, система не может распознать ранее зашифрованный раздел, хотя я могу монтировать его вручную?
Я действительно не хочу стирать и удалять раздел, чтобы попробовать переразбивку и перешифровку только ради тестирования, потому что у меня уже много данных на разделе (хотя данные есть в резервной копии), и я просто не хочу перенастраивать все без необходимости. Надеюсь, кто-то сможет увидеть что-то очевидное, что я упускаю, и сэкономить мне и моему HDD время и износ. Спасибо.
Дополнительные детали
При выполнении команды $ lsblk
я получаю снимок текущей настройки разделов моего диска.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 9.1T 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 512M 0 part /boot/efi
├─sda3 8:3 0 8G 0 part [SWAP]
├─sda4 8:4 0 30G 0 part
│ └─luks-e4d6a6b0-6889-4317-b13e-4cfad6f37f4b 253:1 0 30G 0 crypt /var
├─sda5 8:5 0 8.9T 0 part
└─sda6 8:6 0 164.6G 0 part
└─luks-bfb67d91-aa41-40b1-81e9-b480e563a93e 253:0 0 164.6G 0 crypt /
Информация, перечисленная для /dev/sda5, обсуждаемого раздела данных LUKS, показывает меньше деталей, чем я ожидал. Я бы подумал, что в столбце TYPE должно быть указано, что раздел является crypt, а не просто part, почти как будто система не видит /dev/sda5 как раздел LUKS, если я не укажу информацию для luksOpen и не смонтирую его вручную.
Ответ или решение
Причины, по которым LUKS-раздел не монтируется из записей fstab
и crypttab
, могут быть связаны с несколькими факторами. Рассмотрим, как исправить ситуацию шаг за шагом:
Проверка записей в crypttab
и fstab
-
Запись в
crypttab
:
Вы указали вcrypttab
:luks-56ec7d8d-1fed-4e16-831c-0b275ffd89db UUID=56ec7d8d-1fed-4e16-831c-0b275ffd89db none discard
Убедитесь, что UUID в
crypttab
соответствует UUID зашифрованного раздела. Вы можете проверить его с помощью команды:sudo blkid
UUID, который вы указали в
crypttab
, должен совпадать с UUID/dev/sda5
. -
Запись в
fstab
:
Вfstab
вы указали:UUID=56ec7d8d-1fed-4e16-831c-0b275ffd89db /mnt/home71 ext4 defaults 0 0
Однако, как вы уже заметили,
/dev/sda5
необходимо сначала открыть с помощьюcryptsetup
, чтобы он стал доступен для монтирования. Ваша запись должна ссылаться на/dev/mapper
, где находится расшифрованное устройство, например:/dev/mapper/luks-56ec7d8d-1fed-4e16-831c-0b275ffd89db /mnt/home71 ext4 defaults 0 0
Убедитесь, что имя устройства в
fstab
соответствует тому, что вы получаете после открытия LUKS-раздела с помощьюcryptsetup
.
Настройка порядка и проверки
-
Проверка порядка монтирования:
Если система не может открыть LUKS-раздел до того, как попытается его смонтировать, это может привести к ошибке. Убедитесь, чтоcryptsetup
монтируется до того, какfstab
пытается смонтировать раздел. Для этого проверьте, включен ли соответствующий сервис:systemctl status initrd-cryptsetup.target
-
Добавление опции в
fstab
:
Если вы хотите, чтобы ваше устройство автоматически монтировалось, добавьте параметрnoauto
к вашей записи вfstab
. Это может выглядеть так:/dev/mapper/luks-56ec7d8d-1fed-4e16-831c-0b275ffd89db /mnt/home71 ext4 defaults,noauto 0 0
Проверка на ошибки
- Логи и диагностика:
При загрузке системы просмотрите системные журналы (journalctl -xb
) на предмет ошибок, связанных сcryptsetup
и монтированием. Это может помочь выявить конкретные проблемы, которые препятствуют успешному выполнению.
Ручное тестирование
- Тестирование без автозапуска:
Попробуйте вручную выполнить те же команды, что и на этапе загрузки:sudo cryptsetup luksOpen /dev/sda5 home71 sudo mount /dev/mapper/home71 /mnt/home71
Если это срабатывает, это подтверждает, что проблема заключается в автоматизации.
Заключение
Если вы выполните вышеперечисленные шаги и учтете указанные рекомендации, ваш LUKS-раздел должен корректно монтироваться автоматически при загрузке. Если проблема сохраняется, возможно, стоит проверить, нет ли конфликтов с другими записанными в fstab
устройствами или сервисами, запущенными во время загрузки.