Почему прошивка uefi игнорирует порядок загрузки?

моя Toshiba Tecra R950 поддерживает UEFI, в основном. Он имеет хорошую старомодную текстовую систему настроек прошивки blue, которую он называет "BIOS", а не причудливую графическую настройку, которую имеют большинство правильных систем UEFI. Меню порядка загрузки (либо в настройках, либо когда я поднимаю его во время загрузки, нажав F12) не позволяет выбирать операционные системы, только устройства. Система, кажется, не может загрузиться, если раздел efi не содержит резервный загрузчик в /efi/boot/bootx64.efi – хотя по то, что я прочитал, это должно быть необходимо только для съемных томов.

Linux efibootmgr инструмент можно использовать, чтобы открыть или модифицировать актуальные загрузки EFI приоритетных (с точки зрения того, какая операционная система загрузить сначала), но прошивка не учитывает, что вы здесь, когда его сапоги и вместо этого полагается на аппаратные приоритет в BIOS/прошивки установки и использует резервный загрузчик нашел на первой доступной объем. Единственное исключение из этого, кажется, при выходе из S4 (спящий режим), это вдруг заглядывает в этот список и загружает туда не запасной, а верхний загрузчик.

это просто случай плохой реализации UEFI? Можно ли иметь гибридный BIOS / UEFI с ограниченной поддержкой функций UEFI? Поскольку моя система, похоже, знает, как справиться с приоритетом загрузки при возобновлении с S4, есть ли способ заставить ее работать в целом?

16
задан gordonmleigh
11.03.2023 8:16 Количество просмотров материала 3620
Распечатать страницу

1 ответ

короткий ответ: основываясь на вашем описании, я думаю, что ваша прошивка неисправна.

длинный ответ: Во-первых, EFI (или UEFI, который является просто EFI 2.x) спецификация говорит ничего о пользовательских интерфейсов. Таким образом, вы можете создать чисто текстовый пользовательский интерфейс EFI, который все еще на 100% совместим со спецификацией EFI/UEFI. BIOS не имеет официальной спецификации, но были попытки графических утилит для настройки BIOS. Таким образом, не следует использовать графическую утилиту установки, или их отсутствие, как показатель того, является ли что-то EFI или BIOS, или того, насколько "завершена" реализация. Глазные конфеты совершенно не имеют отношения к делу и к вашему вопросу.

как Примечание стороны, многие производители относятся к своему Эфис как биосов. ИМХО, это плохая практика, потому что она создает путаницу в умах пользователей о различии между традиционным 16-битным BIOS и современным 32-или 64-битным EFIs, которые очень различное в самом важном подробная информация.

тем не менее, спецификация EFI довольно ясна, что переменные порядка загрузки (которые устанавливаются через efibootmgr в Linux) должно быть соблюдено. Если ваша прошивка игнорирует эти переменные, то это нарушает спецификацию. К сожалению, такие нарушения по-прежнему являются весьма распространенным явлением, хотя они были более распространены несколько лет назад. Быстрый Google предполагает, что ваша модель, возможно, была представлена в 2012 году, поэтому неудивительно, что у нее есть старый и ошибочный EFI. Вы можете захотеть чтобы проверить веб-сайт Toshiba, чтобы увидеть, если есть обновление прошивки доступны. Это может или не может ничего исправить, но это определенно стоит проверить.

вы также можете попробовать использовать инструмент, отличный от efibootmgr, например EasyUEFI или bcfg в оболочке EFI. Теоретически, любой из этих инструментов должен выполнять свою работу. На практике, я заметил, что efibootmgr иногда терпит неудачу когда другие инструменты работают.

что касается "гибридного BIOS/ UEFI", такие вещи существуют. Я знаю две широкие категории:

  • EFI поверх BIOS -- спецификация EFI не охватывает некоторые функции инициализации оборудования самого низкого уровня. Чтобы справиться с этой задачей, некоторые ранние EFIs для x86 / x86-64, такие как гибрид EFI гигабайта, использовал традиционный BIOS, поставив EFI "выше" этого. Мой единственный опыт с этим (описанный в ссылке) был болезненным, но это, возможно, было больше связано с реализацией, чем с общим подходом. AFAIK, от этого подхода отказались в пользу другого аппаратного кода инициализации, который лучше взаимодействует с EFI над ним.
  • EFI заблокирован в CSM -- модуль поддержки совместимости (CSM) является дополнительной функцией EFI, которая позволяет EFI загружать старые загрузчики в режиме BIOS. Я слышал утверждения, что некоторые "BIOSes" в последние годы компьютеров на основе BIOS на самом деле используется EFIs с их CSMs постоянно включен. Такие компьютеры не могли загрузиться в обычном EFI кстати, и они будут выглядеть так же, как обычные компьютеры на основе BIOS. Однако я не знаю, насколько распространена эта практика, и на самом деле я никогда не проверял, что утверждение верно-это может быть городская легенда. Такая установка, безусловно,теоретически возможно, была ли когда-либо написана такая прошивка.

ни один из подходов не объяснил бы вашу проблему, которая, кажется, лучше описывается как сильно сломанный EFI.

1
отвечен Rod Smith 2023-03-12 16:04

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх