Почему раздел LUKS не монтируется по записям в fstab и crypttab?

Вопрос или проблема

Я установил 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

  1. Запись в 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.

  2. Запись в 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.

Настройка порядка и проверки

  1. Проверка порядка монтирования:
    Если система не может открыть LUKS-раздел до того, как попытается его смонтировать, это может привести к ошибке. Убедитесь, что cryptsetup монтируется до того, как fstab пытается смонтировать раздел. Для этого проверьте, включен ли соответствующий сервис:

    systemctl status initrd-cryptsetup.target
  2. Добавление опции в fstab:
    Если вы хотите, чтобы ваше устройство автоматически монтировалось, добавьте параметр noauto к вашей записи в fstab. Это может выглядеть так:

    /dev/mapper/luks-56ec7d8d-1fed-4e16-831c-0b275ffd89db /mnt/home71 ext4 defaults,noauto 0 0

Проверка на ошибки

  1. Логи и диагностика:
    При загрузке системы просмотрите системные журналы (journalctl -xb) на предмет ошибок, связанных с cryptsetup и монтированием. Это может помочь выявить конкретные проблемы, которые препятствуют успешному выполнению.

Ручное тестирование

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

    sudo cryptsetup luksOpen /dev/sda5 home71
    sudo mount /dev/mapper/home71 /mnt/home71

    Если это срабатывает, это подтверждает, что проблема заключается в автоматизации.

Заключение

Если вы выполните вышеперечисленные шаги и учтете указанные рекомендации, ваш LUKS-раздел должен корректно монтироваться автоматически при загрузке. Если проблема сохраняется, возможно, стоит проверить, нет ли конфликтов с другими записанными в fstab устройствами или сервисами, запущенными во время загрузки.

Оцените материал
Добавить комментарий

Капча загружается...