- Как мы все знаем, BIOS является важной частью для доступа к опциям загрузки. Так что теперь UEFI сделает это? Как?
BIOS загружается, читая первый сектор на жестком диске и выполняя его; этот загрузочный сектор, в свою очередь, находит и запускает дополнительный код. Система BIOS очень ограничена из-за нехватки места и потому, что BIOS запускает 16-битный код, в то время как современные компьютеры используют 32-битные или 64-битные процессоры. Напротив, EFI (или UEFI, что всего лишь EFI 2.x) загружается путем загрузки программных файлов EFI (с расширениями .efi
) из раздела на жестком диске, известного как EFI System Partition (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?
Как говорит Корень, в пользовательском интерфейсе прошивки есть подсказки, однако, они ненадежны и варьируются от одного компьютера к другому. Единственный способ убедиться в этом - проверить, как компьютер загружается. В Linux, например, наличие директории /sys/firmware/efi
является диагностическим. Если он присутствует, то вы загрузились в EFI режиме; если его нет, то вы bable загрузились в BIOS режиме. (Эта директория может отсутствовать при загрузке в EFI-режиме при некоторых обстоятельствах, однако.) Вывод dmesg
, который ссылается на EFI, также является диагностикой загрузки в EFI-режиме. В Windows таблица разделов диска boot является диагностической; если это GPT, то вы загрузились в EFI-режиме, а если MBR, то вы загрузились в режиме BIOS.
- Так чем же по-настоящему отличается “boot with BIOS” и “boot with UEFI”?
EFI может быть быстрее, но это не совсем точно. Наибольшая разница в скорости заключается в аппаратной инициализации на ранних стадиях процесса. На моих системах это часть общего времени загрузки, поэтому сокращение времени аппаратной инициализации, хоть и хорошо, но не приносит всей такой разницы. В конце концов, я не перезагружаюсь каждые десять минут.
UEFI поддерживает функцию Secure Boot, которая, как следует из названия, предназначена для повышения безопасности. Для этого требуется цифровая “подпись” системного загрузчика, которая, в свою очередь, должна требовать подписания ядер, и так далее вверх по цепочке. Это должно усложнить авторам вредоносных программ вставку своего кода в процесс предварительной загрузки, тем самым повышая безопасность. Звучит неплохо, но это также усложняет конфигурацию двойной загрузки, так как такой код как GRUB и ядро Linux должны быть подписаны. Крупнейшие производители дистрибутивов Linux работают над тем, чтобы сделать эти требования менее обременительными для обычных пользователей Linux, и у них есть некоторые предварительные материалы. На данный момент, однако, отключение Secure Boot - это самый простой способ справиться с этим. Это практическая проблема в основном для совершенно новых компьютеров, которые поставляются с Windows 8, поскольку Microsoft требует, чтобы Secure Boot была включена для получения сертификации Windows 8. Некоторые путают UEFI и Secure Boot (последняя - всего лишь одна из особенностей первой), но она заслуживает упоминания как разница между BIOS и UEFI, потому что она вызывает некоторые проблемы для новых компьютеров с Windows 8. Если у вас старая система или вам достаточно удобны утилиты настройки прошивки, чтобы отключить Secure Boot, то это не должно быть реальной проблемой.
Microsoft связывает тип таблицы разделов загрузочного диска с типом прошивки (MBR в BIOS; GPT в UEFI). Так как MBR заканчивается на 2TiB (предполагая стандартные размеры секторов), это означает, что UEFI является практической необходимостью для загрузки Windows на дисках с размером более 2TiB. Однако вы все еще можете использовать такие большие диски, как диски с данными под Windows, и вы можете загрузить некоторые не-Microsoft OS (такие как Linux и FreeBSD) на больших дисках с помощью GPT в BIOS.
На практике, если вас беспокоит или интересует UEFI, самая большая проблема заключается в том, что UEFI достаточно новая, что поддержка ее немного неаккуратная, особенно в некоторых старых и более экзотичных ОС. Сам UEFI достаточно новый, что большинство его реализаций багги, и те, которые не достаточно отличаются друг от друга, что может быть трудно описать вещи в целом. Таким образом, использование UEFI может быть проблемой. ОТОХ, UEFI это будущее. У него есть некоторые скромные преимущества, некоторые из которых со временем станут более важными (например, лимит загрузочного диска 2TiB в Windows). Переключение на загрузку UEFI изменит некоторые деталиПроцесс загрузки, но ваш общий вычислительный опыт не изменится, как только вы преодолеете любые проблемы с загрузкой, с которыми вы можете столкнуться.
EDIT:
Можете ли вы расширить настройки OpRom (Option Rom). Похоже, что они позволяют выбирать между UEFI загрузкой и “Наследственной” загрузкой, и они применяются к видеокарте, сетевой карте и различным другим PCI устройствам.
Многие сменные платы предоставляют прошивку, которая взаимодействует с прошивкой на материнской плате. Два типа прошивки должны быть в состоянии “говорить”, если прошивка карты, чтобы сделать что-то хорошее. Это необходимо для использования карты перед загрузкой ОС - например, для отображения опций прошивки или меню менеджера загрузки на видеокарте, для сетевой загрузки по сети или для загрузки с жёсткого диска, подключённого к карте контроллера диска.
Как и в системных загрузчиках, код в прошивке подключаемого устройства записывается для интерфейса с BIOS или EFI (хотя карты подключаемых устройств могут поддерживать и то, и другое, если я не ошибаюсь). Некоторые EFI, как вы заметили, предоставляют возможность включать или отключать эту поддержку на тонко проработанной основе. В некоторых случаях, EFI может использовать поддержку BIOS-режима платы, чтобы позволить ей работать в EFI-режиме, “переводя” вызовы. (Это характерно, например, для видеокарт; часто можно подключить старую видеокарту, в прошивке которой нет ничего, кроме поддержки BIOS, и все равно использовать ее для загрузки в EFI-режиме)
Я не знаю точно, что делает каждая из отмеченных вами настроек. Например, я не знаю, заставит ли “только BIOS” для одной из этих опций карту работать только в режиме BIOS, “транслировать” так, чтобы EFI мог использовать вызовы BIOS-режима в EFI-режиме, или что-то еще. На самом деле, учитывая отсутствие стандартов в других областях пользовательского интерфейса EFI, я бы ожидал, что детали будут отличаться от одного EFI к другому, так что вам, возможно, придется проконсультироваться с документацией вашего компьютера или поэкспериментировать, если вам нужно знать детали. Я видел некоторые компьютеры с очень похожими звуковыми опциями в двух разных меню, что еще больше усложняет ситуацию.