EFI Shell команды: справочник по работе с оболочкой UEFI

Чёрный экран с приглашением Shell> вместо загрузки Windows означает, что прошивка UEFI не нашла загрузочное устройство и открыла встроенную оболочку EFI Shell — в такой ситуации команды map, fs0: и bcfg позволяют найти диск с системой и восстановить загрузку вручную. EFI Shell — это командная строка, встроенная в прошивку UEFI или запускаемая с внешнего носителя, которая работает до старта операционной системы.

Оболочка используется для диагностики загрузки, прошивки BIOS/UEFI, запуска сервисных утилит и восстановления загрузчика, когда стандартные средства Windows недоступны. Синтаксис команд напоминает смесь DOS и Unix: есть навигация по дискам, просмотр файлов, запуск программ формата .efi и управление переменными NVRAM. Ниже разберём основные команды, практические сценарии и типичные ошибки.

Что такое EFI Shell и когда он появляется

EFI Shell — это интерпретатор команд, работающий в среде UEFI. На части материнских плат (особенно у ASUS, MSI, Gigabyte) он встроен в прошивку и доступен через меню загрузки, на других его нужно запускать с флешки, поместив файл оболочки (обычно Shellx64.efi или bootx64.efi) в корень FAT32-накопителя.

Автоматический вход в Shell при включении ПК — почти всегда симптом проблемы. Прошивка не нашла ни одной загрузочной записи и открыла последнее доступное средство управления. Типичные причины:

  • 🔌 отключён или не определяется диск с операционной системой;
  • 🧹 сброшены настройки BIOS/UEFI (после обновления прошивки или севшей батарейки CMOS);
  • 🗂️ повреждена загрузочная запись или папка EFI на системном разделе;
  • 💾 подключена флешка со Shell, и она стоит первой в приоритете загрузки.

Короткая проверка: введите map и посмотрите, видны ли диски. Если список пуст или в нём нет вашего SSD/HDD — проблема на уровне оборудования или настроек контроллера, а не загрузчика.

Базовые команды навигации и работы с файлами

Работа в EFI Shell строится вокруг mapping-устройств — логических имён дисков вида FS0:, FS1:, BLK0:. Префикс FS означает распознанную файловую систему (FAT32), BLK — блочное устройство без читаемой файловой системы.

Основные команды, которые понадобятся в первую очередь:

  • 📁 map — вывести список всех обнаруженных устройств и их имён;
  • 📂 fs0: — переключиться на диск fs0 (аналог C: в DOS);
  • 📄 ls или dir — показать содержимое текущего каталога;
  • 🧭 cd имя_папки — перейти в каталог, cd \ — вернуться в корень;
  • 📋 cp, mv, rm, mkdir — копирование, перемещение, удаление и создание каталогов;
  • 📝 edit файл — встроенный текстовый редактор (не во всех версиях Shell).

Пример сеанса: находим диск и проверяем наличие загрузчика Windows:

Shell> map

Shell> fs0:

FS0:\> ls

FS0:\> cd EFI\Microsoft\Boot

FS0:\EFI\Microsoft\Boot> ls

Если в каталоге виден файл bootmgfw.efi — загрузчик на месте, и проблема, скорее всего, в записях NVRAM, а не в файлах.

Команды управления загрузкой: bcfg и загрузка вручную

Ключевая команда для восстановления загрузки — bcfg. Она управляет записями загрузки, хранящимися в энергонезависимой памяти (NVRAM) прошивки. Именно эти записи вы видите в меню «Boot» настроек UEFI.

Полезные варианты использования:

Shell> bcfg boot dump

Shell> bcfg boot add 0 fs0:\EFI\Microsoft\Boot\bootmgfw.efi "Windows Boot Manager"

Shell> bcfg boot rm 3

Первая строка показывает текущие записи загрузки, вторая добавляет новую запись с приоритетом 0, третья удаляет запись под номером 3. Будьте внимательны с удалением: ошибочно убранную запись придётся восстанавливать вручную, зная точный путь к загрузчику.

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

Быстрая альтернатива без изменения NVRAM — запустить загрузчик напрямую. Для этого перейдите на нужный диск и введите полный путь к efi-файлу:

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

Если Windows стартует при таком запуске — файлы в порядке, и достаточно добавить запись через bcfg либо пересоздать её штатными средствами Windows (bcdboot из среды восстановления).

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

Сводная таблица основных команд

Ниже — справочная таблица наиболее востребованных команд EFI Shell. Синтаксис приведён для стандартной оболочки UEFI Shell; в отдельных реализациях от производителей материнских плат набор команд может отличаться.

КомандаНазначениеПример
mapСписок устройств и дисковmap -r
bcfgУправление записями загрузки NVRAMbcfg boot dump
ls / dirПросмотр содержимого каталогаls EFI
dmpstoreПросмотр/сохранение переменных UEFIdmpstore -all
resetПерезагрузка системыreset -s (выключение)

Дополнительно полезны help (список всех команд вашей версии Shell), ver (версия оболочки), cls (очистка экрана) и exit (выход из Shell обратно в меню прошивки). Команда help имя_команды покажет подробный синтаксис конкретной команды — это самый надёжный способ уточнить параметры именно для вашей версии.

Практический сценарий: восстановление загрузки Windows

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

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

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

Начните с map и по очереди проверьте диски fs0:, fs1: и так далее командой ls. Искомый признак системного раздела — каталог EFI в корне. Внутри него ищите EFI\Microsoft\Boot\bootmgfw.efi. Если файл найден, загрузите его напрямую и убедитесь, что Windows стартует.

Затем добавьте постоянную запись. Команда выглядит так (путь и номер диска подставьте свои):

Shell> bcfg boot add 0 fs0:\EFI\Microsoft\Boot\bootmgfw.efi "Windows Boot Manager"

Если папки EFI\Microsoft на диске нет вообще — загрузчик повреждён или удалён, и одной оболочкой его не восстановить. В этом случае потребуется установочная флешка Windows и команда bcdboot из среды восстановления, которая пересоздаст файлы загрузки.

⚠️ Внимание: если команда map не показывает ни одного устройства FS, проверьте в настройках UEFI режим контроллера и подключение накопителя. Правка записей загрузки при невидимом диске бессмысленна — сначала нужно вернуть диск в систему.
Почему диск отображается как BLK, а не FS

Префикс BLK означает, что прошивка видит устройство, но не может прочитать его файловую систему. EFI Shell штатно работает с FAT12/16/32. Если системный EFI-раздел повреждён или отформатирован иначе, он появится как BLK. Проверить и исправить раздел можно из среды восстановления Windows или утилитами разметки.

Прошивка UEFI и запуск утилит через Shell

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

Общий порядок выглядит так: подготовьте флешку FAT32, скопируйте на неё файлы из официального пакета обновления вашей модели, загрузитесь в EFI Shell, перейдите на флешку (fs0: или другой номер из map) и запустите указанный в инструкции производителя .efi или .nsh файл. Точное имя файла и порядок действий всегда берите из документации конкретной модели — универсальной команды прошивки не существует.

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

Через Shell также запускают диагностические утилиты, инструменты для работы с RAID-контроллерами и программы обновления прошивок SSD. Любую efi-программу стоит запускать только из доверенного источника: код в среде UEFI выполняется с максимальными правами, до загрузки какой-либо защиты операционной системы.

Частые ошибки и их решение

Разберём сообщения, с которыми чаще всего сталкиваются при работе в оболочке.

«fs0 is not recognized» или «not a valid mapping» — диска с таким именем нет. Выполните map и используйте реальные имена из списка. Нумерация устройств не фиксирована: после подключения флешки имена могут измениться.

«Command not found» — команда отсутствует в вашей версии Shell. Встроенные оболочки производителей часто урезаны. Решение — использовать полную версию UEFI Shell с флешки, где доступны bcfg, dmpstore и редактор.

Запись добавлена, но загрузки не происходит. Проверьте путь: он чувствителен к структуре каталогов, и лишний или пропущенный уровень вложенности делает запись нерабочей. Сверьте путь с реальным расположением файла через ls. Также убедитесь, что в настройках прошивки не включён режим, ограничивающий загрузку (например, Secure Boot может блокировать неподписанные загрузчики — поведение зависит от модели).

FAQ: частые вопросы об EFI Shell

Как выйти из EFI Shell?

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

Почему при включении ПК сразу открывается EFI Shell?

Прошивка не нашла ни одной рабочей загрузочной записи. Возможные причины: сброс настроек UEFI, отключённый или неисправный диск, повреждённый загрузчик, флешка с Shell первой в приоритете загрузки. Начните диагностику с команды map.

Чем EFI Shell отличается от командной строки Windows?

EFI Shell работает до загрузки операционной системы, внутри прошивки UEFI. Он оперирует дисками как устройствами прошивки (fs0, blk0) и умеет изменять переменные загрузки NVRAM. Командная строка Windows работает уже внутри запущенной ОС и имеет другой набор команд, хотя часть имён (cd, dir, copy) совпадает.

Как запустить EFI Shell, если он не встроен в прошивку?

Нужно поместить файл оболочки (например, Shellx64.efi, переименованный в bootx64.efi) на флешку FAT32 по пути EFI\Boot\ и загрузиться с этой флешки через меню загрузки. Готовые сборки оболочки распространяются в составе открытых проектов UEFI.

Можно ли через EFI Shell удалить или изменить файлы Windows?

Технически — да: Shell даёт доступ к разделам FAT32, включая системный EFI-раздел, с командами cp, rm, mv. Однако разделы NTFS (где находится сама Windows) стандартная оболочка не читает. Удаление файлов из папки EFI приведёт к потере загрузки, поэтому изменяйте там только то, что точно понимаете.