Как восстановить grub с зашифрованными LUKS разделами LVM после замены материнской платы?

Путь на Perl:

perl -lne '$k+=(s/format300//g) unless /ignore/; }{ print $k' input.txt 

s / format300 // g заменит все вхождения format300 ни с чем и возвращает количество замен. Это простой способ подсчета вхождений. Затем число добавляется к $ k , и все это происходит только в том случае, если строка не соответствует ignore . } { - это сокращение Perl для "сделайте это после того, как вы закончили читать файл, чтобы print $ k напечатал общее найденное число.

1
06.05.2019, 16:46
1 ответ

Чтение вашего файла grub.cfg, часть, которая является непосредственной причиной первого запроса пароля LUKS, заключается в следующем:

cryptomount -u 99cc765bd11945e7a922436c76cfd505
set root='lvmid/vlNbhc-Fecj-bwew-vg7J-nnuy-3aCy-zl395m/Co88vm-3aMx-939B-ehD7-ijFW-Hw7p-z3gWUW'

Итак, похоже, что update-grubготовится прочитать что-то из файловой системы, основанной на LVM -. Что это может быть?

font="/usr/share/grub/unicode.pf2"

О, он хочет напрямую прочитать файл шрифта из /usr/share/grub.

Судя по комментариям, эта часть взята из файла /etc/grub.d/00_header. Если бы для внутренней тестовой переменной GRUB feature_default_font_pathбыло установлено значение y, тогда весь блок был бы пропущен, избегая здесь запроса пароля LUKS.

Другой аналогичный блок находится сразу после комментария ### BEGIN /etc/grub.d/05_debian_theme ###:, он также обеспечивает подключение зашифрованного диска, чтобы...

if background_image /usr/share/desktop-base/kali-theme/grub/grub-16x9.png; then
  set color_normal=white/black
  set color_highlight=black/white

... загрузить фоновое изображение для меню GRUB из /usr/share/desktop-base/.

Остальные блоки (и соответствующие файлы фрагментов конфигурации в/etc/grub.d/)похоже не зависят от доступа к зашифрованным дискам.

Таким образом, чтобы избавиться от дополнительной подсказки LUKS перед меню GRUB, вам нужно либо отключить графическое меню и вернуться к более простому виду GRUB, либо просмотреть /etc/grub.d/00_headerи /etc/grub.d/05_debian_theme, найти какие параметры конфигурации они предоставляют. Затем вы можете скопировать соответствующие файлы и использовать соответствующие параметры в /etc/default/grub, чтобы заставить GRUB найти необходимые шрифты и изображения из другого места, поэтому GRUB не нужно будет читать зашифрованный диск только для отображения меню.

Похоже, вы можете скопировать файл шрифта из /usr/share/grub/unicode.pf2, например, в./boot/grub/unicode.pf2, а затем установите GRUB_FONT=/boot/grub/unicode.pf2в /etc/default/grub.

Аналогичным образом можно скопировать фоновый файл из /usr/share/desktop-base/kali-theme/grub/grub-16x9.pngв /boot/grub/grub-16x9.png, а затем установить GRUB_BACKGROUND=/boot/grub/grub-16x9.pngв /etc/default/grub.

После выполнения этих настроек вы можете запустить update-grubи убедиться, что ваша регенерированная конфигурация GRUB теперь должна быть немного проще и больше не содержать команд cryptmount.

4
27.01.2020, 23:22

Теги

Похожие вопросы