Что такое UEFI Shell 2.2 и для чего он нужен

Ноутбук или ПК, который вместо привычной загрузки Windows выводит чёрный экран с приглашением Shell>, — типичная ситуация, когда система не нашла загрузочное устройство и автоматически открыла UEFI Shell. Это встроенная командная оболочка прошивки, а версия 2.2 — один из актуальных выпусков её спецификации, поддерживающий расширенный набор команд и скриптов. Понимание того, что это за среда и как ей пользоваться, помогает и при диагностике загрузки, и при обслуживании компьютера.

UEFI Shell 2.2 — это не программа Windows и не вирус, а часть экосистемы UEFI (Unified Extensible Firmware Interface), заменившей классический BIOS. Оболочка запускается до операционной системы и позволяет работать с файлами на дисках, запускать UEFI-приложения, обновлять прошивку и выполнять диагностику. Ниже разберём её назначение, команды и практические сценарии использования.

Что представляет собой UEFI Shell

UEFI Shell — это текстовая командная среда, работающая внутри прошивки материнской платы. По сути, это аналог командной строки, но функционирующий ещё до загрузки какой-либо операционной системы. Спецификация оболочки разрабатывается в рамках стандарта UEFI, а её открытая реализация доступна в проекте EDK II (TianoCore).

Версия 2.2 — это редакция спецификации UEFI Shell, в которой уточнён и расширен набор команд, улучшена работа со скриптами и добавлены новые возможности по сравнению с ранними выпусками 1.x и 2.0/2.1. Точный перечень отличий зафиксирован в официальной спецификации UEFI Shell Specification, и производители плат реализуют поддержку той или иной версии по своему усмотрению.

Оболочка может быть встроена в прошивку платы или запускаться с внешнего носителя как обычное UEFI-приложение — файл Shell.efi. Второй вариант чаще всего используют, если встроенной оболочки в прошивке нет.

Для чего используется оболочка

Командная среда UEFI востребована у системных администраторов, инженеров сервисных центров и продвинутых пользователей. Она позволяет выполнять действия, недоступные из работающей ОС.

  • 🛠️ Обновление прошивки (BIOS/UEFI) с помощью утилит производителя, запускаемых как UEFI-приложения.
  • 💾 Ручной запуск загрузчиков, например \EFI\BOOT\BOOTX64.EFI, если автоматическая загрузка не срабатывает.
  • 📁 Копирование и просмотр файлов на разделах FAT32 без загрузки операционной системы.
  • 🔧 Диагностика оборудования и настройка параметров загрузки через команды вроде bcfg.
  • 📜 Выполнение скриптов .nsh для автоматизации обслуживания парка машин.

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

Основные команды UEFI Shell 2.2

Синтаксис команд напоминает смесь DOS и Unix-подобных оболочек. Диски и разделы обозначаются как FS0:, FS1: и так далее — это сопоставленные файловые системы, которые оболочка смогла распознать.

КомандаНазначениеПример
mapПоказать список доступных дисков и устройствmap
dir / lsПросмотр содержимого каталогаdir FS0:\
cdСмена текущего каталогаcd FS0:\EFI
bcfgПросмотр и правка списка загрузочных записейbcfg boot dump
helpСправка по командам оболочкиhelp bcfg

Полный перечень команд зависит от сборки оболочки: минимальные варианты содержат базовый набор, полные — десятки команд, включая сетевые утилиты и редактор edit. Узнать, что доступно в конкретной копии, можно командой help с ключом просмотра списка.

📊 Для чего вам понадобился UEFI Shell?
ПК загрузился в Shell вместо Windows
Обновление прошивки
Ручной запуск загрузчика
Изучаю UEFI из интереса

Почему компьютер загружается в UEFI Shell вместо Windows

Такое поведение означает, что прошивка не нашла ни одной рабочей загрузочной записи и, как запасной вариант, запустила встроенную оболочку. Возможные причины — сбитый порядок загрузки, повреждённый загрузчик на диске, отключённый или вышедший из строя накопитель, а также сброс настроек UEFI после обновления прошивки или замены батарейки.

Первое действие — проверить, видит ли прошивка диск с системой. В самой оболочке это делается командой:

map -r

Если в списке нет разделов FS0:, FS1: и т.п., вероятно, накопитель не определяется на уровне прошивки — тогда стоит проверить его в настройках UEFI (раздел с информацией о дисках) и физическое подключение. Если разделы видны, можно попробовать запустить загрузчик вручную:

FS0:

cd EFI\Microsoft\Boot

bootmgfw.efi

Успешный запуск bootmgfw.efi означает, что сам загрузчик на месте, а проблема кроется в загрузочных записях — их можно просмотреть командой bcfg boot dump и при необходимости добавить запись вручную. Точный путь к загрузчику зависит от установленной ОС, поэтому при отличиях сверяйтесь с документацией на вашу систему.

⚠️ Внимание: команды bcfg и операции записи изменяют загрузочную конфигурацию прошивки. Перед правками зафиксируйте текущее состояние выводом bcfg boot dump, чтобы была возможность вернуть исходные записи.

☑️ Диагностика загрузки в Shell вместо ОС

Выполнено: 0 / 5

Как запустить UEFI Shell вручную

Если оболочка встроена в прошивку, её обычно можно выбрать в меню загрузки (Boot Menu) или в настройках UEFI — пункт может называться UEFI Shell, EFI Shell или Built-in EFI Shell. Название и само наличие пункта зависят от производителя платы или ноутбука, поэтому ориентируйтесь на документацию конкретной модели.

Если встроенной оболочки нет, её запускают с USB-накопителя. Потребуется флешка, отформатированная в FAT32, на которую помещают файл оболочки по пути \EFI\BOOT\BOOTX64.EFI — тогда носитель станет загрузочным для UEFI-режима. Далее в меню загрузки выбирается эта флешка, и оболочка стартует автоматически.

⚠️ Внимание: запуск UEFI-приложений с внешних носителей может блокироваться функцией Secure Boot. Если оболочка не стартует, проверьте состояние Secure Boot в настройках прошивки — для работы неподписанных утилит его временно отключают, не забыв вернуть настройку после завершения работ.

Скрипты и автоматизация

UEFI Shell поддерживает выполнение сценариев — текстовых файлов с расширением .nsh, содержащих последовательность команд. При старте оболочка автоматически ищет файл startup.nsh на доступных разделах и выполняет его, что удобно для автоматизации: например, для массового обновления прошивок или настройки загрузки на множестве одинаковых машин.

В скриптах доступны переменные, условные конструкции if, циклы for и переходы goto — возможностей достаточно для несложной логики. Версия спецификации 2.2 уточняет поведение этих конструкций, поэтому скрипты, написанные под старые версии оболочки, перед использованием стоит проверить на совместимость.

Как отложить автозапуск startup.nsh

При старте оболочка даёт несколько секунд на нажатие клавиши (обычно Esc), чтобы прервать выполнение startup.nsh. Это полезно, если скрипт на флешке запускает нежелательные действия — успейте нажать клавишу до начала отсчёта.

Ограничения и меры предосторожности

Оболочка работает только с теми файловыми системами, драйверы которых загружены в прошивке. Стандартно гарантирована поддержка FAT32 (и семейства FAT) — именно поэтому загрузочные UEFI-флешки форматируют в неё. Разделы NTFS оболочка по умолчанию обычно не видит, если в прошивку не интегрирован соответствующий драйвер.

Ещё одно ограничение — отсутствие защиты от ошибок: команды удаления и записи выполняются без подтверждений и корзины. Прежде чем копировать, удалять или править файлы на системном разделе, убедитесь, что работаете с нужным томом — сверить его можно по содержимому через dir.

⚠️ Внимание: обновление прошивки через UEFI Shell — рискованная операция. Прерывание процесса (отключение питания, сбой) способно вывести плату из строя. Используйте только утилиты и файлы прошивки от производителя вашей конкретной модели и обеспечьте стабильное питание на всё время процедуры.

Часто задаваемые вопросы

UEFI Shell 2.2 — это вирус или сбой Windows?

Нет. Это штатная командная среда прошивки материнской платы, работающая до загрузки ОС. Её внезапное появление на экране означает, что прошивка не нашла загрузочное устройство — искать причину нужно в диске, загрузчике или настройках загрузки.

Чем версия 2.2 отличается от более ранних?

Версия 2.2 — более поздняя редакция спецификации UEFI Shell с уточнённым набором команд и улучшенной поддержкой скриптов по сравнению с выпусками 1.x и 2.0/2.1. Точный список изменений приведён в официальном документе UEFI Shell Specification; практическая разница для пользователя зависит от того, какую сборку оболочки реализовал производитель платы.

Как выйти из UEFI Shell и загрузить Windows?

Введите команду exit — оболочка закроется, и прошивка продолжит загрузку по списку. Если Windows не стартует, проверьте порядок загрузки в настройках UEFI и видимость диска командой map -r, либо запустите загрузчик вручную из каталога EFI.

Почему оболочка не видит мой диск или флешку?

Возможные причины: накопитель отформатирован в файловой системе, которую прошивка не поддерживает (стандартно гарантирована FAT32); диск не определяется на уровне прошивки; либо устройство подключено после старта оболочки — тогда помогает команда map -r для повторного сканирования. Также проверьте, что диск виден в настройках UEFI.

Можно ли через UEFI Shell восстановить загрузку Windows?

Частично: оболочка позволяет проверить наличие файлов загрузчика, запустить его вручную и отредактировать загрузочные записи командой bcfg. Однако восстановление повреждённых файлов загрузчика обычно выполняется из среды восстановления Windows с установочного носителя — Shell в этом случае служит инструментом диагностики.