Shell Full EFI: полное руководство по UEFI Shell

Компьютер после включения вместо Windows показывает чёрный экран с приглашением Shell> и строкой вроде map: Cannot find required map name — это и есть попадание в EFI Shell, встроенную командную оболочку UEFI-прошивки. Запрос «shell full efi» обычно означает одно из двух: либо пользователь ищет полную версию оболочки UEFI Shell (EDK II full shell) для прошивки и диагностики, либо хочет понять, почему система сама загружается в этот режим и как из него выйти.

EFI Shell — это не ошибка и не вирус, а легитимный инструмент низкоуровневой работы с прошивкой: через него обновляют BIOS, запускают диагностические утилиты и загружают ОС вручную. Проблема возникает только тогда, когда загрузчик не находит ни одного подходящего устройства и «роняет» пользователя в оболочку. Разберём оба сценария: как выйти из случайного попадания в Shell и как осознанно использовать его возможности.

Что такое EFI Shell и чем отличается полная версия

UEFI Shell — командный интерпретатор, работающий в среде UEFI до загрузки операционной системы. Он существует в двух вариантах: минимальном (minimal shell), встроенном в прошивку многих плат, и полном (full shell), собранном из проекта EDK II. Минимальная версия поддерживает лишь базовые команды навигации и запуска, тогда как полная включает расширенный набор: редактирование файлов, работу с сетью, скрипты и подробную диагностику устройств.

Именно полную версию обычно имеют в виду под запросом «shell full efi». Она распространяется как файл Shell_Full.efi или shellx64.efi, который кладут на FAT32-флешку и запускают из меню загрузки. Такой инструмент нужен, когда встроенная оболочка платы урезана, а задача требует полноценных команд — например, ручной прошивки контроллера или запуска setup.nsh-скриптов.

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

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

  • 🔌 Отключился или вышел из строя диск с установленной системой — проверьте, виден ли накопитель в списке устройств UEFI.
  • 🧭 Сбился порядок загрузки: после обновления прошивки или сброса настроек первым стоит не тот носитель.
  • 💾 Повреждён загрузчик \EFI\Boot\bootx64.efi или загрузочная запись Windows Boot Manager.
  • 🔀 Диск размечен в MBR, а режим загрузки выставлен в чистый UEFI (или наоборот — включён CSM для GPT-диска).
  • 🆕 Новый пустой диск без операционной системы — оболочка открывается, потому что загружаться попросту нечему.

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

📊 Почему вы попали в EFI Shell?
Компьютер сам загрузился в Shell после включения
Нужна полная версия Shell для прошивки/диагностики
Настраиваю загрузку с флешки
Изучаю UEFI из любопытства

Как выйти из EFI Shell и восстановить загрузку

Самый простой выход — команда exit: она закрывает оболочку и возвращает в меню настроек UEFI либо перезагружает машину. Но если причина не устранена, при следующем включении вы снова окажетесь в Shell>. Поэтому действуйте по порядку.

Сначала попробуйте загрузить систему вручную. Найдите диск с Windows через map, переключитесь на него и запустите загрузчик напрямую:

Shell> fs0:

FS0:\> cd EFI\Microsoft\Boot

FS0:\EFI\Microsoft\Boot\> bootmgfw.efi

Если система стартовала — значит, диск и загрузчик целы, а сбит только порядок загрузки. Зайдите в настройки UEFI и поставьте Windows Boot Manager первым в списке. Конкретный путь к этому пункту зависит от производителя платы, поэтому сверьтесь с руководством к вашей модели.

☑️ Восстановление загрузки из EFI Shell

Выполнено: 0 / 5
⚠️ Внимание: не перепрошивайте BIOS и не запускайте незнакомые .efi-файлы «на всякий случай». Ошибочная прошивка может вывести плату из строя. Сначала исчерпайте обратимые проверки: порядок загрузки, кабели, режим контроллера.

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

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

КомандаНазначениеПример
mapСписок устройств и файловых системmap -r — обновить список
fs0:, fs1:Переключение между дискамиfs0:
ls / dirПросмотр содержимого каталогаls \EFI\Boot
cdСмена каталогаcd EFI\Boot
editВстроенный текстовый редакторedit startup.nsh
exitВыход из оболочкиexit

Дополнительно полезны команды help (справка по любой команде, например help map -b для постраничного вывода), dmpstore для просмотра переменных UEFI и bcfg для управления записями загрузки. Именно bcfg boot dump позволяет увидеть, какие загрузочные записи прописаны в NVRAM, и понять, почему прошивка не находит Windows Boot Manager.

Как получить и запустить полную версию Shell_Full.efi

Полная оболочка собирается в рамках открытого проекта EDK II (TianoCore). Готовые бинарные файлы распространяются через репозитории проекта и энтузиастов; скачивайте их только из источников, которым доверяете, поскольку исполняемый файл уровня прошивки имеет полный доступ к машине. Имя файла обычно Shell_Full.efi или shellx64.efi для 64-битных систем.

Порядок запуска такой:

  • 📁 Отформатируйте флешку в FAT32 — UEFI штатно читает только эту файловую систему.
  • 📄 Скопируйте файл в корень или в путь \EFI\Boot\ под именем bootx64.efi — тогда флешка станет загрузочной автоматически.
  • 🔑 Выберите флешку в загрузочном меню при старте (клавиша вызова меню зависит от платы — часто F8, F11 или F12, уточните в документации).
  • ▶️ Либо запустите файл вручную из уже открытой оболочки: перейдите на fs0: и введите имя файла.

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

⚠️ Внимание: файлы .efi из непроверенных источников могут содержать вредоносный код, работающий до загрузки антивируса и ОС. Скачивайте оболочку только с официальных репозиториев проекта EDK II или от производителя вашей платы.
Что делать, если Shell_Full.efi не запускается

Проверьте три вещи: флешка отформатирована именно в FAT32 (не NTFS и не exFAT); файл предназначен для архитектуры x64, а не IA32; Secure Boot временно отключён. Также убедитесь, что файл не повреждён при скачивании — перекачайте его заново. Если оболочка запускается, но сразу закрывается, попробуйте переименовать файл в bootx64.efi и положить в \EFI\Boot\.

Автозапуск скриптов и startup.nsh

Оболочка при старте ищет на доступных дисках файл startup.nsh и выполняет его как скрипт — аналог autoexec.bat из эпохи DOS. Это удобно для автоматизации: например, можно прописать в скрипт запуск нужной утилиты прошивки, чтобы не вводить команды вручную на каждой машине.

Создать скрипт можно прямо в оболочке командой edit startup.nsh или заранее на другом компьютере в любом текстовом редакторе. Учтите, что файл должен лежать в корне загрузочной флешки, а его содержимое — обычные команды Shell по одной на строку. Если скрипт мешает нормальной работе (например, циклически перезапускает оболочку), удалите его с флешки или нажмите Esc при старте, чтобы прервать выполнение.

Когда EFI Shell действительно нужен

Осознанно в оболочку заходят для задач, которые невозможно выполнить из операционной системы: обновление прошивки материнской платы или контроллера, восстановление загрузочных записей через bcfg, диагностика дисков на уровне UEFI, запрос серийных данных оборудования. На серверном оборудовании и у некоторых производителей ноутбуков обновление BIOS через EFI Shell — штатная рекомендованная процедура.

Для обычного пользователя, чей компьютер случайно попал в Shell>, оболочка — лишь промежуточный диагностический инструмент. После восстановления порядка загрузки или починки загрузчика она больше не понадобится. А вот энтузиастам и системным администраторам полная версия Shell_Full.efi на рабочей флешке заметно упрощает жизнь при обслуживании парка машин.

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

Что означает ошибка «map: Cannot find required map name» при входе в Shell?

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

Как выйти из EFI Shell, если команда exit не помогает?

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

Чем полная версия Shell отличается от встроенной в прошивку?

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

Можно ли запустить Shell_Full.efi при включённом Secure Boot?

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

Опасен ли EFI Shell для данных на диске?

Сама оболочка безопасна — это обычный инструмент прошивки. Однако команды в ней выполняются без защиты от ошибок: неосторожное форматирование или запись через cp/rm могут удалить данные. Вводите команды осознанно и не запускайте незнакомые скрипты startup.nsh с чужих флешек.