Что такое efi в автомобиле?

Электронная система впрыска топлива — Энциклопедия японских машин — на Дром

Как работает система впрыска топлива с электронным управлением?

Система впрыска топлива с электронным управлением работает на некоторых основных принципах. Далее подробно описана работа системы впрыска топлива с электронным управлением (EFI) стандартного типа.

Система впрыска топлива с электронным управлением может быть подразделена на три основные подсистемы. Это: система подачи топлива, система всасывания воздуха и электронная система управления.

Система подачи топлива
— Система подачи топлива состоит из топливного бака, топливного насоса, топливного фильтра, подающего топливопровода (направляющей-распределителя для топлива), топливной форсунки, регулятора топливного давления и обратного топливопровода.
— Топливо подается из бака в форсунку с помощью электрического топливного насоса. Насос обычно расположен внутри или рядом с топливным баком. Загрязнения отфильтровываются высокомощным встроенным топливным фильтром.
— Постоянное давление топлива поддерживается при помощи регулятора топливного давления. Топливо, не направленное во всасывающий трубопровод через форсунку, возвращается в бак по обратному топливопроводу.

Система всасывания воздуха
— Система всасывания воздуха состоит из очистителя воздуха, дроссельного клапана, воздухозаборной камеры, всасывающего коллектора и впускного клапана.
— Когда дроссельный клапан открыт, воздух проходит через очиститель воздуха, через расходомер воздуха (в системах типа L), через дроссельный клапан и хорошо отрегулированный впускной патрубок во впускной клапан.
— Подача воздуха в двигатель – это функция, требующая привода. По мере открытия дроссельного клапана в цилиндры двигателя впускается больше воздуха.
— В двигателях марки «Тойота» используются два различных метода измерения объема впускаемого воздуха. В системе EFI типа L поток воздуха измеряется напрямую с помощью расходомера воздуха. В системе EFI типа D поток воздуха измеряется косвенно с помощью мониторинга давления во всасывающем коллекторе.

Электронная система управления
— Электронная система управления состоит из различных датчиков двигателя, электронного управляющего блока (ECU), устройства топливной форсунки и соответствующей проводки.
— Блок ECU определяет точное количество топлива, которое необходимо подать форсунке, с помощью мониторинга датчиков двигателя.
— Для подачи в двигатель воздуха/топлива в соответствующей пропорции блок ECU включает форсунки на точный период времени, который называется шириной импульса впрыска или продолжительностью впрыска.

Основной режим работы
— Воздух попадает в двигатель через систему всасывания воздуха, где он измеряется расходомером воздуха. Когда воздух попадает в цилиндр, топливо смешивается с воздухом с помощью топливной форсунки.
— Топливные форсунки расположены во всасывающем коллекторе за каждым впускным клапаном. Форсунки представляют собой электроклапаны, управляющийся блоком ECU.
— Блок ECU посылает импульсы на форсунку путем включения и выключения цепи заземления форсунки.
— Когда форсунка включена, она открывается, распыляя топливо на заднюю стенку впускного клапана.
— Когда топливо распыляется во всасываемый поток воздуха, оно смешивается с входящим воздухом и испаряется благодаря низкому давлению во всасывающем коллекторе. Электронный управляющий блок посылает сигналы на форсунку, чтобы обеспечить подачу топлива, достаточного для достижения идеальной пропорции воздух/топливо 14,7:1, которая часто называется стехиометрией.
— Подача точного количества топлива в двигатель – это функция электронного управляющего блока.
— Блок ECU определяет основной объем впрыска на основании измеренного объема воздуха и оборотов двигателя.
— Объем впрыска может изменяться в зависимости от условий эксплуатации двигателя. Блок ECU отслеживает такие переменные величины, как температура охлаждающей жидкости, скорость двигателя, угол дросселя и содержание кислорода в выхлопе и производит корректировку впрыска, которая определяет окончательный объем впрыска.

Преимущества системы EFI
Равномерное распределение воздухо-топливной смеси
Каждый цилиндр имеет собственную форсунку, которая подает топливо непосредственно на впускной клапан. Это позволяет избежать необходимость подавать топливо через всасывающий коллектор, что улучшает распределение между цилиндрами.

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

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

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

Улучшенные пусковые и эксплуатационные качества холодного двигателя
Улучшенное распыление в сочетании со впрыском топлива непосредственно на впускной клапан улучшает пусковые и эксплуатационные качества холодного двигателя.

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


Система EFI/TCCS
С введением системы компьютерного управления (TCCS) система EFI превратилась из простой системы контроля топлива в полностью интегрированную систему управления двигателем и выхлопными газами. Хотя система подачи топлива работает также, как в обычной системе EFI, электронный регулирующий блок системы TCCS также контролирует угол искры зажигания. Кроме того, система TCCS также управляет устройством контроля числа оборотов холостого хода, рециркуляцией выхлопных газов, клапаном переключения вакуума и, в зависимости от применения, другими системами двигателя.

Управление искрой зажигания
Система EFI/TCCS регулирует угол опережения искры зажигания, отслеживая эксплуатационные условия двигателя, вычисляя оптимальную продолжительность зажигания и зажигая свечу в соответствующее время.

Контроль числа оборотов холостого хода
Система EFI/TCCS регулирует число оборотов холостого хода с помощью нескольких устройств разного типа, контролируемых электронным управляющим блоком (ECU). Блок ECU отслеживает эксплуатационные условия двигателя и определяет необходимое число оборотов холостого хода.

Рециркуляция выхлопных газов
Система EFI/TCCS регулирует периоды включения рециркуляции выхлопных газов (EGR) в двигателе. Контроль достигается за счет использования клапана переключения вакуума системы EGR.

Другие системы двигателя
Кроме основных описанных систем электронный регулирующий блок системы TCCS часто контролирует трансмиссию с электронным управлением (ECT), изменяемую всасывающую систему, сцепление компрессора кондиционера воздуха и турбонагнетатель.

Система самодиагностики
Система самодиагностики включена в блоки ECU всех систем TCCS и некоторых обычных систем EFI. Обычный двигатель c системой EFI, оснащенной функцией самодиагностики – это система Р7/EFI. Данная система диагностики использует предупредительную лампочку проверки двигателя в сочетании с измерительным устройством, которое предупреждает водителя об обнаружении неисправностей в системе управления двигателем. Лампочка проверки двигателя также высвечивает ряд кодов диагностики в помощь механику при выявлении и устранении неисправностей.

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

  • Перепечатка разрешается только с разрешения автора и при условии размещения ссылки на источник

Что такое файл EFI?

Файлы EFI являются загрузчиками UEFI и вот как они работают

Файл с расширением EFI является файлом интерфейса расширяемого микропрограммного обеспечения.

Читайте также  Какой кредит лучше взять для покупки автомобиля?

Файлы EFI являются исполняемыми файлами загрузчика, существуют в компьютерных системах на основе UEFI (Unified Extensible Firmware Interface) и содержат данные о том, как должен происходить процесс загрузки.

Файлы EFI можно открывать с помощью EFI Developer Kit и Microsoft EFI Utilities, но, честно говоря, если вы не разработчик оборудования, мало смысла в «открытии» файла EFI.

Где находится файл EFI в Windows?

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

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

Например, в системе UEFI с установленной Windows 10 файл EFI будет расположен в следующем месте в этом скрытом разделе:

Вы увидите файл bootx64.efi , если у вас установлена ​​64-разрядная версия Windows, или файл bootia32.efi , если вы используете 32-разрядную версию. , Смотрите 64-битные и 32-битные: в чем разница? подробнее об этом, если вы не уверены.

На некоторых компьютерах Windows файл winload.efi действует как загрузчик и обычно хранится в следующем месте:

Если системный диск отличается от C или Windows установлена ​​в папку, отличную от Windows , то точный путь на вашем компьютере, конечно, будет отличаться соответственно.

В системе без установленной операционной системы с пустой переменной BootOrder менеджер загрузки материнской платы ищет в предопределенных местах файл EFI, например на дисках в оптических дисках и другие связанные СМИ. Это происходит потому, что, если это поле пустое, у вас не установлена ​​работающая ОС, и, вероятно, вы собираетесь установить одну из следующих.

Например, на установочном DVD-диске Windows 10 или образе ISO существуют следующие два файла, которые менеджер загрузки UEFI вашего компьютера быстро найдет:

Как и в случае с установочным диском Windows и указанным выше путем, диск будет отличаться в зависимости от источника мультимедиа. В этом случае D – это буква, назначенная моему оптическому приводу. Кроме того, как вы могли заметить, на установочный носитель включены как , так и 64-разрядные и 32-разрядные загрузчики EFI. Это связано с тем, что установочный диск содержит оба типа архитектуры в качестве параметров установки.

Где находится файл EFI в других операционных системах?

Вот некоторые местоположения файлов EFI по умолчанию для некоторых операционных систем, отличных от Windows:

macOS использует следующий EFI-файл в качестве загрузчика, но не во всех ситуациях:

Загрузчик EFI для Linux будет отличаться в зависимости от установленного дистрибутива, но вот несколько:

Все еще не можете открыть или использовать файл?

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

Например, у вас действительно может быть файл факсимильного документа eFax EFX, который не имеет ничего общего с файлами расширяемого интерфейса микропрограммы и является документом, который открывается службой факса. Или, может быть, ваш файл использует расширение .EFL и является файлом с внешним форматом или зашифрованным файлом Encryptafile.

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

Вы можете даже попробовать загрузить его в службу конвертации файлов, например Zamzar, чтобы узнать, распознает ли он тип файла и предложить формат преобразования.

Что такое efi в автомобиле?

В чем преимущества UEFI перед BIOS?

  • Более быстрая загрузка за счет отсутствия необходимости поиска загрузчика на всех дисках
  • Поддержка носителей объемом >2Тб
  • Более простая подготовка загрузочных носителей, отсутствие необходимости в записи разных загрузочных секторов
  • Наличие собственного менеджера загрузки. Теперь необязательно заводить многоуровневую чехарду загрузчиков, чтобы организовать мультизагрузочную среду, в EFI NVRAM штатно хранятся все записи о имеющихся загрузчиках, и переключение между загружаемыми ОС осуществляется так же, как и между загрузочными носителями.
  • Более защищенная среда загрузки
  • Графический режим конфигурации UEFI, с поддержкой графики и мыши

Сообщение отредактировал saintonotole — 01.06.13, 17:59

Можно ли обновить мой BIOS на UEFI?
Не совсем. UEFI нельзя прошить вместо BIOS, поскольку он занимает гораздо больше памяти. Но существует такая штука, как DUET. Это загружаемая из BIOS посредством отдельного загрузочного раздела среда UEFI, которая может быть полезна, если вы собираетесь использовать диски объемом >2Тб на своем старом железе с BIOS. Подробнее можно ознакомиться здесь: http://www.rodsbooks.com/bios2uefi/

Сообщение отредактировал saintonotole — 01.06.13, 16:37

Сообщение отредактировал saintonotole — 16.06.13, 18:52

Что такое GPT?
GUID Partition Table, GPT — стандарт формата размещения таблиц разделов на жестком диске. Он является частью интерфейса EFI. EFI использует GPT там, где BIOS использует MBR.

Сообщение отредактировал saintonotole — 01.06.13, 16:38

В чем преимущества GPT перед MBR?

  • Поддержка носителей объемом >2.2Тб
  • Отсутствие ограничения на 4 основных раздела, и как следствие-отсутствие необходимости в логических разделах
  • Повышенная безопасность-GPT хранит резервную копию таблицы разделов в конце диска, поэтому в случае неполадок существует возможность восстановления разметки при помощи запасной таблицы.
  • Защита от повреждения устаревшими программами посредством Protective MBR
  • Существует возможность использования старых загрузочных секторов.

Сообщение отредактировал saintonotole — 08.06.13, 18:32

Где в GPT хранятся аналоги загрузочных секторов?
EFI использует для хранения загрузчиков папку EFI/boot, находящуюся в корне раздела FAT32. По умолчанию должен загружаться файл /EFI/boot/bootx64.efi
Если загружаемый диск размечен в стиле MBR, то наличие файловой системы FAT32 на первом разделе (если их несколько) и файла с загрузчиком, лежащего по дефолтному пути, являются единственными условиями загрузки с этого носителя (CD/DVD тоже поддерживаются). В случае, если диск размечен в стиле GPT, раздел необязательно должен быть первым, но у него должен присутствовать флаг boot (проверить и выставить можно через gparted)

Сообщение отредактировал saintonotole — 01.06.13, 16:38

Возможно ли сконвертировать диск из MBR в GPT и обратно без потери данных?
Да. Для этого потребуется загрузочный диск/флешка с Gparted http://gparted.sourceforge.net/download.php
После загрузки с загрузочного носителя откроется окно gparted, в котором в верхнем правом углу будет отображен рабочий диск (обычно это /dev/sda). Необходимо запомнить имя диска, который вы хотите сконвертировать, открыть терминал, и набрать там sudo gdisk /dev/sda
где вместо sda, при необходимости, нужно подставить имя вашего диска. Затем нужно ввести команду w и подтвердить запись таблицы GPT на диск. Все, диск преобразован в таблицу GPT. Для обратной конвертации в MBR необходимо таким же образом открыть gdisk для вашего диска, и последовательно набрать команду r, затем g, после чего подтвердить запись новой таблицы при помощи команды w.
Так же в среде Windows вам поможет программа Partition Guru либо аналоги.

Читайте также  С какой стороны нужно обходить автомобиль?

Сообщение отредактировал Shoore — 21.05.14, 22:22

Что такое UEFI Shell?
Это среда работы с окружением EFI (терминалоподобная), позволяющая на ходу запускать efi-совместимые загрузчики, выполнять простейшие операции с файлами, а также оперировать встроенным менеджером загрузки. Взять можно тут: https://github.com/tia…/ShellBinPkg/UefiShell
Основные команды тут: http://software.intel.com/en-us/articles/e. -and-scripting/

Сообщение отредактировал AndrewP_1 — 17.12.18, 10:03

Как редактировать/удалить/добавить пункты загрузки в загрузочное меню UEFI?
Качаем UEFI Shell, копируем его в файл /EFI/boot/bootx64.efi на FAT32 флешку, и загружаемся с нее. После удачной загрузки шелла должно появиться приглашение командной строки
Shell>
Выше приглашения должен отобразиться список имеющихся подключенных дисков (fs0:, fs1:, BLK0, и тому подобное). Чтобы еще раз вызвать этот список в случае необходимости, воспользуйтесь командой
map fs*
Из полного имени диска можно почерпнуть некоторую информацию о диске. Например:
PciRoot(0x0)/Pci(0x1,0x1)/ Ata(0x0) / HD ( 1 , MBR ,0x27212721,0x3F,0x13FA6D9)
отсюда
Ata(0x0) -интерфейс подключения диска, а также порт контроллера
HD -это жесткий диск
1 -количество разделов на диске
MBR -схема разметки

Найдя таким образом необходимый диск, нужно перейти в него
fs0:
затем при помощи старых добрых досовских команд dir и cd нужно нащупать и перейти в каталог с загрузочными efi-файлами. Обычно это /EFI/boot/. Затем, находясь в этом каталоге, можно, введя имя файла загрузчика, сразу же загрузиться в него. Чтобы добавить нужный файл в список загрузочных записей, желательно сначала считать уже имеющиеся записи при помощи команды
bcfg boot dump
Затем, чтобы добавить загрузочный файл в этот список, нужно ввести
bcfg boot add N filename.efi » label «
Где N -порядковый номер записи (если на ее месте что-то было-этот пункт перезапишется)
filename.efi -имя файла с загрузчиком
label -имя, под которым эта запись будет отображаться в списке
Можно снова просмотреть список загрузочных записей через
bcfg boot dump
и убедиться, что все на месте. Можно перезагружаться и проверять.
Для удаления записи из списка используется команда
bcfg boot rm N
где N -номер записи

Сообщение отредактировал Shoore — 31.10.14, 16:34

Теория и практика EFI Byte Code

В конце 90-х компания Number Nine Visual Technology, тогдашний светоч дизайна видеокарт, предлагала на сайте VGA BIOS для своих PCI-устройств. Ничего примечательного в этом событии нет. Разве что, видеокарты Number Nine могли работать как на IBM PC-совместимых платформах, так и в MAC-системах, использующих Power PC. Поэтому одно и то же устройство комплектовалось различными файлами BIOS.

Скорее всего, тогда и не могло быть иначе. Как сейчас дело обстоит с поддержкой устройств, рассчитанных на работу в разных аппаратных средах? Ответ на этот вопрос дает спецификация UEFI, в рамках которой предлагается изящное решение – EFI Byte Code или EBC. С его помощью можно создавать кроссплатформенные приложения для firmware.

Как работает EBC

В рамках UEFI-стандарта определяется архитектура виртуальной машины регистрового типа EFI Byte Code Virtual Machine. Интерпретатор команд входит в состав firmware системной платы. Встроенное программное обеспечение плат расширения пишется в системе команд виртуальной машины, в идеале, без использования инструкций центрального процессора. Таким образом, плата расширения будет работоспособна на любой системной плате, поддерживающей EBC, независимо от типа центрального процессора. На сегодня их список не блещет разнообразием: как обычно, здесь есть AMD и Intel в 32-битном и 64-битном вариантах, Itanium, ARM.

Архитектура виртуального процессора EBC

64-разрядный виртуальный процессор EBC содержит 8 регистров общего назначения (R0-R7), поддерживает прямую, косвенную и непосредственную адресацию операндов. Система команд включает арифметические и логические операции, сдвиги, пересылки операндов с поддержкой знакового расширения, условную и безусловную передачу управления, вызовы подпрограмм и возвраты, а также ряд вспомогательных операций. Поддерживается стек, при этом указатель стека (регистр R0) согласно традициям архитектуры x86, классифицируется как регистр общего назначения. Примечательно, что специальная форма инструкции CALL, позволяет из EBC-подпрограмм вызывать подпрограммы, написанные на «родном» языке платформы, в силу того, что иногда такая необходимость все же возникает. Таким же образом из EBC-программ можно вызывать процедуры поддержки UEFI-протоколов, используя при этом модель передачи входных и выходных параметров, не зависящую от типа центрального процессора.

Приступаем к экспериментам

Предлагаемый пример «Hello, EBC!» является UEFI-приложением, написанным в системе команд виртуальной машины EBC (EFI Byte Code). Как уже сказано выше, интерпретатор команд EBC, позволяющий запускать модули данного типа, резидентно входит в состав UEFI firmware системной платы. Использование EBC вместо машинного кода позволяет создавать кроссплатформенные приложения и драйверы, включая firmware различных плат расширения, что делает данные устройства совместимыми с платформами, использующими центральные процессоры архитектуры, отличной от x86.

Пояснения к примеру

Программа выводит текстовое сообщение, используя процедуру вывода строки из набора функций EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL. Рассмотрим детальнее ее исходный код.

Для вызова данной EFI-функции в стеке необходимо передать два параметра: указатель на интерфейсный блок используемого протокола и указатель на строку, представленную в формате UNICODE. Эти параметры подготавливаются в регистрах R1 и R2, затем заносятся в стек инструкциями PUSHn, начиная с последнего параметра. Затем, в регистре R3 размещается адрес для вызова процедуры, прочитанный из интерфейсного блока используемого протокола и выполняется вызов целевой процедуры вывода строки. После возврата, освобождаем стек инструкциями POPn.

Системные таблицы и кроссплатформенность

Для вызова сервисных процедур UEFI-протоколов, приложения используют указатели, находящиеся в системных таблицах UEFI и различных интерфейсных блоках. В 32-битных реализациях UEFI используются указатели размером 4 байта, в 64-битных – размером 8 байт. Следовательно, адрес указателя внутри таблицы будет зависеть от разрядности центрального процессора. Как же обеспечивается кроссплатформенность?

Рассмотрим пример инструкции, передающей в регистр R1 содержимое ячейки памяти, адрес которой равен исходному значению регистра R1 плюс смещение.

Смещение задано в виде двух слагаемых: +5 и +24.

Первое слагаемое +5 является номером адресуемого указателя. Интерпретатор команд EBC умножает это значение на размер указателя, который равен 4 для 32-битных реализаций UEFI и 8 для 64-битных.

Второе слагаемое +24 является константой, не зависящей от типа платформы. Оно используется для задания размера заголовка таблицы EFI_SYSTEM_TABLE.

Подобным образом работают инструкции PUSHn (Push Natural), используемые при подготовке стекового фрейма для вызываемых процедур. Разрядность параметров, записываемых в стек (32 или 64 бита) зависит от разрядности центрального процессора. Так обеспечивается шлюзование между EBC-кодом приложения и процедурами, входящими в состав UEFI-firmware написанными в системе команд центрального процессора.

Трансляция и запуск

Для трансляции программы и генерации EBC-приложения используется FASM 1.69.50. Инструкции виртуальной машины EFI Byte Code заданы в виде шестнадцатеричных констант. Руководствуясь исследовательским интересом, мы намеренно отказались от использования языков высокого уровня и написали наш пример на ассемблере EBC. При этом нам пришлось решить несколько задач, связанных с тем, что транслятор FASM не поддерживает EBC.

После трансляции, в заголовке файла helloebc.efi, по адресам 84h, 85h байты 64h, 86h необходимо заменить на BCh, 0Eh. Таким образом, поле Machine Type, исходно содержащее 8664h (x86-64 machine) заменяем на 0EBCh (EBC machine). Для запуска редактора, встроенного в UEFI Shell, в командной строке требуется набрать: hexedit helloebc.efi.

Рис 1. Коррекция поля Machine Type в заголовке приложения

После этого можно запускать приложение.

Рис 2. Результат работы приложения

Приложение также можно запустить под отладчиком Intel EBC Debugger.

Читайте также  Что такое обратная полярность на аккумуляторе автомобиля?

Рис 3. Загрузка отладчика командой load и запуск EBC-приложения под отладчиком Intel EBC Debugger

Резюме

Работу тестового примера мы проверили в средах IA32 EFI и x64 UEFI. Теоретически, он должен работать на платформах с процессорами Itanium и ARM, но из-за недоступности указанных систем мы не смогли в этом убедиться.

Приложение транслируется в режиме PE64 (Portable Executable 64-bit). Некоторые устаревшие EFI-реализации (например, эмулятор Intel EFI Version 1.10.14.59 Sample Implementation, запускаемый с загрузочной дискеты) не совместимы с данным форматом приложения. Это выражается в некорректной интерпретации таблицы перемещаемых элементов, используемой при настройке модуля на адреса загрузки. Один из путей решения – выполнять настройку программно.

Так как транслятор FASM не поддерживает EFI Byte Code, для обеспечения эффективного программирования на уровне ассемблера EBC в среде FASM, нам предстоит сделать следующее:

  1. Написать небольшую сервисную утилиту для автоматизации перезаписи поля Machine Type в заголовке UEFI-приложения с пересчетом контрольной суммы модуля.
  2. Подготовить набор макросов для использования ассемблерных мнемоник EBC в среде FASM.

BIOS — EFI, UEFI. Что такое UEFI?

BIOS — EFI, UEFI. Что такое UEFI?

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

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

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

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

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

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

Некоторые из преимуществ UEFI:

1. Поддержка дисков объемом более 2,2 Тбайт.

UEFI использует таблицу разделов GPT (GUID Partition Table), которая использует глобальные уникальные идентификаторы адреса разделов и позволяет загрузку с жесткого диска такого размера, как 9,4 ZB (зетабайт). Терабайт составляет 1024 Гб, а зетабайт равен 1024x1024x1024 Гб. Что такое GPT? GPT — новый стандарт формата таблиц разделов на жестком диске (128 разделов). Он является частью интерфейса EFI. EFI использует GPT там, где BIOS использует таблицу разделов MBR. Поддержка современных драйверов устройств с 64-разрядным встроенным ПО, которые система может использовать для привлечения более 17,2 миллиарда гигабайт памяти во время запуска.

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

3. Повышение безопасности при защите процессов, происходящих перед запуском или загрузкой, от атак bootkit. Что такое Secure Boot? Спецификация Secure Boot разработана Microsoft в рамках проекта UEFI и позволяет защитить загрузочную среду от вмешательства в загрузочные файлы путем контроля подписей загружаемых файлов на предмет их соответствия белому списку ключей, зашитых в uefi как доверенные. «Побочным эффектом» такой защиты от руткитов является невозможность установки ОС, отличной от Windows 8 (на данный момент только она поддерживает Secure Boot), а также исключает возможность запуска с старых mbr дисков и загрузочных CD-дисков/флешек.

4. Уменьшение времени загрузки или восстановления после гибернации.

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

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

6. Простое управление.

В меню настроек все можно делать с помощью мышки, раньше это было недоступно, в БИОСе управление было возможно только с клавиатуры. Да и сама картинка, конечно же, отличается, что мы видим в БИОСе сейчас, черный экран и белые строчки. А тут, красивый графический uefi интерфейс с интуитивно понятным меню.

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

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

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

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