Uefi built in efi shell что это в биосе

BootDev

Создание загрузочных дисков и прочие полезные мелочи

Страницы

2018-10-29

UEFI Shell: Что делать если не загружается ОС

Представим ситуацию, что по какой то причине, вместо обычной загрузки операционной системы, перед вами появилась командная строка UEFI Shell, с сообщением «Press ESC in 1 in seconds to skip staurtup.nsh or any other key to continue». Что делать?

Uefi built in efi shell что это в биосе. scr 2018 10 29 011. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 29 011. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 29 011

Содержание

Возможные Причины

Загрузка в UEFI происходит согласно загрузочным записям. Если в BIOS данные записи представляли просто список имеющихся жестких дисков, то UEFI в данном плане действует по другой схеме. По умолчанию UEFI определяет все диски с таблицей разделов MBR и GPT, с последующим поиском на них разделов отформатированных в поддерживаемую файловую систему. Таковой является FAT(12, 16, 32). Данные диски попадают в загрузочный список. Приоритет загрузки данного списка можно конфигурировать через интерфейс UEFI, или с помощью командной оболочки UEFI Shell.

Uefi built in efi shell что это в биосе. scr 2018 10 22 001. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 22 001. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 22 001

Каждая загрузочная запись может указывать либо просто на диск, в котором содержится соответствующий FAT-раздел, либо на конкретный *.efi файл. В первом случае UEFI будет искать загрузочный файл по умолчанию. Таковыми, к примеру, являются /EFI/boot/bootx64.efi, /EFI/boot/bootia32.efi, /EFI/boot/bootarm.efi или /EFI/boot/bootaa64.efi. В данном случае указаны файлы boot*.efi предназначены для разных архитектур ПК.

Uefi built in efi shell что это в биосе. scr 2018 10 22 002. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 22 002. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 22 002

Исполняемые файлы boot*.efi выполняют запуск основного загрузчика операционной системы, таких как Windows Boot Manager, GRUB2, rEFInd, Clover, Xorboot и других. Загрузчик в свою очередь, уже выполняет запуск ядра операционной системы.

Uefi built in efi shell что это в биосе. scr 2018 10 22 003. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 22 003. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 22 003

Учитывая все сказанное, можно сделать вывод. Раз перед нами красуется UEFI Shell, то значит подсистеме UEFI по какой то причине не удалось найти необходимый загрузочный *.efi файл. Он может быть поврежденным, или просто отсутствовать. Или как говорилось немного выше, может быть просто изменен приоритет загрузочных записей. И последний вариант, просто отсутствует необходимая загрузочная запись.

Uefi built in efi shell что это в биосе. scr 2018 10 22 004. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 22 004. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 22 004

Что Делать в UEFI Shell

Последний шаг, это проверка вручную возможность загрузки с указанного EFI-приложения или диска.

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

К примеру, приложение /EFI/Boot/bootx64.efi, указанное в загрузочной записи, запускает /EFI/Microsoft/Boot/bootmgfw.efi, которое запускает приложение выполняющее запуск операционной системы с другого раздела /Windows/System32/Boot/winload.efi.

Если же загрузочная запись указывает просто на диск, то при загрузке с такой записи, на указанном накопителе будет производиться поиск загрузочного EFI-раздела, и в случае его нахождения, поиск на нем загрузочного EFI-приложения по умолчанию (/efi/boot/boot*.efi).

Вводим Команды

Все последующие операции будут производиться на виртуальной машине VirtualBox. На виртуальный диск которой, установлено две операционные системы, Windows 10 и Ubuntu 18.10. В качестве основного загрузчика используется GRUB2. Загрузчик Windows Boot Manager, так же присутствует, но не используется.

Uefi built in efi shell что это в биосе. %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2018 10 23%2B22 37 39. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2018 10 23%2B22 37 39. картинка Uefi built in efi shell что это в биосе. картинка %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2018 10 23%2B22 37 39

Не лишним будет, перед началом работы с UEFI Shell, ознакомиться с описанием данной командной оболочки, доступным по этой ссылке https://www.bootdev.ru/2018/05/EFI-Shell.html.

Настройка Консоли

Uefi built in efi shell что это в биосе. scr 2018 10 27 005. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 005. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 005

Доступные варианты цветов можно посмотреть в справке по команде.

Uefi built in efi shell что это в биосе. scr 2018 10 26 006. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 26 006. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 26 006

Uefi built in efi shell что это в биосе. 6qcBbJAOYScFJcLoVwfegIf. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-6qcBbJAOYScFJcLoVwfegIf. картинка Uefi built in efi shell что это в биосе. картинка 6qcBbJAOYScFJcLoVwfegIf

А уже после, с указанием нужного разрешения.

Uefi built in efi shell что это в биосе. scr 2018 10 26 004. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 26 004. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 26 004

Uefi built in efi shell что это в биосе. scr 2018 10 26 005. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 26 005. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 26 005

Вывод Загрузочных Записей

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

Uefi built in efi shell что это в биосе. scr 2018 10 26 007. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 26 007. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 26 007

Текущая загрузочная конфигурация состоит из трех записей.

Из присутствующих записей, только одна может осуществлять загрузку операционной системы, это запись под номером 1 (по факту вторая). Запоминаем номер диска и его тип из параметра DevPath.

Uefi built in efi shell что это в биосе. scr 2018 10 27 001. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 001. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 001

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

Проверка Наличия EFI-раздела

Uefi built in efi shell что это в биосе. scr 2018 10 27 002. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 002. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 002

Вывод команды, представляет список точек монтирования FS x : и BLK x :, где x это номер.

Uefi built in efi shell что это в биосе. scr 2018 10 27 008. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 008. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 008

Точки монтирования начинающиеся с префикса FS (File System), указывают на разделы или диски (в данном случае имеются в виду CD-диски) файловую систему которых подсистема UEFI смогла определить. То есть, с таким разделом/диском можно полноценно работать. Чтение, редактирование, создание, копирование, удаление, перемещение файлов и каталогов.

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

Для понимания, ниже, на снимке экрана, отмечены все точки монтирования указывающие на диски (то есть доступ к данным начинается с первого сектора диска).

Uefi built in efi shell что это в биосе. scr 2018 10 27 009. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 009. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 009

Все что не отмечено, это разделы отмеченных дисков.

Исключением из правила, что точки монтирования BLK не определяются, так же возможны. А возможны они если к примеру есть точка монтирования FS и BLK указывающие на один и тот же раздел/диск. Ниже, на снимке, отмечены таковые.

Uefi built in efi shell что это в биосе. scr 2018 10 27 007. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 007. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 007

Теперь собственно ответ на вопрос, какой из указанных разделов или дисков может являться для подсистемы UEFI загрузочным, то есть может быть EFI-разделом. Таким может быть любая FSx: точка монтирования. Здесь логика проста, если UEFI может прочитать содержимое указанной точки монтирования, то значит возможен поиск загрузчика по умолчанию (тот что располагается в папке /efi/boot/).

В предыдущем разделе, при просмотре загрузочных записей, мы выяснили что загрузочным диском является диск Sata(0x0, 0x0, 0x0). К данному диску относятся следующие записи, отмеченные на снимке ниже.

Uefi built in efi shell что это в биосе. scr 2018 10 27 010. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 010. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 010

Uefi built in efi shell что это в биосе. scr 2018 10 27 011. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 011. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 011

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

Проверка Наличия EFI-приложения

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

Uefi built in efi shell что это в биосе. scr 2018 10 27 012. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 012. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 012

Для удобства восприятия, далее по тексту, метки точек монтирования, я буду называть дисками. По аналогии с дисками операционной системы Windows, буква после которой идет знак двоеточия. UEFI Shell в этом плане, как раз копирует, по своим повадкам в большей степени, именно командную оболочку Windows CMD.

Выполним переход на диск FS0.

Uefi built in efi shell что это в биосе. scr 2018 10 27 013. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 013. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 013

Приглашение ввода команд изменится, и будет отображать текущее ваше местоположение в файловой системе. На данный момент это корень диска FS0. Просмотрим его содержимое.

Uefi built in efi shell что это в биосе. scr 2018 10 27 014. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 014. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 014

В корне диска, присутствует только каталог EFI. Перейдем в данный каталог и посмотрим что в нем находится.

Uefi built in efi shell что это в биосе. scr 2018 10 27 015. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 015. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 015

Внутри каталога EFI находится три подкаталога Boot, Microsoft и ubuntu. Каталог Boot является в данном случае загрузочным по умолчанию. В нем располагаются загрузочные приложения boot*.efi, которые запускаются подсистемой UEFI автоматически. Просмотрим содержимое данного каталога.

Uefi built in efi shell что это в биосе. scr 2018 10 27 016. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 016. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 016

Вывод команды показывает, что в каталоге Boot содержится три файла, один из которых bootx64.efi. Данный файл запускается подсистемой UEFI автоматически. Хочу обратить ваше внимание на цвета данных файлов, в выводе команды ls, они зеленые. Это говорит о том, что данные файлы являются исполняемыми, и их можно запустить вручную.

Если сейчас выполнить запуск файла bootx64.efi, то загрузится загрузчик GRUB2.

Uefi built in efi shell что это в биосе. scr 2018 10 27 018. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 018. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 018

Uefi built in efi shell что это в биосе. scr 2018 10 27 017. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 017. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 017

Каталоги Microsoft и ubuntu, содержат файлы загрузчиков Windows Boot Manager и GRUB2 соответственно.

Uefi built in efi shell что это в биосе. scr 2018 10 27 019. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 019. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 019

Для каталога Microsoft, основные файлы загрузчика располагаются в подкаталоге Boot.

Uefi built in efi shell что это в биосе. scr 2018 10 27 020. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 020. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 020

Основной загрузчик на данный момент GRUB2. Это означает, что файл /EFI/Boot/bootx64.efi как то использует содержимое каталога /EFI/ubuntu/. Будь то запуск исполняемого файла, либо чтение файла конфигурации. Взглянем внимательно содержимое папок /EFI/Boot/ и /EFI/ubuntu/.

Uefi built in efi shell что это в биосе. scr 2018 10 27 021. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 27 021. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 27 021

Обратите внимание на файлы shimx64.efi и bootx64.efi, а точнее на их размер. Думаю вы догадались, что данные файлы идентичны. А это означает что, файлу bootx64.efi нет смысла запускать свою копию. Остается два варианта, либо это файл grubx64.efi, что более очевидно исходя из имени файла, либо mmx64.efi. Запустим файл mmx64.efi, чтобы убедиться что это не то приложение.

Uefi built in efi shell что это в биосе. scr 2018 10 28 001. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 28 001. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 28 001

Ожидания подтвердились, открылся явно не загрузчик GRUB2.

Подведем промежуточный итог. Файл /EFI/Boot/bootx64.efi на само деле является файлом /EFI/ubuntu/shimx64.efi. Приложение /EFI/Boot/bootx64.efi при запуске, вызывает другое приложение, а именно /EFI/ubuntu/grubx64.efi. В последнем можно убедиться, просто переименовав файл /EFI/ubuntu/grubx64.efi, с последующей попыткой загрузки с данного диска.

Что полезного можно извлечь из этой информации? Самое важное, это то, что папка /EFI/ubuntu/ содержит полный набор файлов. Если вдруг по какой либо причине, оригинальный файл /EFI/Boot/bootx64.efi будет удален или поврежден, то его можно будет лего восстановить, простым копированием файла /EFI/ubuntu/shimx64.efi с последующим переименованием в bootx64.efi.

Такое поведение, характерно и для директории /EFI/Microsoft/Boot/. В ней так же содержится все необходимое. Роль файла /EFI/Boot/bootx64.efi будет исполнять /EFI/Microsoft/Boot/bootmgfw.efi. Который в свою очередь будет запускать файл /EFI/Microsoft/Boot/bootmgr.efi. То есть, выполнив такую подмену, вместо загрузчика GRUB2 будет запускаться Windows Boot Manager. Попробуем провести такую подмену.

Uefi built in efi shell что это в биосе. scr 2018 10 28 002. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 28 002. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 28 002

Uefi built in efi shell что это в биосе. scr 2018 10 28 004. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 28 004. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 28 004

Uefi built in efi shell что это в биосе. scr 2018 10 28 005. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 28 005. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 28 005

Uefi built in efi shell что это в биосе. scr 2018 10 28 006. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 28 006. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 28 006

Windows Boot Manager успешно запустился, и загрузил операционную систему Windows 10.

Чтобы вернуть на место загрузчик GRUB2, достаточно просто удалить (или переименовать) текущий файл /EFI/Boot/bootx64.efi, и переименовать /EFI/Boot/bootx64.efi_ к своему прежнему имени bootx64.efi.

Uefi built in efi shell что это в биосе. scr 2018 10 29 002. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 29 002. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 29 002

Добавление Загрузочных Записей

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

Uefi built in efi shell что это в биосе. scr 2018 10 29 001. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 29 001. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 29 001

В прошлой главе, для того чтобы вернуть вместо загрузчика GRUB2 загрузчик Windows Boot Manager, приходилось производить файловые манипуляции. Переименование и подмена файла bootx64.efi. Точно такого же результата можно добиться просто добавив загрузочную запись, указывающей на нужный исполняемый файл необходимого загрузчика. Добавим ее.

Uefi built in efi shell что это в биосе. scr 2018 10 29 005. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 29 005. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 29 005

Посмотрим на загрузочное меню, после добавление новой записи.

Uefi built in efi shell что это в биосе. scr 2018 10 29 006. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 29 006. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 29 006

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

Uefi built in efi shell что это в биосе. scr 2018 10 29 007. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 29 007. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 29 007

Взглянем на загрузочное меню.

Uefi built in efi shell что это в биосе. scr 2018 10 29 008. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 29 008. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 29 008

И последнее что осталось сделать, это удалить добавленную запись.

Uefi built in efi shell что это в биосе. scr 2018 10 29 009. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 29 009. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 29 009

Смотрим загрузочное меню.

Uefi built in efi shell что это в биосе. scr 2018 10 29 010. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-scr 2018 10 29 010. картинка Uefi built in efi shell что это в биосе. картинка scr 2018 10 29 010

Загрузочная запись полностью удалена.

Важным нюансом является нумерация. Учтите что она начинается с нуля. То есть если речь идет о третей записи по списку, ее номер будет 2.

В данном материале были затронуты следующие вопросы: Что делать если вместо операционной системы загрузилась UEFI Shell? Как работать с UEFI Shell? Как работать с файлами в UEFI Shell? Как восстановить, вернуть прежний загрузчик через UEFI Shell? Как определить загрузочный EFI-раздел? Как работать с загрузочными записями через UEFI Shell? Как добавить загрузочную запись UEFI Shell? Как изменить приоритет загрузочной записи через UEFI Shell? Как удалить загрузочную запись в UEFI Shell? Как выполнить запуск приложений EFI? Как загрузить операционную систему через UEFI Shell?

Думаю это не последняя статья на тему UEFI Shell. В следующих, мы поговорим о загрузке драйверов в UEFI Shell. И установке дополнительного загрузчика через UEFI Shell.

Источник

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

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

Старый-добрый BIOS

Основные принципы функционирования BIOS (базовой системы ввода-вывода) для персональных компьютеров были определены еще в конце 70х годов прошлого века. На протяжении довольно большого промежутка времени, прошедшего с той поры, компьютерная отрасль интенсивно развивалась, это приводило к тому, что на определенных этапах возможностей BIOS было недостаточно, поскольку выпускаемые производителями устройства имели на борту новые технологии, часто не совместимые с текущими версиями BIOS. Что бы уйти от подобных проблем, разработчикам приходилось порой довольно существенно модифицировать код BIOS, однако целый ряд ограничений так и остался неизменным до настоящего времени. И, если первоначально архитектура BIOS была достаточно простой, то по прошествии времени она неминуемо усложнялась, адаптируясь под все новые и новые технологии, поэтому, к определенному моменту она стала напоминать нагромождение различного рода устаревшего и плохо взаимодействующего между собой кода. Ограничения, которые и по сей день можно встретить в коде BIOS, объясняются необходимостью сохранять совместимость с базовыми функциями, необходимыми для функционирования старого ПО. Всё это привело к тому, что BIOS, по сути, стал самым устаревшим компонентом современных ПК. На данный момент BIOS мало удовлетворяет требованиям новейшего оборудования и имеет следующие недостатки:

Все эти, а так же некоторые другие, недостатки традиционной модели BIOS и привели к тому, что коалиция производителей аппаратуры и ПО начала работать над созданием спецификации UEFI. Начиная, по собственным наблюдениям, где-то с 2010 года, спецификация UEFI начала массово внедряться во все вновь выпускаемые материнские платы ведущих производителей, поэтому на данный момент найти новый компьютер с традиционным BIOS практически невозможно. Однако, сильно огорчаться из-за этого не стоит, поскольку многие производители в своих системных платах сохраняют совместимость с функционалом традиционных BIOS. К примеру, очень важным моментом является поддержка традиционного режима загрузки при помощи MBR. С этой целью был разработан UEFI-модуль режима эмуляции BIOS, который носит название Compatibility Support Module (CSM). Правда, я так полагаю, со временем все меньше и меньше производителей будут поддерживать в своих прошивках данный режим.

Преимущества UEFI

Тут я хотел бы определить достоинства интерфейса UEFI:

Недостатки UEFI

А теперь хотелось бы осветить недостатки технологии UEFI:

Алгоритм работы UEFI

В процессе создания UEFI, разработчиками с самого начала были установлены жесткие рамки для каждого процесса, участвующего в ходе выполнения. Первые три фазы (SEC, PEI, DXE) подготавливают платформу для загрузчика ОС, четвертая фаза (BDS) непосредственно производит загрузку загрузчика ОС. Давайте попробуем разобрать алгоритм работы UEFI и подробнее рассмотреть все его фазы.

Алгоритм работы UEFI Boot Manager

Концепция загрузки UEFI существенно отличается от аналогичной в BIOS. Если вспомнить BIOS, то за загрузку там отвечал код начального загрузчика int 19h (bootstrap loader), задача которого состояла лишь в том, чтобы загрузить главную загрузочную запись (MBR) с устройства загрузки в память и передать ей управление. В UEFI всё несколько интереснее, она содержит свой собственный полноценный встроенный загрузчик, который носит название UEFI Boot Manager (Менеджер загрузки UEFI или просто Boot Manager), имеющий куда более богатый функционал.

Boot Manager реализует довольно широкий набор функций, в число которых входит загрузка таких UEFI-образов, как: UEFI-загрузчиков ОС первой стадии, UEFI-драйверов, UEFI-приложений. Загрузка может производиться из любого UEFI-образа, размещенного на любой поддерживаемой UEFI файловой системе, располагающейся на любом поддерживаемом платформой физическом носителе информации. UEFI Boot Manager имеет свою собственную конфигурацию, параметры которой в виде ряда переменных располагаются в общей NVRAM (Non-volatile RAM).

Вот так, примерно, я представляю себе алгоритм перебора носителей в процессе работы UEFI:

Uefi built in efi shell что это в биосе. uefi boot manager. Uefi built in efi shell что это в биосе фото. Uefi built in efi shell что это в биосе-uefi boot manager. картинка Uefi built in efi shell что это в биосе. картинка uefi boot manager

Требования к загрузочным носителям UEFI

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

Требования для жестких дисков

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *