Уефи биос что это

Уефи биос что это

Extensible Firmware Interface (EFI) (с англ. — «интерфейс расширяемой прошивки») — интерфейс между операционной системой и микропрограммами, управляющими низкоуровневыми функциями оборудования, его основное предназначение: корректно инициализировать оборудование при включении системы и передать управление загрузчику операционной системы. EFI предназначен для замены BIOS — интерфейса, который традиционно используется всеми IBM PC-совместимыми персональными компьютерами. Первая спецификация EFI была разработана Intel, позднее от первого названия отказались и последняя версия стандарта носит название Unified Extensible Firmware Interface (UEFI). В настоящее время разработкой UEFI занимается Unified EFI Forum.

Содержание

История [ править | править код ]

Изначально EFI создавалась для первых систем Intel-HP Itanium в середине 1990-х годов. Ограничения PC-BIOS (16-битный исполняемый код, адресуемая память 1 Мбайт, аппаратные ограничения IBM PC/AT и т. д.) были, очевидно, недопустимы в больших серверных платформах, для использования в которых планировался Itanium. Изначальное название — Intel Boot Initiative (Загрузочная инициатива Intel), позже было переименовано в EFI [1] :

  • спецификация EFI 1.02 была выпущена Intel 12 декабря 2000 года (версия 1.01 имела юридические проблемы, связанные с торговой маркой, и была быстро изъята);
  • спецификация EFI 1.10 была выпущена 1 декабря 2002 года. Она включала модель драйвера EFI, а также несколько незначительных улучшений по сравнению с версией 1.02;
  • в 2005 году Intel внесла эту спецификацию в UEFI Forum, который теперь ответственен за развитие и продвижение EFI. [2] EFI был переименован в Unified EFI (UEFI), чтобы отразить это изменение, при этом большая часть документации использует оба термина;
  • UEFI Forum выпустил спецификацию 2.1 UEFI 7 января 2007 года. Она добавила и улучшила криптографию, установление подлинности сети и архитектуру пользовательского интерфейса;
  • версия 2.3.1 была принята в апреле 2011 года;
  • версия 2.4 была принята в июле 2013 года;
  • версия 2.5 была принята в апреле 2015 года.
  • версия 2.6 была принята в январе 2016 года.

Содержание [ править | править код ]

Интерфейс, определённый спецификацией EFI, включает таблицы данных, содержащие информацию о платформе, загрузочные и runtime-сервисы, которые доступны для загрузчика операционной системы (ОС) и самой ОС. Некоторые существующие расширения BIOS, типа ACPI и SMBIOS, также присутствуют в EFI, поскольку не требуют 16-разрядного runtime-интерфейса.

Сервисы [ править | править код ]

EFI определяет «загрузочные сервисы», которые включают поддержку текстовой и графической консоли на различных устройствах, шин, блоков и файловых сервисов, а также runtime-сервисы, например: дата, время и энергонезависимая память.

Драйверы устройств [ править | править код ]

В дополнение к стандартным, архитектурно-зависимым драйверам устройств, спецификация EFI предусматривает независимую от платформы среду драйверов, названную EFI Byte Code (EBC). От системного встраиваемого ПО (firmware) спецификацией UEFI требуется иметь интерпретатор для любых образов EBC, которые загружены или могут быть загружены в среду. В этом смысле EBC подобен Open Firmware, независимому от аппаратных средств встраиваемому ПО, используемому в компьютерах Apple Macintosh и Sun Microsystems SPARC.

Некоторые архитектурно-зависимые (non-EBC) типы драйверов EFI могут иметь интерфейсы для использования ОС. Это позволяет ОС использовать EFI для базовой поддержки графики и сети до загрузки драйверов, определённых в ОС.

Менеджер загрузки [ править | править код ]

Менеджер загрузки EFI используется для выбора и загрузки ОС, исключая потребность в специализированном механизме загрузки (загрузчик ОС является приложением EFI).

Поддержка дисков [ править | править код ]

В дополнение к стандартной схеме разметки дисков MBR EFI имеет поддержку GPT, которая свободна от характерных для MBR ограничений. Спецификация EFI не включает описания для файловых систем, однако реализации EFI обычно поддерживают FAT32 как файловую систему [3] .

Оболочка EFI [ править | править код ]

Сообщество EFI создало открытую среду оболочки (англ. EFI shell ) [4] . Пользователь для выполнения некоторых операций может загрузить оболочку EFI вместо того, чтобы загружать ОС. Оболочка — приложение EFI; она может постоянно находиться в ПЗУ платформы или на устройстве, драйверы для которого находятся в ПЗУ.

Оболочка может использоваться для выполнения других приложений EFI, таких как настройка, установка ОС, диагностика, утилиты конфигурации и обновления прошивок. Она также может использоваться, чтобы проиграть CD- или DVD-носители, не загружая ОС, при условии, что приложения EFI поддерживают эти возможности. Команды оболочки EFI также позволяют копировать или перемещать файлы и каталоги в поддерживаемых файловых системах, загружать и выгружать драйверы. Также оболочкой может использоваться полный стек TCP/IP.

Оболочка EFI поддерживает сценарии в виде файлов .nsh, аналогичных пакетным файлам в DOS. При этом файл сценария с именем startup.nsh исполняется при загрузке автоматически.

Названия команд оболочки часто наследуются от интерпретаторов командной строки (COMMAND.COM или Unix shell). Оболочка EFI может рассматриваться как функциональная замена интерпретатора командной строки и текстового интерфейса BIOS.

Расширения [ править | править код ]

Расширения EFI могут быть загружены с практически любого энергонезависимого устройства хранения данных, присоединённого к компьютеру. Например, OEM-производитель может продать систему с разделом EFI на жёстком диске, который добавил бы дополнительные функции к встраиваемому ПО EFI, размещённому в ПЗУ системной платы.

Реализация [ править | править код ]

Intel Platform Innovation Framework для EFI [ править | править код ]

Intel Platform Innovation Framework для EFI (рус. инновационный инструментарий Intel ) — ряд спецификаций, разработанных Intel совместно с EFI. Если EFI определяет интерфейс между ОС и firmware, то инструментарий определяет структуры, используемые для создания встраиваемого ПО на более низком уровне, чем интерфейс между ОС и firmware.

В частности, инструментарий поддерживает все шаги, необходимые для инициализации компьютера после включения. Эти внутренние возможности встраиваемого ПО не определены как часть спецификации EFI, но включены в спецификацию инициализации платформы (Platform Initialization Specification), разработанную UEFI. Инструментарий был проверен на платформах: Intel XScale, Intel Itanium и IA-32.

Совместимость с ОС для платформы x86, требующими для работы интерфейса «legacy BIOS», достигается с помощью модуля поддержки совместимости (CSM). CSM включает 16-битную программу (CSM16), реализуемую изготовителем BIOS, и слой, связывающий CSM16 с инструментарием.

Intel разработал эталонную реализацию для инструментария под кодовым названием «Tiano». Tiano — полная legacy-free реализация встраиваемого ПО, обеспечивающая поддержку EFI. Tiano не включает 16-битную часть CSM, но обеспечивает интерфейсы, требуемые для дополнений, реализуемых производителями BIOS. Intel не предоставляет полной реализации Tiano для конечных пользователей.

Часть Tiano была выпущена в виде исходных текстов TianoCore проекта как EFI Developer Kit (EDK) [5] . Эта реализация включает EFI и некоторый код инициализации аппаратных средств, но не раскрывает полностью особенностей непосредственно встраиваемого ПО. Несколько лицензий использовались для этого кода, включая BSD license и Eclipse Public License.

Продукты, основанные на EFI, UEFI и спецификациях инструментария, доступны через независимых производителей BIOS, например, American Megatrends (AMI) и Insyde Software. Некоторые реализации производителей полностью основаны на Tiano, в то время как другие соответствуют спецификациям, но не основываются на эталонной реализации Intel [6] .

Платформы, использующие EFI или инструментарий [ править | править код ]

Выпущенные в 2000 году Intel системы на платформе Itanium поддерживали EFI 1.02. Выпущенные в 2002 году Hewlett-Packard системы на платформе Itanium 2 поддерживали EFI 1.10; они могли загружать Windows, Linux, FreeBSD и HP-UX. Все системы Itanium или Itanium 2, которые выпускаются с EFI-совместимым встраиваемым ПО, должны соответствовать спецификации DIG64.

В ноябре 2003 года Gateway представила Gateway 610 Media Center — первую x86 компьютерную систему на основе Windows, использующую встраиваемое ПО, основанное на инструментарии InsydeH2O от Insyde Software. Поддержка BIOS была реализована с помощью модуля поддержки совместимости (CSM) для загрузки Windows.

В январе 2006 года Apple Inc. представила первые компьютеры Macintosh на платформе Intel. Эти системы используют EFI и инструментарий вместо Open Firmware, который использовался на предыдущих системах платформы PowerPC [7] .

5 апреля 2006 года Apple выпустила пакет Boot Camp, который позволяет создать диск с драйверами Windows XP, а также содержит неразрушающий инструмент разметки дисков, позволяющий установить Windows XP совместно с Mac OS X. Также было выпущено обновление встраиваемого ПО, которое добавило поддержку BIOS для данной реализации EFI. Последующие модели Macintosh были выпущены с обновлённым встраиваемым ПО. Теперь все современные компьютеры Macintosh могут загружать BIOS-совместимые ОС, такие как Windows XP, Vista и Windows 7.

Большое количество системных плат фирмы Intel выпускается со встраиваемым ПО на основе инструментария [ уточнить ] . Так, в течение 2005 года было выпущено более одного миллиона систем Intel [8] . Новые мобильные телефоны, настольные компьютеры и серверы, использующие инструментарий, начали производить в 2006 году. Например, все системные платы, которые построены на наборе системной логики Intel 945, используют инструментарий. Однако, производимое встраиваемое ПО обычно не включает поддержку EFI и ограничено поддержкой BIOS [9] .

С 2005 года EFI начал применяться в не-ПК архитектурах, таких как встраиваемые системы на ядре XScale [10] .

EDK включает цель NT32, которая позволяет встраиваемому ПО EFI и приложениям EFI выполняться в приложениях Windows.

В 2007 году компания Hewlett-Packard выпустила многофункциональный принтер серии 8000, оснащённый встраиваемым ПО, совместимым с EFI [11] .

Как происходит загрузка в UEFI [ править | править код ]

С GPT-раздела с идентификатором EF00 и файловой системой FAT32 по умолчанию загружается и запускается файл efiootoot[название архитектуры].efi, например: efiootootx64.efi.

То есть чтобы, например, создать загрузочную флешку с Windows, достаточно просто разметить флешку в GPT, создать на ней активный FAT32-раздел и скопировать все файлы с компакт-диска с дистрибутивом операционной системы.

Пример создания GPT-диска в Linux’е:

  • gdisk: создать раздел, указав тип EFI System (EFI System в fdisk или ef00 в gdisk). Затем отформатировать его в файловую систему FAT32 командой mkfs.fat -F32 /dev/ ;
  • GNU Parted: создать раздел FAT32 и затем установить (активировать) загрузочный флаг (но не флаг legacy_boot) на этот раздел.

Также в большинстве реализаций UEFI возможна загрузка в режиме совместимости с диска с разметкой MBR.

Операционные системы [ править | править код ]

  • Ядро Linux могло использовать EFI при загрузке с начала 2000 года, используя загрузчик EFI elilo или появившиеся позднее EFI-версии загрузчика grub [12] . На данный момент ядро Linux может быть загружено напрямую, без использования загрузчика. [13]
  • ОС HP-UX начали использовать EFI как загрузочный механизм в системах на платформе IA-64 с 2002 года. ОС OpenVMS использовала его начиная с января 2005 года;
  • Apple приняла EFI для линейки своих компьютеров, основанных на архитектуре Intel (Intel-based Macs). Mac OS X 10.4 (Tiger) для Intel и Mac OS X 10.5 (Leopard) поддерживают EFI v1.10 в 32-разрядном режиме, а также на 64-разрядных центральных процессорах (новые Macintosh имеют 64-разрядный EFI) [14] .
Читайте также:  Лэп 330 кв опасность для здоровья

Microsoft Windows [ править | править код ]

Itanium версии Windows 2000 (Advanced Server Limited Edition и Datacenter Server Limited Edition) получили поддержку EFI 1.1 в 2002 году.

Windows Server 2003 для IA-64, 64-разрядная версия Windows XP и Windows 2000 Advanced Server Limited Edition, предназначенные для семейства процессоров Intel Itanium, поддерживают EFI, определённый для данной платформы спецификацией DIG64 [15] .

Microsoft ввела поддержку UEFI в 64-разрядных ОС Windows начиная с Windows Server 2008 и Windows Vista Service Pack 1 [16] [17] . Microsoft утверждает, что отсутствие официальной поддержки EFI на 32-разрядных ЦП происходит из-за недостаточной поддержки изготовителями ПК и поставщиками. Миграция Microsoft к 64-разрядным ОС не позволяет использовать EFI 1.10, так как 64-разрядные расширения процессора, необходимые этим ОС, не поддерживаются окружением процессора. Поддержка x86-64 была включена в UEFI 2.0.

Microsoft выпустила видео с Эндрю Рицом (англ. Andrew Ritz ) и Джейми Шварцем (англ. Jamie Schwarz ), разъясняющим реализацию поддержки UEFI в Windows Vista и Windows Server 2008 [18] .

Графические возможности [ править | править код ]

EFI поддерживает графические меню и некоторые возможности, например, осуществленные Aptio или Great Wall UEFI [19] .

Критика [ править | править код ]

EFI критиковался за то, что он привёл к усложнению системы, не давая существенных преимуществ [20] , и за отказ от альтернатив BIOS с полностью открытыми исходными текстами — OpenBIOS и coreboot [21] .

В 2011 году пользователи и разработчики операционных систем на ядре Linux предупреждали, что внедрение технологии Secure Boot способом, требуемым Microsoft для устройств с Windows 8, существенно ограничит свободу пользователей этих устройств в выборе операционной системы или действиях с ней [22] [23] .

В сентябре 2018 года одна из антивирусных компаний опубликовала доклад о LoJax — первый известный руткит для системы UEFI, замеченный в реальном употреблении. Инженерами компании был обнаружен случай успешного поражения подсистемы SPI и сохранения руткита во флэш-накопителе этой подсистемы. Благодаря этому вредоносное ПО могло оставаться в компьютере не только при переформатировании жёсткого диска, а также при замене самого жёсткого диска. Единственный шанс избавиться от такого руткита — перезапись флэш-памяти встроенного ПО системы UEFI.

Что такое UEFI, и чем он отличается от BIOS?

На сегодняшний день, все новые стационарные компьютеры, а так же новые модели ноутбуков используют прошивку UEFI вместо традиционного BIOS. Что такое BIOS и UEFI, чем они отличаются друг от друга, и что лучше? Подробнее об этом, читаем в нашей справке.

Что такое BIOS?

BIOS — базовая система ввода-вывода, (Basic Input-Output System) является важной частью процедур любого компьютера. По своей сути BIOS является посредником между компьютерным «железом» и операционной системой. Без BIOS операционная система не смогла бы связываться с «железом» и управлять им. BIOS, это программа низкого уровня, хранящаяся на чипе материнской платы вашего компьютера.

Другими словами, BIOS является важнейшим компонентом любого компьютера. Если параметры BIOS выставлены неправильно, то производительность вашего ПК может быть уменьшена вплоть до 40%. К сожалению, по мере выхода новых процессоров и материнских плат опции BIOS продолжают становиться всё более запутанными. В итоге многие пользователи просто не понимают смысла многих опций современных BIOS.

На экране настройки BIOS вы можете изменять множество параметров. Аппаратная конфигурация компьютера, системное время, порядок загрузки. Этот экран можно вызвать в начале загрузки компьютера по нажатию определённой клавиши – на разных компьютерах она разная, но часто используются клавиши Esc, F2, F10, Delete. Сохраняя настройку, вы сохраняете её в памяти материнской платы. При загрузке компьютера BIOS настроит его так, как указано в сохранённых настройках.

Перед загрузкой операционной системы BIOS проходит через POST, или Power-On Self Test, самотестирование после включения. Она проверяет корректность настройки аппаратного обеспечения и его работоспособность. Если что-то не так, на экране вы увидите серию сообщений об ошибках или услышите из системного блока загадочный писк. Что именно означают звуковые сигналы описано в инструкции к компьютеру.

Во всех современных компьютерах BIOS хранится в микросхеме на основе flash-памяти (Flash Memory). Такая микросхема может быть перезаписана с помощью специальных программ прямо на компьютере. Запись новой версии BIOS обычно называется перепрошивкой. Эта операция может понадобиться, чтобы добавить в код BIOS новые функции, исправить ошибки или заменить поврежденные версии.

При загрузке компьютера по окончанию POST BIOS ищет Master Boot Record, или MBR — главную загрузочную запись. Она хранится на загрузочном устройстве и используется для запуска загрузчика ОС.

Как зайти в BIOS?

Чтобы зайти в BIOS необходимо нажать на клавиатуре определенную клавишу, или сочетание клавиш, это зависит от производителя компьютера. BIOS, это микросхема (чип), которая находится на материнской платы компьютера.

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

К примеру, чтобы зайти в BIOS на ноутбуке 2013 года *ASUS X550LC, нужно нажать на клавишу Del, а чтобы не заходя в основной БИОС, попасть в Boot Menu (меню загрузки), нажимаем клавишу Esc.

*Для моделей X, вход в Boot Menu осуществляется клавишей Esc, для моделей ноутбуков Asus, название которых начинается с K, например k601 нужно нажимать клавишу F8. Но бывает и у них путаница, так что пробуйте по всякому, Esc или F8.

Как зайти и настроить BIOS ноутбука ASUS X550 для установки WINDOWS 7, 8 с флешки или диска

Что такое Boot Menu?

Boot menu – это встроенное в BIOS меню выбора загрузки с физического устройства, на котором располагается операционная система. Boot Menu (меню загрузки) можно вызывать при включении на большинстве ноутбуков и компьютеров, данное меню является опцией BIOS или UEFI и позволяет быстро выбрать, с какого накопителя загрузить компьютер, что очень удобно, когда вы к примеру устанавливаете на компьютер операционную систему. Не нужно заходить в сам BIOS, а просто вызвать меню загрузки, и от туда выбрать, с чего загрузиться, с флешки, или привода дисков CD-DVD.

Как зайти в BIOS или в Boot Menu от разных производителей

Как войти в BIOS или UEFI и загрузить с USB флешки, DVD диска компьютер или ноутбук

Что такое UEFI?

Extensible Firmware Interface — интерфейс между операционной системой и микропрограммами, управляющими низкоуровневыми функциями оборудования, его основное предназначение: корректно инициализировать оборудование при включении системы и передать управление загрузчику операционной системы.

По сути, UEFI это тот же BIOS, только нового поколения, ведь так всегда происходит, и за место чего-то устаревшего приходит новое. UEFI – более новое решение, он поддерживает жёсткие диски большего объёма, быстрее грузится, более безопасен – и, что очень удобно, обладает графическим интерфейсом и поддерживает мышь.

Чем отличается UEFI от BIOS?

У традиционного BIOS до сих пор есть серьёзные ограничения. Он может загружаться только с жёстких дисков объёмом не более 2,1 Тб. Сейчас уже повсеместно встречаются диски на 3 Тб, и с них компьютер с BIOS не загрузится. Это ограничение BIOS MBR.

BIOS должен работать в 16-битном режиме процессора и ему доступен всего 1 Мб памяти. У него проблемы с одновременной инициализацией нескольких устройств, что ведёт к замедлению процесса загрузки, во время которого инициализируются все аппаратные интерфейсы и устройства.

BIOS давно пора было заменить. Intel начала работу над Extensible Firmware Interface (EFI) ещё в 1998 году. Apple выбрала EFI, перейдя на архитектуру Intel на своих Маках в 2006-м, но другие производители не пошли за ней.

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

Новый стандарт обходит ограничения BIOS. Прошивка UEFI может грузиться с дисков объёмом более 2,2 Тб – теоретический предел для них составляет 9,4 зеттабайт. Это примерно в три раза больше всех данных, содержащихся в сегодняшнем Интернете. UEFI поддерживает такие объёмы из-за использования разбивки на разделы GPT вместо MBR. Также у неё стандартизирован процесс загрузки, и она запускает исполняемые программы EFI вместо кода, расположенного в MBR.

UEFI может работать в 32-битном или 64-битном режимах и её адресное пространство больше, чем у BIOS – а значит, быстрее загрузка. Также это значит, что экраны настройки UEFI можно сделать красивее, чем у BIOS, включить туда графику и поддержку мыши. Но это не обязательно. Многие компьютеры по сию пору работают с UEFI с текстовым режимом, которые выглядят и работают так же, как старые экраны BIOS.

В UEFI встроено множество других функций. Она поддерживает безопасный запуск Secure Boot, в котором можно проверить, что загрузку ОС не изменила никакая вредоносная программа. Она может поддерживать работу по сети, что позволяет проводить удалённую настройку и отладку. В случае с традиционным BIOS для настройки компьютера необходимо было сидеть прямо перед ним.

Читайте также:  В вайбере не отображаются фото контактов

И это не просто замена BIOS. UEFI – это небольшая операционная система, работающая над прошивкой PC, поэтому она способна на гораздо большее, чем BIOS. Её можно хранить в флэш-памяти на материнской плате или загружать с жёсткого диска или с сети.

У разных компьютеров бывает разный интерфейс и свойства UEFI. Всё зависит от производителя компьютера, но основные возможности одинаковы у всех.

Некоторые новые компьютеры, поставляемые с UEFI, по-прежнему называют его «BIOS», чтобы не запутать пользователя, привычного к традиционным PC BIOS. Но, даже встретив его упоминание, знайте, что ваш новый компьютер, скорее всего, будет оснащён UEFI, а не BIOS.

Как узнать есть ли у меня UEFI?

Посмотреть версию BIOS или UEFI в сведениях о системе.

  1. Откройте «Сведения о системе»: один из способов — в строке поиска или в меню выполнить (выполнить вызывается клавишами Win+R) напишите команду msinfo32 и нажмите клавишу Enter.
  2. В правой части окна вы увидите «Версию BIOS»

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

UEFI – это большое обновление, но произошло оно незаметно. Большинство пользователей ПК не заметят его, и им не нужно беспокоиться по поводу того, что их новый компьютер использует UEFI вместо обычного BIOS. ПК просто будут лучше работать и поддерживать больше современного аппаратного обеспечения и возможностей.

Чем отличается UEFI от Legacy?

UEFI boot и Legacy boot — два разных режима загрузки. В Legacy режиме (называется также CSM mode, BIOS mode, по-разному, зависит от материнской платы и ее прошивки). UEFI BIOS после прохождения POST-диагностики формирует необходимую среду, по которой ОС после запуска определяет конфигурацию системы, затем сбрасывает процессор в 16-битный режим (так называемый реальный режим), после чего считывает первый сектор (Master Boot record) на жестком диске (SSD, для DVD дисков немного по-другому) и переключает процессор на исполнение считанного кода.

Настройка UEFI и Legacy Bios для загрузочной флешки Windows 7,8,10 и Ubuntu

Далее рассмотрим часто встречающиеся моменты при загрузки через BIOS.

В BIOS в меню Boot нет пункта загрузки с USB, HDD, CD

Не определяется USB флешка и др. USB носители?

Мы постарались подобрать все самое актуальное, и не упустить все важные моменты, подробнее описать, что такое BIOS и UEFI, в чем между ними разница, а также заострить внимание на этапах загрузки с BIOS и с UEFI. Если есть свои дополнения, вопросы, пожалуйста пишите в комментариях.

Бёрд Киви

11 октября 2011

Разработанная свыше тридцати лет назад для персональных компьютеров IBM PC, система BIOS (или «базовая система ввода-вывода») уже лет пятнадцать как считается реликтом древней эпохи. Жизнь, однако, распорядилась так, что подходящих альтернатив не находилось очень долго. Лишь теперь сложились подходящие обстоятельства и, соответственно, пошли разговоры, что BIOS наконец-то начинает сдавать свои доминирующие позиции.

На ее место приходит система UEFI, комплекс спецификаций, появившийся как «загрузочная инициатива Интел» (Intel Boot Initiative) в далеком уже 1998 году. Причиной рождения инициативы послужило то, что ограничения, обусловленные BIOS, стали ощутимо тормозить прогресс вычислительных систем на основе новейших в ту пору интеловских процессоров Itanium. Несколько позже эта же инициатива стала называться EFI, а в 2005 году корпорация подарила свою разработку специально созданному под нее консорциуму UEFI Forum, главными членами которого стали — помимо Intel — такие зубры IT-индустрии, как AMD, Apple, IBM, Microsoft и ряд других.

Логотип UEFI уже сейчас можно встретить на упаковке материнских плат

Не самая благозвучная аббревиатура UEFI расшифровывается как Unified Extensible Firmware Interface и представляет собой весьма радикальное преобразование традиционной для компьютеров процедуры загрузки. Точнее, перемены настолько глубоки, что UEFI не имеет с системой PC BIOS практически ничего общего.

В то время как BIOS по сути своей является весьма жестким и фактически неизменным по содержанию кодом прошивки специального BIOS-чипа, система UEFI — скорее гибко программируемый интерфейс. А расположен этот интерфейс поверх всех аппаратных компонентов компьютера с их собственными прошивками-микрокодами. В отличие от загрузочного кода BIOS, который всегда жестко прошит в соответствующем чипе на системной плате, куда более обширные по размеру коды UEFI находятся в специальной директории /EFI/, место физического расположения которой может быть самым разнообразным — от микросхемы памяти на плате или раздела на жестком диске компьютера и до внешнего сетевого хранилища.

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

UEFI, что и говорить, по сравнению с классическими BIOS выглядит гораздо красивее и понятнее для нормальных людей

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

Хотя UEFI иногда называют псевдо-ОС, она, тем не менее, способна сама получать доступ ко всему аппаратному обеспечению компьютера. То есть уже на уровне UEFI вполне возможно, к примеру, выходить в Интернет или организовывать резервное копирование жестких дисков, причем делать это все в условиях полноценного графического интерфейса под привычным мышиным управлением.

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

Полностью построенная на основе программного кода, UEFI действительно стала объединенной кросс-платформенной системой. Уже сегодня спецификации UEFI предусмотрены в работе почти любой комбинации чипов с 32- и 64-битной архитектурой, выпускаемых AMD, Intel и многочисленными лицензиатами ARM. Единственное, что требуется для обеспечения этой универсальности, это скомпилировать исходный код под требования каждой конкретной платформы.

UEFI уже сейчас вовсю используется в топовых материнских платах крупных производителей, а к концу следующего года найти свежую модель с «просто BIOS» станет практически невозможно

Помимо внушительного множества расширяемых возможностей, реализуемых благодаря гибкому и продвинутому интерфейсу, система UEFI также определяет несколько стандартных особенностей, которые должны быть реализованы в работающем под ней компьютере. В частности, среди таких стандартно обеспечиваемых возможностей упоминаются «безопасная загрузка» (secure boot, о чем в подробностях далее), низкоуровневая криптография, сетевая аутентификация, универсальные графические драйверы и еще немало чего другого.

В принципе, в каждой из основных на сегодня операционных систем (Windows, OS X, Linux) уже имеется поддержка загрузки через UEFI. Но следует также отметить, что пока UEFI все еще является очень молодой системой и реально очень немногие ОС пользуются всеми ее преимуществами, перечисленными выше.

Linux определенно поддерживает UEFI, однако это скорее поверхностное знакомство, чем эффективное партнерство. Система Mac OS X продвинулась несколько дальше и отчасти использует UEFI со своим загрузочным менеджером Bootcamp. В линейке Microsoft реальная поддержка UEFI появится в Windows 8, и когда она будет запущена в 2012 году, эта операционная система, вероятно, станет первой из «главных» ОС, где будут весьма интенсивно задействованы преимущества UEFI, включая функции восстановления, обновления, безопасной загрузки и, вполне возможно, что-то еще.

Случилось так, что именно этот первый, действительно крупномасштабный проект Microsoft на основе UEFI породил и первую заметную проблему вокруг новой системы.

⇡#Мягкое выдавливание конкурентов

В сентябре компьютерное сообщество взбудоражила новость о том, что корпорация Microsoft станет требовать поддержки безопасной загрузки UEFI от систем, официально сертифицированных под Windows 8. Вроде бы ничего страшного, но такой подход может с очень большой вероятностью привести к полному блокированию загрузки ОС Linux на Windows-сертифицированных системах.

Кое-где угроза была воспринята настолько серьезно, что, например, в Австралии Linux-сообщество тут же запустило процедуру подачи официальной жалобы в ACCC, Австралийскую комиссию по честной конкуренции и правам потребителей.

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

Есть ощущение, что с выходом Windows 8 увидеть на экране какой-то другой интерфейс станет посложнее. По крайней мере, для людей, не умеющих собирать компьютеры самостоятельно

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

Начиналось все так. В конце сентября один из ведущих разработчиков дистрибутива Red Hat Мэтью Гаррет (Matthew Garrett) в своем блоге отметил, что, согласно новым правилам относительно присвоения машинам логотипа «Windows 8», все компьютеры, совместимые с этой ОС, должны будут иметь для загрузки уровень UEFI вместо устаревшего уровня BIOS.

Причем речь шла не просто о любом уровне спецификаций UEFI (реализованных в разных версиях достаточно давно), а конкретно о безопасном UEFI. Что означает более жесткий контроль за процессом загрузки системы. Конкретнее, это ужесточение означает то, что «все микрокоды прошивки и программное обеспечение, участвующее в процессе загрузки, должны быть криптографически подписаны доверяемым органом сертификации (CA)» — согласно слайдам презентации о загрузочном процессе UEFI в одном из официальных докладов Ари ван дер Ховена (Arie van der Hoeven), главного менеджера программ Microsoft (здесь, наверное, стоит привести и английскую версию названия этой почти непереводимой должности, Principal Program Manager Lead. — прим. редакции).

Именно этот момент — безопасная загрузка — ставит Linux в довольно непростую ситуацию. Потому что он означает, что теперь для «загружаемости» на одной из всех таких «Windows 8»-одобренных машин соответствующий дистрибутив Linux должен иметь сертифицированные криптоключи от конкретного изготовителя компьютера. С чисто технической точки зрения, как пояснил Гаррет в одном из следующих блог-постов, это означает, что на получение такого рода ключей разработчикам любого Linux-дистрибутива потребуется убить порядка недели на переговоры-соглашения с каждым из производителей железа индивидуально.

Судя по всему, коварство Microsoft всерьез потрясло Мэтью Гаррета, так что на всех новых фотографиях он выглядит одинаково удивленным

Ну, к словесным баталиям деятелям мира Linux не привыкать. Однако процедура оказывается чрезвычайно запутанной и трудозатратной — даже для линуксоида со стажем — сразу в двух аспектах: юридическом и практическом.

Во-первых, юридическая сторона. По свидетельству Гаррета, самый распространенный линуксовский загрузчик GRUB 2 лицензирован на условиях лицензии GPLv3. Это вроде бы может означать, что ключи должны быть предоставлены поставщиком вместе с исходным кодом программы. Однако в действительности это весьма мутный момент. Лицензия GPLv3 требует, чтобы ключи цифровой подписи выпускались, когда аппаратное обеспечение продается вместе с ПО, созданным под GPLv3 (и криптографически подписанным). Но если это же подписанное ПО просто используется на чьем-то еще аппаратном обеспечении, тогда ключи не требуются. И хотя уже это выглядит запутанно, ситуация еще более сложна, когда речь идет о GPLv2, лицензии для первоначального загрузчика GRUB (существенно отличающейся в своих требованиях от GPLv3). Для того чтобы полностью избавиться от всех этих юридических неясностей, Гаррет рекомендует просто использовать иной загрузчик, не связанный условиями лицензии GPL.

Вот только гарретовский рецепт, как бы сомнительно он ни выглядел, в реальности может оказаться еще опаснее. Процедура загрузки ОС — это один из сервисов, которые уже встроены в ядро Linux. А ядро этой ОС является кодом, работа с которым определяется лицензией GPLv2, причем ситуацию эту даже не собираются менять — из неких принципиальных соображений и несогласия с GPLv3.

Благодаря заботе Microsoft, многие дистрибутивы Linux могут окончательно утратить имидж user-friendly

И наконец, есть еще один — практический — аспект, о котором упоминает Гаррет. Кто именно будет заниматься тем, чтобы отслеживать и убеждать всех OEM-изготовителей компьютеров, чтобы они предоставляли соответствующие криптоключи, необходимые для безопасной загрузки Linux? Конечно же, многие компании предоставят такие ключи для Windows 8 — коль скоро они хотят иметь возможность продавать свои машины на новой операционной системе Microsoft. Однако в природе не существует никаких правил, которые диктовали бы им, что они обязаны предоставлять такие же ключи кому-то еще. И, учитывая долю рынка Linux, убедить их может оказаться делом непростым…

Между тем ни о какой нечестной конкуренции речи-то не идет. Официальные лица Microsoft уже вполне резонно парировали нападки линуксоидов тем, что с их стороны речь идет исключительно об укреплении безопасности в работе ОС Windows. И они никоим образом не пытаются влиять на то, как именно изготовители аппаратного обеспечения распоряжаются своими криптоключами. Microsoft никак не препятствует выдачам таких же ключей другим операционным системам. А если у индейцев возникают проблемы с третьей стороной, причем тут шериф?

Если пытаться судить объективно, позицию Microsoft здесь никак нельзя называть неправой. Просто реальная ситуация на рынке такова, что небольшого смещения акцентов под здравые, в общем, требования Microsoft оказалось достаточно, чтобы вся ответственность перенеслась на действия (точнее, вероятное бездействие) OEM-изготовителей.

Linux уверенно побеждает Windows только в творчестве фанатов. Если бы кому-то пришло в голову нарисовать истинное положение дел, картинка выглядела бы слишком шокирующе даже для нашего либерального портала

В финальных комментариях на данный счет Мэтью Гаррет говорит следующее: «Microsoft имеет возможности потребовать от поставщиков железа предоставления своих ключей. Их конкуренты таких возможностей не имеют. Всякая система, которая продается с ключами подписи только для Microsoft и никого другого, будет не способна выполнять безопасную загрузку любой операционной системы, отличающейся от Windows. Ни один другой поставщик ПО или аппаратного обеспечения не имеет такой же позиции власти над поставщиками железа. У Red Hat нет возможностей гарантировать, что каждый OEM обеспечит для этой ОС ключи подписи. Нет такой возможности у Canonical (ОС Ubuntu). Нет у Nvidia, или у AMD, или любого другого изготовителя компьютерных компонентов. В этой области влиятельность Microsoft даже больше, чем у корпорации Intel».

На рынке серверов ситуация с Linux будет совершенно не такой, как в продажах настольных систем. В серверном пространстве такие поставщики, как IBM, HP, и Dell, уже инвестировали слишком много и в Linux-системы вообще, и в облачные или виртуальные системы в частности, чтобы у Linux не появлялось никаких проблем с установкой на новых машинах.

Однако в мире настольных систем, где ныне почти никто из OEM не продает компьютеры с предустановленной Linux, совершенно неясно, какие стимулы могут быть у изготовителей железа для раздачи своих криптоключей всем этим разнообразным дистрибутивам Linux. Единственное, что можно прогнозировать наверняка, — Microsoft «разруливанием» данной проблемы заниматься не будет точно.

⇡#Другая сторона медали

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

В конце сентября в американском городе Орландо, штат Флорида, проходила специализированная выставка-конференция под названием NSA Trusted Computing, организованная Агентством национальной безопасности США.

Главный комплекс зданий Агентства национальной безопасности США. По всем признакам, людей там хватает

На этом мероприятии доклад об угрозах компьютерам со стороны BIOS и о путях укрепления защиты на этом направлении сделал Эндрю Регеншайд (Andrew Regenscheid), сотрудник подразделения компьютерной безопасности в составе NIST, американского Национального института стандартов и технологий. Именно это ведомство в тесном сотрудничестве с АНБ занимается подготовкой и изданием технических федеральных стандартов на защиту информации.

В апреле текущего года НИСТ выпустил специальный документ SP 800-47 с рекомендациями о том, каким образом производители компьютеров и использующие их структуры должны работать с BIOS для максимального предотвращения заражений и атак. Одним из главных соавторов данного документа и был Эндрю Регеншайд.

По свидетельству этого эксперта, несмотря на весьма ограниченную роль BIOS в современных компьютерах (где, как принято полагать, функции устаревшей системы сводятся лишь к загрузке ОС), реально BIOS на сегодняшний день представляет собой «нарастающий вектор угроз» для компьютеров и их пользователей. Ощутимый прогресс в защите операционных систем заставил злоумышленников изобретательно искать в компьютерах новые уязвимости. При этом специалисты, занимающиеся безопасностью, о BIOS долгое время забывали. А в совокупности все это стало означать, что креативные злодеи с заметным успехом ныне могут эксплуатировать уязвимости и в кодах прошивки микросхем.

Случаи атак через BIOS уже есть. Так, в начале сентября китайская антивирусная фирма обнаружила в компьютерах весьма опасный руткит, получивший название Mebromi, который успешно заражает своим шпионским компонентом память BIOS-чипов AWARD. Проникнув в BIOS и попутно подменяя MBR, главную загрузочную запись жесткого диска, эта вредоносная программа прописывается в машине так основательно, что удалить ее стандартными средствами не представляется возможным. Просто потому что антивирусные программы не занимаются лечением BIOS.

Как сказал об этом Регеншайд, «если злоумышленник способен проникать в BIOS и модифицировать его код, он получает возможности не только «убить» систему, не допуская ее загрузки, но и внедрить свое шпионское ПО на чрезвычайно высоких по привилегиям уровнях работы системы».

И вот теперь, существенно усложняя общий «ландшафт угроз» для компьютерной безопасности в аспектах BIOS, на сцене появляется UEFI BIOS. То есть следующее поколение системы, в своих спецификациях добавляющее множество новых возможностей как для администраторов и конечных пользователей, так и для злоумышленников.

Совершенно очевидно, что, в отличие от традиционных BIOS, система UEFI способна на много, много большее, чем просто процесс загрузки. Эндрю Регеншайд, в частности, в своем докладе особо подчеркнул набор рабочих сервисов, которые можно вызывать даже в таких условиях, когда основная ОС уже давно загружена и, как принято обычно считать, полностью управляет компьютером. Эта специфическая особенность, а также другие свойства UEFI BIOS, по свидетельству Регеншайда, очень ощутимо расширяют пространство возможных атак на систему.

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

Странная история получается, правда? С одной стороны, во имя безопасности происходит изменение правил игры, существенно осложняющее жизнь «маленьким» участникам. А с другой — уже сейчас, на старте, есть существенные сомнения в том, что этой самой безопасности всерьез прибавится.

Ссылка на основную публикацию
Adblock detector