Скрипт i3Blocks (окраска)

Ваша Windows загружалась/загружается в собственном режиме UEFI, но ваш загрузчик GRUB для Kali был установлен для использования устаревшего режима BIOS, вероятно, потому, что вы загрузили программу установки Kali, используя устаревший режим.

Проблема заключается в том, что любой загрузчик в стиле BIOS -вообще не может запустить какой-либо загрузчик в стиле UEFI -. Загрузчик в стиле BIOS -использует 16-битный код -и поддерживается 16-битным кодом прошивки -. Собственный загрузчик UEFI в вашем случае использует 64 -битный код и поддерживается 64 -битным кодом прошивки. Хотя загрузчик, безусловно, может переключить процессор в полный 64-битный --битный режим, он не имеет доступа к 64-битным --битным ресурсам микропрограммы, поскольку модуль поддержки совместимости микропрограммы с BIOS специально спрятал их, чтобы сделать систему 16-битной. -битовая совместимость, насколько это возможно. В то же время модуль поддержки совместимости с BIOS скрыл интерфейс, который работающая ОС может использовать для редактирования параметров загрузки UEFI, известный как «службы времени запуска UEFI -».

Полное решение этой проблемы потребует доступа к службам времени запуска -UEFI, поэтому исправить это из устаревшей -загруженной Kali будет сложно. Предлагаемый ремонт -замена пакета grub-pc(= устаревшей версии BIOS загрузчика GRUB )на соответствующий grub-efi-amd64[-signed]был бы правильным, но сам по себе он не был бы полным исправлением.. (Подписанный суффикс -необходим, если в вашей системе включена безопасная загрузка.)

Следующим шагом будет регистрация нового загрузчика UEFI GRUB в NVRAM прошивки, чтобы он появился в настройках BIOS. Может ли boot-repairэто сделать или нет, зависит от того, какой режим загрузки использовался при запуске boot-repair:, был ли он запущен в собственном режиме UEFI или с использованием устаревшей совместимости с BIOS?

Кроме того, похоже, что boot-repairнеправильно определяет Kali, так как я думаю, что он был разработан для Ubuntu (? ).

Если вы хотите вернуться к Windows, проверьте настройки порядка загрузки в BIOS и убедитесь, что Windows установлена ​​в качестве первой загружаемой ОС. Если в настройках BIOS есть какие-либо параметры для выбора предпочтительных методов загрузки — собственного UEFI или устаревшего BIOS, вам следует переключить его, чтобы предпочесть собственный UEFI устаревшим методам.

0
29.04.2020, 23:33
1 ответ

Короткий ответ: вы не можете, потому что истинные 24-битные цвета (rgb )не являются частью принятого стандарта, и будет случайным, независимо от того, поддерживает это терминал или нет. Вместо этого вы должны использовать предопределенный цвет из палитры терминала. 3/4-битные цвета ANSI

При этом некоторые терминалы поддерживают настоящие 24-битные цвета, и большинство из них используют этот формат.:\033[48;2;r;g;bm4в 48устанавливает цвет фона, его можно изменить на 3, цвет как передний план.(подробнее)

Буквы rg и b представляют собой 8-битное десятичное число, поэтому printf "\033[38;2;159;188;0mhelloнапечатает приветствие желаемого цвета (#9fbc00), но оно не сбрасывается после выполнения команды, поэтому вам нужно сообщить терминалу, чтобы вернуться к исходному цвету. Для этого вам нужно использовать другую управляющую последовательность.\033[0m

Теперь, зная это, безошибочным способом печати Hello world!в #9fbc00будет

printf "\033[38;2;159;188;0mHello world!\033[0m\n".

ps :echo не любит управляющие коды, используйте printf, если хотите отформатировать материал

1
28.04.2021, 23:17

Теги

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