'Статус bootctl', показывающий недоступные параметры

Переменные Awk обрабатываются как строки. Вы даже не можете передать массив , не говоря уже об условии. Но вам не нужно. Вместо того, чтобы передавать условие, просто передайте значение, необходимое для запуска:

if( $1 == cond ) {
    color="BLUE"
}

Затем вы запускаете скрипт с помощью:

/gk/laaz/csv2html.sh sample.csv sample.html 180817CR0003988

0
06.02.2021, 18:37
1 ответ

Похоже, что команда bootctlв системе «обычное оборудование» не может подтвердить, что система была загружена с помощью systemd-boot. Это может быть связано с какой-то ошибкой или странностью прошивки UEFI этой системы, или потому, что система еще не загрузилась с systemd-boot.

Пожалуйста, запустите efibootmgr -vна "обычном оборудовании" и добавьте вывод в исходное сообщение. Это показало бы фактическое содержимое переменных загрузки UEFI :, просмотр необработанных данных, а не просто bootctlих анализ, мог бы дать некоторые дополнительные подсказки о том, что происходит.


Похоже, у вас вообще нет переменных с такими именами, как 8be4df61-93ca-11d2-aa0d-00e098032b8c-Boot*. Как будто все ваши загрузочные переменные UEFI были стерты. Это определенно объясняет, почему bootctl statusкажется неуверенным в текущем загрузчике :, он не находит загрузочную переменную 8be4df61-93ca-11d2-aa0d-00e098032b8c-BootCurrent, которая документировала бы то, как прошивка в настоящее время загружает систему.

Если удаление GRUB привело к удалению всех загрузочных переменных, это, вероятно, ошибка :, которая является излишне антисоциальным -поведением по отношению к любым другим загрузчикам. Или, возможно, это ошибка прошивки UEFI :реализация прошивки UEFI некоторых поставщиков автоматически очищает все загрузочные переменные, которые относятся к дискам или разделам, которые больше не существуют, но, возможно, это было слишком -усердием в уборка? (Обновление микропрограммы системы может решить эту проблему.)

Отсутствие загрузочных переменных UEFI приведет к тому, что микропрограмма попытается найти раздел ESP на любом диске, который она может найти, в некотором порядке, который, вероятно, известен только программистам микропрограммы. Когда он находит/EFI/BOOT/BOOTX64.EFI(относительно корня раздела ESP; в Mint полный путь к нему будет /boot/efi/EFI/BOOT/BOOTX64.EFI), он будет использовать его для загрузки системы. На съемных носителях наличия /EFI/BOOT/BOOTX64.EFIв любой файловой системе, которая понимается прошивкой, может быть достаточно для загрузки с этого носителя.

Предполагая, что диск, содержащий ваш раздел ESP (, то есть файловая система /boot/efi)— это /dev/sda, вы можете запустить эту команду:

sudo efibootmgr -b 0000 -c -d /dev/sda -l \\EFI\\systemd\\systemd-bootx64.efi -L "Linux Mint"

Это должно создать загрузочную переменную 8be4df61-93ca-11d2-aa0d-00e098032b8c-Boot0000и сделать так, чтобы она правильно указывала на загрузчик systemd-bootx64.efi. Это также даст этому варианту загрузки удобочитаемое -имя «Linux Mint»; вы можете увидеть это в настройках загрузки прошивки (, вы можете знать их как «настройки BIOS» ).

Он также должен автоматически создать переменную 8be4df61-93ca-11d2-aa0d-00e098032b8c-BootOrderи сделать параметр загрузки 0000 (, то есть переменную, только что созданную выше ), первым и единственным активным параметром загрузки на данный момент.

Если кажется, что загрузочные переменные не «прилипают» при добавлении с помощью efibootmgr, то у вас определенно есть система с причудливой прошивкой UEFI. Самые первые реализации UEFI от каждого поставщика, как правило, содержали ошибки, которые были исправлены позже :. Если ваша «обычная аппаратная» система не совсем новая, в ней все еще может быть одна из ранних реализаций UEFI. Вы можете попробовать и посмотреть, сможете ли вы добавить путь к загрузчику UEFI в меню настроек прошивки; такой способ может удовлетворить неизвестному условию, из-за которого прошивка отклоняет любые загрузочные переменные, созданные efibootmgr.

В этом случае вы также можете прочитать страницу Родерика В. Смита о «загрузочных переворотах» -, она написана в основном с учетом загрузчика rEFInd,но это отличное описание различных особенностей прошивки UEFI и доступных для них обходных путей.

1
18.03.2021, 22:32

Теги

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