UEFI

Несколько слов о концепции использования UEFI BIOS. В ее основу положена функ­ци­о­наль­ность UEFI-интерфейса, ко­то­рый придуман как раз для взаимодействия пер­со­наль­ной платформы с программным обес­пе­че­ни­ем. Стоит на лю­бом из внешних загрузочных носителей с файловой системой FAT32 в ка­та­лог /efi/boot записать файл bootx64.efi (или bootia32.efi для 32-битных плат­форм) — и запуск оболочки обес­пе­чит вам доступ ко всем ресурсам UEFI BIOS. Пи­ши­те на этой палитре теми при­ло­же­ни­я­ми, которые принесут пользу, или удо­воль­ст­вие, или все сразу вместе. Про­буй­те, экс­пе­ри­мен­ти­руй­те!

Невероятно, но факт

Запускать UEFI-приложения можно из shell-оболочки как перемещаясь по дереву каталогов, так и с ис­поль­зо­ва­ни­ем умол­ча­ния, похожего на переменную окружения path, применяющуюся в MS-DOS. Такое умол­ча­ние позволяет из лю­бо­го мес­та за­пус­кать при­ложения с расширением efi, которые хранятся в директории с за­ре­зер­ви­ро­ван­ным именем /efi/tools.

Указанная возможность обнаружена экспериментально. Документальных под­тверж­де­ний этому нет и неизвестно, где задается (и как пополняется список) за­ре­зер­ви­ро­ван­ных каталогов. В любом случае — это работает!

Если не выполнить, то загрузить

Не все файлы с расширением .efi пригодны для запуска из shell-оболочки. Хорошо это или плохо? Ответ один — просто волшебно! Перед нами драйверный механизм, с по­мо­щью которого пользователь может получить самую не­о­жи­дан­ную функ­ци­о­наль­ность.

UEFI, например, работает только с носителями, отформатированными как FAT32. Для обслуживания NTFS разделов (гром­ко сказано — для обслуживания, пока что хотя бы для доступа к ним) есть и применяются соответствующие драй­ве­ры. Их-то как раз и не нужно запускать в shell-оболочке. Такой или подобный драйвер достаточно один раз за­гру­зить в UEFI командой load — и готово!

Андроидальное расстройство

Андроидальное расстройство

Лет пять тому назад позиции Intel и Microsoft на рын­ке пер­со­наль­ных вы­чис­ли­тель­ных сис­тем ка­за­лись не­зы­бле­мы­ми, а идеи Go­ogle по со­зда­нию но­вой опе­ра­ци­он­ной сре­ды вос­при­ни­ма­лись с улыб­кой. Как силь­но из­ме­нил­ся циф­ро­вой мир за это вре­мя! По­че­му же ус­пех со­пут­ст­во­вал ком­па­нии, за­ни­ма­ю­щей­ся по­ис­ко­вы­ми ал­го­рит­ма­ми, и, мяг­ко го­во­ря, не со­бла­го­во­лил за­слу­жен­ным про­грам­мис­там и «же­ле­зяч­ни­кам» про­ш­ло­го? Да­вай­те оце­ним ушед­шие воз­мож­нос­ти с точки зрения дня сегодняшнего.

Сверши задуманное: построй мавзолей из «Тетриса»

Когда в конце 90-х годов на полном серьезе обсуждался проект OpenBIOS, в числе прочих предложений запомнилось пожелание встроить в CMOS Setup одну из по­пу­ляр­ных игр. Если не ошибаюсь, речь шла о «Тетрисе». Публика повеселилась и  забыла об этом курьезе. А зря, ведь «Тетрис» ­­– это очень жизненная игра. Она на­гляд­но демонстрирует, что  ждет нас в будущем, если проиграть на старте.

UEFI BIOS убивает ноутбуки Thinkpad?

UEFI BIOS убивает ноутбуки Thinkpad?

Походя брошенное обвинение в адрес 540-й серии ноутбуков ThinkPad, смысл которого полностью умещается в несколько слов типа «Загрузка Linux выводит из строя некоторые модели ThinkPad», с недавних пор за­мельтешило в заголовках новостных сайтов. Эхо скандала докатилось и до Украины, коснувшись даже наших знакомых. Друзья из интернет-магазинов, озабоченные снижением продаж, обратились к нам с просьбой про­комментировать ситуацию. Дело в том, что ноутбуки Le­no­vo активно про­двигаются на страницах их ресурса, а моделям ThinkPad выделена це­лая рубрика. Мы попытались разобраться в проблеме, озву­чен­ной Теодором Тсо (Theodore Ts’o) – одним из разработчиков Linux.

UEFI-диагностика: первые итоги

UEFI-диагностика: первые итоги

В недавно опубликованной статье «UEFI-диагностика: проблемы и решения» мы акцентировали внимание на одной особенности firmware современных персональных платформ, приводящей к существенному снижению производительности при доступе центрального процессора к видео памяти. Недостаток контекста, созданного BIOS при ини­ци­а­ли­за­ции ресурсов шины PCI Express, состоит в том, что Prefetchable диапазон видео адаптера, обеспечивающий доступ к видео памяти, адресуется через Non-Prefetchable диапазон моста PCI Express. При этом Prefetchable диапазон моста PCI Express выключен. Это делает невозможным использование тех­нологий повышения пропускной способности шины при операциях с видео памятью.

Сможет ли UEFI обеспечить компьютерную безопасность?

Сможет ли UEFI обеспечить компьютерную безопасность?

Технологии обеспечения безопасности в современных операционных системах базируются на присвоении выполняемым программным модулям одного из двух статусов.

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

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

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

UEFI-диагностика: проблемы и решения

Нетрудно заметить, что интерфейс UEFI оптимален для це­лого ряда операций по обслуживанию персональных плат­форм и разработки диагностического программного обес­пе­че­ния. Большие операционные системы, такие как, на­при­мер, Microsoft Windows имеют мало шансов на загрузку, если сбоит память или другие системные ресурсы.

Из множества альтернатив лучшим вариантом представля­ет­ся UEFI, ведь к моменту старта UEFI-приложения, BIOS инициализирует контекст, обеспечивающий 64-битную ад­ресацию и беспрепятственный доступ к системным ре­сур­сам. А набор сервисных функций или UEFI-протоколов, об­рабатываемых firmware, дает в рас­по­ря­же­ние про­грам­мис­та уникальный набор возможностей, недо­ступ­ный в любой другой среде, использующей Legacy Boot.

Эксперименты с настройками UEFI BIOS

Эксперименты с настройками UEFI BIOS

В предыдущей публикации «Компостер» коснулся тонких материй, со­еди­ня­ю­щих прошлое с настоящим. В ком­пью­тер­ном мире это называется совместимостью. Пытливый ум экспериментатора хочет знать: что будет, если ослу­шать­ся маму мануал и отказаться от со­в­мес­ти­мос­ти? Другими словами: хорошо ли усвоен материал по вы­пол­не­нию на материнской плате операции Clear CMOS? Если с этим все в порядке, следуйте за нами, до­ро­гие читатели. Мы начинаем эксперименты с утилитой Aptio Setup Utility, надежно встроенной в состав UEFI BIOS производства Ame­ri­can Megatrends.

UEFI в режиме совместимости

UEFI в режиме совместимости

Замена Legacy BIOS на рас­ши­ря­е­мый ин­тер­фейс фир­мен­но­го про­грам­мно­го обес­пе­че­ния, бо­ль­ше из­вест­ный как UEFI, про­и­зо­шла быст­ро и без­бо­лез­нен­но. В этом нет ни­че­го уди­ви­те­ль­но­го – не­сколь­ко се­кунд стар­та ком­пью­те­ра или но­ут­бу­ка – кап­ля в мо­ре вре­ме­ни, ко­то­рое поль­зо­ва­те­ли тра­тят на ра­бо­ту с при­ло­же­ни­я­ми в опе­ра­ци­он­ных сис­те­мах. О стар­те бу­дут го­во­рить толь­ко в том слу­чае, ес­ли он не со­сто­ял­ся. Да­вай­те рас­смот­рим тех­но­ло­гии, ко­то­рые сто­ят на стра­же спо­кой­ст­вия поль­зо­ва­те­лей: что обес­пе­чи­ва­ет со­вмес­ти­мость UEFI в ус­ло­виях за­ме­ны ус­та­рев­ших кон­цеп­ций бо­лее но­вы­ми?

Graphics Output Protocol в среде UEFI: решение существует

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

Оказалось, что мир UEFI сложен и многообразен, и firmware не всегда работает так, как написа­но в документации.

Производительность и совместимость UEFI

Стандарт Graphics Output Protocol (GOP) сегодня является основной тех­но­ло­ги­ей для разработки графических UEFI-приложений. Его раз­ра­бот­чи­кам удалось предложить изящное решение пригодное для редизайна ус­та­рев­ших программ, использующих VESA BIOS Extension. В то же время, по­тен­циал GOP позволяет процедурам UEFI-firmware использо­вать воз­мож­нос­ти графического акселератора. При этом UEFI-при­ло­же­ния, вза­имо­дей­ству­ю­щие с графическим процессором посредством firm­ware, могут быть ос­во­бо­жде­ны от поддержки ог­ром­но­го количества моделей графических про­цес­со­ров.