В чем разница между «Загрузка с BIOS» и «Загрузка с UEFI»

118

Теперь Windows 8 поддерживает загрузчик UEFI, и я прочитал, что он отличается от BIOS, но мне неясно после многих поисков в Google.

Ниже приведены некоторые моменты:

  • Как мы все знаем, BIOS является важной частью доступа к параметрам загрузки. Так UEFI сделает это сейчас? Как?

  • Откуда мне знать, что я загружаюсь с UEFI, а не с BIOS?

  • Так в чем же реальная разница в «загрузке с BIOS» и «загрузке с UEFI»?

avirk
источник

Ответы:

134
  • Как мы все знаем, BIOS является важной частью для доступа к опции загрузки. Так что теперь UEFI сделает это? Как?

BIOS загружается, читая первый сектор на жестком диске и выполняя его; этот загрузочный сектор, в свою очередь, находит и запускает дополнительный код. Система BIOS очень ограничена из-за нехватки места и потому, что BIOS выполняет 16-битный код, тогда как современные компьютеры используют 32-битные или 64-битные процессоры. Напротив, EFI (или UEFI, который является просто EFI 2.x) загружается путем загрузки программных файлов EFI (с .efiрасширениями имени файла) из раздела на жестком диске, известного как системный раздел EFI (ESP). Эти программы загрузчика EFI могут использовать службы загрузки EFI для чтения файлов с жесткого диска.

На практике, если вы используете ОС типа Linux, которая имеет сложные загрузчики в режиме BIOS, загрузка в режиме EFI, скорее всего, будет похожа на загрузку в режиме BIOS, поскольку GRUB 2 (самый популярный загрузчик в режиме BIOS). для Linux) был портирован для работы под EFI, и многие дистрибутивы Linux устанавливают GRUB 2 по умолчанию в системах EFI. OTOH, вы можете заменить или дополнить GRUB 2 другими загрузчиками EFI. Действительно, само ядро ​​Linux может быть загрузчиком EFI; код был добавлен для этого с ядром 3.3.0. При таком использовании EFI загружает и запускает ядро ​​Linux, либо вы можете использовать сторонний менеджер загрузки, такой как rEFInd или gummiboot, чтобы вы могли выбрать, какую ОС или ядро ​​загружать.

  • Откуда мне знать, что я загружаюсь с UEFI, а не с BIOS?

Как говорит Root, в пользовательском интерфейсе прошивки есть подсказки; однако они ненадежны и варьируются от одного компьютера к другому. Единственный способ убедиться в этом - проверить, как загружается компьютер. Например, в Linux наличие директории называется /sys/firmware/efiдиагностическим. Если он присутствует, вы загрузились в режиме EFI; если его нет, вы, вероятно, загрузились в режиме BIOS. (Однако при некоторых обстоятельствах этот каталог может отсутствовать при загрузке в режиме EFI.) dmesgВывод, который ссылается на EFI, также является диагностикой загрузки в режиме EFI. В Windows таблица разделов загрузочного диска является диагностической; если это GPT, вы загрузились в режиме EFI, и если это MBR, вы загрузились в режиме BIOS.

  • Так чем же отличается «загрузка с BIOS» и «загрузка с UEFI»?

EFI может быть быстрее, но это не точно. Самая большая разница в скорости заключается в начальной инициализации оборудования. На моих системах, это часть общего времени загрузки, поэтому сокращение времени инициализации аппаратных средств, в то время как хорошо, не делает все , что большой разницы. В конце концов, я не перезагружаюсь каждые десять минут.

UEFI поддерживает функцию под названием Безопасная загрузкакак следует из названия, это призвано улучшить безопасность. Для этого требуется цифровая «подпись» загрузчиков, что, в свою очередь, требует подписи ядер и так далее в цепочке. Это должно затруднить для авторов вредоносных программ вставку их кода в процесс предварительной загрузки, что повысит безопасность. Это звучит хорошо, но это также усложняет конфигурации с двойной загрузкой, поскольку код, такой как GRUB и ядро ​​Linux, должен быть подписан. Основные поставщики дистрибутивов Linux работают над тем, чтобы сделать эти требования менее обременительными для обычных пользователей Linux, и у них уже есть некоторые предварительные данные. Однако на данный момент отключение Secure Boot - самый простой способ справиться с этим. Это практическая проблема в основном для совершенно новых компьютеров, которые поставляются с Windows 8, поскольку Microsoft требует, чтобы была включена безопасная загрузка, чтобы получить сертификат Windows 8. Некоторые люди путают UEFI и Secure Boot (последняя - только одна особенность первой), но это заслуживает упоминания как различие между BIOS и UEFI, потому что это вызывает некоторые проблемы для новых компьютеров с Windows 8. Если у вас более старая система или вы достаточно знакомы с утилитами установки прошивки, чтобы отключить безопасную загрузку, это не должно быть реальной проблемой.

Microsoft связывает тип таблицы разделов загрузочного диска с типом прошивки (MBR для BIOS; GPT для UEFI). Поскольку MBR достигает максимума в 2 ТБ (при условии стандартных размеров сектора), это означает, что UEFI является практической необходимостью загрузки Windows на диски размером более 2 ТБ. Тем не менее, вы можете использовать такие большие диски как диски данных в Windows, и вы можете загружать некоторые не-Microsoft ОС (такие как Linux и FreeBSD) на большие диски, используя GPT в BIOS.

На практике, если вас беспокоит или интересует UEFI, самая большая проблема заключается в том, что UEFI достаточно новый, чтобы его поддержка была немного нестабильной, особенно в некоторых старых и более экзотических ОС. UEFI сам по себе достаточно новый, так что большинство его реализаций содержат ошибки, и те, которые недостаточно различаются между собой, что может быть трудно описать вещи в целом. Таким образом, использование UEFI может быть проблемой. ОТО, UEFI - это будущее. У него есть некоторые скромные преимущества, некоторые из которых со временем станут более важными (например, лимит загрузочного диска Windows в 2 ТБ). Переключение на загрузку UEFI изменит некоторые детали процесса загрузки, но ваш общий вычислительный опыт не сильно изменится, как только вы преодолеете любые проблемы с загрузкой, с которыми вы можете столкнуться.


РЕДАКТИРОВАТЬ:

Не могли бы вы расширить настройки OpRom (Option Rom). Похоже, они позволяют выбирать между загрузкой UEFI или «устаревшей» загрузкой, и они применимы к видеокарте, сетевой карте и различным другим устройствам PCI.

Многие подключаемые платы предоставляют встроенное ПО, которое взаимодействует с встроенным ПО на материнской плате. Два типа прошивки должны быть в состоянии «разговаривать», если прошивка карты работает хорошо. Это необходимо для использования карты перед загрузкой ОС - например, для отображения параметров вашей прошивки или меню менеджера загрузки на видеокарте, для загрузки по сети через сетевую карту или для загрузки с жесткого диска, подключенного к карта контроллера диска.

Как и в случае с загрузчиками, код в прошивке подключаемого устройства записывается для взаимодействия с BIOS или EFI (хотя подключаемые карты могут поддерживать оба, если я не ошибаюсь). Как вы заметили, некоторые EFI предоставляют опции для включения или отключения этой поддержки на детальной основе. В некоторых случаях EFI может использовать поддержку BIOS в режиме карты, чтобы она могла работать в режиме EFI, «переводя» вызовы. (Например, это обычное явление для видеокарт; вы часто можете подключить старую видеокарту без поддержки BIOS в своей прошивке и по-прежнему использовать ее для загрузки в режиме EFI.)

Я не знаю точно, что делает каждая из указанных вами настроек. Например, я не знаю, будет ли «BIOS only» для одной из этих опций заставить карту работать только в режиме BIOS, «переводить», чтобы EFI мог использовать вызовы режима BIOS в режиме EFI или что-то еще. Фактически, учитывая отсутствие стандартов в других областях пользовательского интерфейса EFI, я ожидаю, что детали будут отличаться от одного EFI к другому, поэтому вам, возможно, придется ознакомиться с документацией вашего компьютера или поэкспериментировать, если вам нужно знать детали. Я видел несколько компьютеров с очень похожими параметрами звучания в двух разных меню, что еще больше усложняет ситуацию.

Род Смит
источник
Если жесткий диск имеет как загрузочный раздел BIOS, так и системный раздел EFI, означает ли это, что этот жесткий диск может быть загружен в режиме BIOS и EFI? Так что же, жесткий диск не зависит от режима загрузки? В руководстве по gdisk я увидел, что оно устанавливает загрузочный раздел BIOS и системный раздел EFI. Также в других случаях некоторые говорили, что вам может понадобиться /bootдругой раздел (в основном потому, что я пытаюсь использовать ZFS). Как согласовать RAIDED /bootс загрузочным разделом BIOS и системным разделом EFI?
CMCDragonkai
Диск может иметь как ESP, так и загрузочный раздел BIOS. Последний используется только GRUB, поэтому диск может быть загрузочным как в EFI, так и в BIOS даже без последнего, в зависимости от того, какой загрузчик используется. Отдельный /bootраздел Linux обычно существует вне массива RAID. Независимо от режима загрузки, загрузчик должен уметь читать ядро, а большинство загрузчиков не могут работать с программным RAID. (Якобы GRUB может это сделать, но мало кто даже пытается.)
Род Смит
Мне нужно использовать мягкий RAID для, /bootпотому что ZFS не может быть /bootна нем. Я спросил в списке рассылки ZFS on Linux.
CMCDragonkai
1
BIOS не имеет ничего, даже отдаленно эквивалентного Secure Boot.
Род Смит
1
Поддержка UEFI довольно хороша в наиболее популярных операционных системах, особенно в Windows 7 и более поздних версиях, а также в большинстве современных дистрибутивов Linux. Если вы выходите за пределы этой области, вам следует изучить поддержку UEFI вашей конкретной ОС. Последнее, что я проверял, например, ReactOS, Haiku и FreeDOS, все испытывали недостаток в поддержке UEFI; тем не менее, прошло некоторое время с тех пор, как я проверил любой из них, поэтому возможно, что один или несколько из них теперь имеют поддержку UEFI.
Род Смит
21
  • Как мы все знаем, BIOS является важной частью для доступа к опции загрузки. Так что теперь UEFI сделает это? Как?

UEFI - это кроссплатформенный интерфейс встроенного ПО, заменяющий стандарт встроенного ПО для x86 с именем BIOS. Многие реализации UEFI также включают в себя режим совместимости с BIOS / «устаревший» режим, чтобы обеспечить загрузку с MBR и представление BIOS-подобного интерфейса для ОС; однако это не требуется стандартом.

  • Откуда мне знать, что я загружаюсь с UEFI, а не с BIOS?

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

  • Так чем же отличается «загрузка с BIOS» и «загрузка с UEFI»?

Есть много отличий:

  • UEFI определяет подобный интерфейс прошивки ОС, такой как BIOS, но не специфичен для какой-либо архитектуры процессора. BIOS специфичен для архитектуры процессоров Intel x86, поскольку он опирается на 16-битный интерфейс «реального режима», поддерживаемый процессорами x86.
  • UEFI может быть настроен на ускорение различных этапов процесса загрузки, например, UEFI на Gigabyte GA-EP45-DS3 инициализируется за 11 секунд, а BIOS - за 19 секунд .
  • Режим UEFI может представлять разные встроенные программы / аппаратные функции для одной и той же установленной ОС, чем режим BIOS.

Смотрите больше информации о UEFI .

Elmo
источник
1
Не всегда возможно сказать, что фактический режим загрузки основан на одних только настройках прошивки, потому что большинство EFI полагаются на дисковые факторы, а также настройки прошивки, чтобы определить режим загрузки. К таким дисковым факторам относятся тип таблицы разделов, параметры флага «boot / active» в MBR, наличие / отсутствие системного раздела EFI или файлов внутри него и т. Д. Единственный способ убедиться в этом - проверить наличие признаков загрузки в режиме EFI или BIOS в операционной системе, которую вы загрузили, и эти признаки зависят от конкретной ОС.
Род Смит
1
Нет, UEFI никогда не "реализован поверх традиционного BIOS". UEFI - это тип прошивки, который заменяет старый тип с именем BIOS. Он может включать в себя режим совместимости / устаревшего режима, который позволяет ему загружаться с MBR в стиле BIOS и предоставлять эквивалентный BIOS интерфейс операционным системам, которые этого хотят, но это не означает, что в нем вообще есть BIOS.
underscore_d
1
Что означает P0 / P1 / P2 на вашем изображении?
CMCDragonkai
Ссылка на изображение не работает
Dan Dascalescu
1
@underscore_d, там есть EFI implementions , которые работают на вершине традиционной BIOS. Я написал об одном, "гибридном EFI" Gigabyte здесь. Мой опыт с этим был довольно негативным. Есть также Clover и DUET, которые работают как загрузчики на стандартных компьютерах на основе BIOS, чтобы позволить им запускать загрузчики и операционные системы в режиме EFI. Однако Clover и DUET не являются технически встроенными программами, поэтому я не уверен, что они действительно имеют значение.
Род Смит,
8

Q: Как мы все знаем, BIOS является важной частью доступа к параметрам загрузки. Так что теперь UEFI сделает это? Как?

A: Это путаница в терминах. Например, «Войдите в BIOS, чтобы сменить блаблу». Политически корректный термин «утилита настройки прошивки» означает то, что вы вводите. Если вы говорите о том, что «BIOS» сравнивает его с «UEFI», это относится к чему-то другому, а именно: к среде выполнения загрузки.

Так что если вы имеете в виду эту утилиту настройки, то а) не называйте ее UEFI и б) это в основном то же самое, что и в прежние времена.

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

Q: Так чем же отличаются «загрузка с BIOS» и «загрузка с UEFI»?

A: Среда, в которой находятся загрузчики, отличается. А с UEFI эта среда более четкая, более современная и многофункциональная.

Роберт Симер
источник