Как настроить имя устройства сопоставления зашифрованного корневого раздела с помощью Grub2?

Как настроить имя устройства сопоставления зашифрованного корневого раздела с помощью Grub2?

Я хотел бы, чтобы мой зашифрованный корневой раздел был сопоставлен с именем устройства сопоставления system, т. е. он должен в конечном итоге появиться под /dev/mapper/system. Моя операционная система — Fedora 24 Workstation Linux, и она загружается с Grub2 на компьютере с поддержкой UEFI.

Ядро уже правильно идентифицирует зашифрованный корневой раздел по UUID, поскольку Fedora настроила его с помощью параметра ядра rd.luks.uuid=luks-144255e7-7a9a-4957-ad6e-d4a2a71c861aво время установки.

При настройке параметра ядра, rd.luks.uuidкак указано выше, зашифрованный корневой раздел сопоставляется с тем же именем сопоставителя устройств, что и значение параметра ядра, т. е. отображается под /dev/mapper/luks-144255e7-7a9a-4957-ad6e-d4a2a71c861a.

После прочтения страницы руководства systemd-cryptsetup-generatorя думаю, что его параметр ядра rd.luks.nameявляется подходящим для выбора другого имени устройства сопоставления; отличного от того, которое было бы настроено rd.luks.uuidотдельно.

К сожалению, Grub2, похоже, не учитывает ни то rd.luks.name=luks-144255e7-7a9a-4957-ad6e-d4a2a71c861a=system, ни другое rd.luks.name=144255e7-7a9a-4957-ad6e-d4a2a71c861a=system(без luks-префикса).

Есть ли у вас идея, как отобразить зашифрованный корневой раздел под /dev/mapper/system?

решение1

Отman systemd-cryptsetup-generator:

rd.luks.name=учитывается только начальным RAM-диском (initrd), в то время как luks.name=учитывается как основной системой, так и initrd.

Так что, возможно, использование luks.name=144255e7-7a9a-4957-ad6e-d4a2a71c861a=systemвместо rd.luks.name=...сделает ваше имя systemдаже после загрузки.

Если это не сработает (я не совсем понимаю, что именно эта строка документации пытается сказать и rd.будет ли это иметь значение), вы можете попробовать ввести имя в/etc/crypttab. Опять же из man systemd-cryptsetup-generator:

Если /etc/crypttab содержит записи с одинаковым UUID, то будут использоваться имя, ключевой файл и параметры, указанные там. В противном случае устройство будет иметь имя " luks-UUID".

Например, пусть будет строка

system UUID=144255e7-7a9a-4957-ad6e-d4a2a71c861a

Возможно, потребуется дать файлу имя /etc/crypttab.initramfs, а не просто /etc/crypttabубедиться, что он виден достаточно рано (до открытия раздела).

При внесении любого из этих изменений обязательно измените root=параметр ядра с /dev/mapper/luks-144255e7-7a9a-4957-ad6e-d4a2a71c861aна /dev/mapper/system.

Связанный контент