EFI Shell команды: справочник и инструкция по использованию

Если компьютер вместо загрузки Windows или Linux открывает чёрный экран с приглашением Shell> — это встроенная командная оболочка EFI Shell, и она появляется, когда прошивка UEFI не находит подходящий загрузчик или загрузка прервана вручную. Работа в этой среде строится на текстовых командах, похожих на DOS: вы переключаетесь между дисками, просматриваете каталоги, запускаете .efi-файлы и редактируете переменные загрузки. Ниже — систематизированный справочник команд и безопасный порядок действий.

EFI Shell входит в состав спецификации UEFI и встречается на материнских платах ASUS, MSI, Gigabyte, серверах и виртуальных машинах. Набор доступных команд зависит от версии оболочки (1.x или 2.x) и от того, какие модули включил производитель прошивки, поэтому часть примеров может отсутствовать на конкретном устройстве — проверяйте справку через help.

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

Чаще всего оболочка запускается автоматически, если в системе нет ни одной загрузочной записи. Также её можно вызвать вручную: в меню загрузки (Boot Menu) выберите пункт вроде «UEFI: Built-in EFI Shell», если он предусмотрен прошивкой. На платах без встроенной оболочки её запускают с флешки, поместив файл shellx64.efi в корень FAT32-носителя.

Для выхода используется команда exit — она возвращает в интерфейс настройки прошивки или продолжает загрузку по списку Boot Order. Перезагрузка выполняется командой reset.

exit

reset

Навигация: диски, каталоги и файлы

Вместо букв дисков в стиле Windows оболочка использует mapping-имена: FS0:, FS1: и так далее — это смонтированные файловые системы, а BLK0:, BLK1: — блочные устройства без распознанной файловой системы. Посмотреть текущую карту устройств помогает команда map.

map

map -r

Параметр -r пересканирует устройства — полезно, если флешку вставили уже после входа в оболочку. Для перехода на нужный том просто введите его имя с двоеточием, затем работайте привычными командами:

  • 📁 FS0: — переключиться на первый смонтированный том;
  • 📄 ls или dir — показать содержимое текущего каталога;
  • 📂 cd EFI\BOOT — перейти в подкаталог;
  • 🔍 vol FS0: — посмотреть метку и информацию о томе.

Обратите внимание: пути пишутся через обратный слэш, как в DOS, а регистр букв в именах файлов обычно не имеет значения на томах FAT32.

Базовые файловые операции

Для повседневной работы с файлами оболочка предлагает набор команд, близкий к командной строке Windows. Все они выполняются относительно текущего каталога, если не указан полный путь.

КомандаНазначениеПример
cpКопирование файловcp bootx64.efi FS1:\backup\
mvПеремещение и переименованиеmv old.efi new.efi
rmУдаление файловrm temp.txt
mkdirСоздание каталогаmkdir backup
editПростой текстовый редакторedit startup.nsh
⚠️ Внимание: команда rm удаляет файлы без корзины и подтверждения сохранения копии. Перед удалением чего-либо с системного раздела EFI (ESP) убедитесь, что у вас есть резервная копия каталога EFI на другом носителе — восстановить удалённый загрузчик без неё будет заметно сложнее.

Посмотреть содержимое текстового файла без редактирования можно командой type имя_файла. Для длинных выводов многие команды поддерживают параметр -b — постраничный показ, например help -b.

Запуск загрузчиков и программ .efi

Главный практический сценарий — ручной запуск загрузчика операционной системы, когда автоматическая загрузка сломана. Исполняемый файл запускается простым вводом его пути:

FS0:

cd EFI\BOOT

bootx64.efi

Для Windows путь к загрузчику обычно выглядит как EFI\Microsoft\Boot\bootmgfw.efi, для многих дистрибутивов Linux — EFI\BOOT\grubx64.efi или shimx64.efi. Точные имена зависят от установленной системы, поэтому сначала изучите структуру каталога EFI командами ls и cd.

📊 Для чего вы чаще всего используете EFI Shell?
Восстановление загрузки ОС
Обновление прошивки (BIOS/UEFI)
Запуск диагностических утилит
Изучаю из любопытства

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

Управление загрузкой: bcfg и переменные

Команда bcfg управляет списком загрузочных записей UEFI — тем самым меню, которое вы видите в настройках прошивки. Синтаксис у неё не самый очевидный, поэтому перед изменениями посмотрите текущий список:

bcfg boot dump

bcfg boot add 1 FS0:\EFI\BOOT\bootx64.efi "Rescue Loader"

Первая команда показывает все существующие записи, вторая — добавляет новую с номером позиции и отображаемым именем. Удаление выполняется через bcfg boot rm N, где N — номер записи из дампа. Ошибка в номере приведёт к удалению чужой записи, поэтому всегда сверяйтесь со свежим выводом bcfg boot dump.

Отдельно стоит упомянуть dmpstore — команду для просмотра и сохранения переменных UEFI. Вывод без параметров показывает все переменные, а с файлом — выгружает их для резервной копии. Изменять переменные через dmpstore стоит только при полном понимании последствий.

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

☑️ Безопасная работа с загрузочными записями

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

Скрипты и автоматизация: startup.nsh

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

Внутри скрипта доступны комментарии (#), вывод текста через echo, условия if и пауза pause. Простейший пример:

# Автозапуск резервного загрузчика

echo Starting rescue loader...

FS0:

cd EFI\BOOT

bootx64.efi

Почему startup.nsh иногда мешает

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

Создать или отредактировать скрипт можно прямо в оболочке через встроенный редактор edit startup.nsh. Сохранение там выполняется через функциональные клавиши, подсказки обычно показаны внизу экрана редактора.

Диагностика и получение справки

Когда что-то не работает, начните со встроенной справки. Команда help выводит список всех доступных команд, help имя_команды — подробности по конкретной, а ver показывает версию оболочки и прошивки. Для аппаратной диагностики полезны devices (список устройств), drivers (загруженные драйверы) и dh (информация о handle-объектах).

  • 🧭 help -b — постраничный список всех команд вашей версии оболочки;
  • 🖥️ devices — какие устройства видит прошивка;
  • 🗺️ map — соответствие томов и физических дисков;
  • 📜 ver — версия UEFI и EFI Shell.

Самая частая причина «команда не найдена» — не опечатка, а урезанная версия оболочки, встроенная производителем. В таком случае запустите полноценную версию EFI Shell с USB-носителя: файл оболочки распространяется в составе открытого проекта EDK II и сборок от сообщества, но загружайте его только из источников, которым доверяете.

Частые вопросы

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

Обычно это значит, что прошивка не нашла ни одной рабочей загрузочной записи: слетел порядок загрузки, повреждён загрузчик на диске или отключен носитель. Проверьте Boot Order в настройках UEFI и попробуйте запустить загрузчик вручную через FS0:\EFI\....

Команда map не показывает мою флешку. Что делать?

Выполните map -r для повторного сканирования. Если флешка не появилась, убедитесь, что она отформатирована в FAT32 — оболочка не работает с NTFS и exFAT без дополнительных драйверов, которых в стандартной поставке нет.

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

Это среда, работающая до загрузки операционной системы: в ней нет ни Windows, ни её драйверов. Команды похожи внешне, но набор иной, а диски обозначаются как FS0:, а не C:.

Можно ли через EFI Shell обновить прошивку материнской платы?

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

Опасно ли экспериментировать с командами?

Навигация, просмотр файлов и справка полностью безопасны. Риск представляют команды, изменяющие данные: rm, bcfg, dmpstore и запуск незнакомых .efi-программ. Перед ними делайте резервные копии и держите под рукой загрузочную флешку.