Путь на Perl:
perl -lne '$k+=(s/format300//g) unless /ignore/; }{ print $k' input.txt
s / format300 // g
заменит все вхождения format300
ни с чем и возвращает количество замен. Это простой способ подсчета вхождений. Затем число добавляется к $ k
, и все это происходит только в том случае, если строка не соответствует ignore
. } {
- это сокращение Perl для "сделайте это после того, как вы закончили читать файл, чтобы print $ k
напечатал общее найденное число.
Чтение вашего файла 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
.