Здравствуйте.
Вопрос банальный, понимаю что решается с полпинка, но найти этот «полпинок» второй день не могу.
На ноуте Debian stretch amd64.
Установлен на полностью зашитый DM-crypt'ом /dev/sda с LVM поверх.
/boot вынесен на третий раздел флешки (/sdb3).
Keyfile от /sda зашит в initrd. Все замечательно работает, /sda при загрузке расшифровывается, подключается и стартует система.
Хочу перенести /boot (или как минимум ядро и initrd, в нем же ключ) на зашифрованный /sdb2 (grub2 же умеет luks сам вроде как).
Что сделал:
cryptsetup'ом format/open /sdb2 как /dev/mapper/crypto
Примонтировал /dev/mapper/crypto и скопировал на него полностью содержимое /boot (может и не надо было все, но на всякий случай сделал полностью: с ядром, initrd'ой, директорией grub)
В /etc/default/grub выставил GRUB_ENABLE_CRYPTODISK=y
В /etc/fstab в качестве /boot указал /dev/mapper/crypto
В /etc/crypttab описал crypto на устройстве по uuid
Сделал update-grub.
В результате /grub/grub.cfg, который лежит на шифрованном /sdb2, обновился, в нем добавились insmod'ы cryptodisk, luks, какого-то gcry_sha256, появилась строка cryptomount со ссылкой на /sdb2 по uuid'у, а также set root='cryptouuid/тут_uuid_sdb2'
Вместе с тем, при перезагрузке grub стартует initrd по-прежнему с /sdb3, а уже потом, после того как подключается /sda запрашивается пароль от /sdb2 и он монтируется в /boot (т.е. я так понимаю когда /erc/crypttab отрабатывает).
Убирание с /sdb3 всего содержимого результата не дало, грузиться отказался.
Повторный update-grub на уже загрузившейся по вышеописанной схеме системе тоже ничего не дал.
Как сделать, чтобы загрузчик при старте системы запрашивал пароль от /sdb2, открывал его, и уже из открытого раздела брал initrd? Т.е. полностью избавиться от /sdb3 (задача максимум) или хотя-бы убрать ядро с initrd в шифрованный раздел флешки (задача минимум).
P.S. Яндексил по сабжу много. Везде, где нашел, тема открытия загрузчиком grub'a шифрованного /boot либо подразумевается как само собой разумеещееся и не раскрывается в деталях, либо описывается в другом, не подходящем в рассматриваемом случае, контексте.