Когда компьютер вместо Windows загружает чёрный экран с надписью EFI Shell version 2.70 и мигающим курсором Shell>, это значит, что прошивка UEFI не нашла загрузочное устройство и передала управление встроенной командной оболочке. Такое поведение типично для ноутбуков и материнских плат, где загрузочная запись повреждена, диск переформатирован или приоритет загрузки сброшен после обновления BIOS.
EFI Shell версии 2.70 — это среда командной строки, основанная на спецификации UEFI Shell 2.x. Она позволяет вручную просматривать диски, запускать загрузчики, редактировать файлы конфигурации и восстанавливать загрузку системы без сторонних утилит. Ниже разберём основные команды, навигацию по файловой системе и практические сценарии восстановления.
Что такое EFI Shell и почему появляется версия 2.70
EFI Shell — это стандартная оболочка UEFI, предназначенная для диагностики, запуска EFI-приложений и обслуживания системы до загрузки ОС. Номер 2.70 отображается в приглашении и указывает на версию самой оболочки, а не на ошибку. Само по себе появление этого экрана — не поломка, а сигнал о том, что прошивка не смогла найти исполняемый загрузчик по пути, прописанному в NVRAM.
Типичные причины выхода в Shell: удалён или повреждён раздел EFI System Partition (ESP), сброшены переменные загрузки BootOrder, диск переключён из GPT в MBR, либо в настройках BIOS отключён режим UEFI, а диск размечен под него. Иногда оболочка запускается намеренно — например, при обновлении прошивки с флешки.
Экран EFI Shell 2.70 — это не ошибка, а командная среда UEFI. Чаще всего она появляется из-за потери загрузочной записи, и систему можно вернуть, запустив загрузчик вручную.
Базовые команды навигации и справки
Работа в оболочке начинается с освоения нескольких базовых команд. Они похожи на команды DOS и Linux, поэтому освоение идёт быстро.
- 📖
help— список всех доступных команд;help map— справка по конкретной команде - 📂
lsилиdir— показать содержимое текущего каталога - 🗺️
map— вывести таблицу всех обнаруженных устройств и их псевдонимов - 💾
fs0:,fs1:— переключение между дисками (вводится как отдельная команда) - 📁
cd— смена каталога, напримерcd EFI\BOOT - 🔄
exit— выход из оболочки обратно в меню BIOS - 🧹
cls— очистка экрана
Обратите внимание: пути в EFI Shell используют обратный слэш \, а регистр букв не имеет значения. Команда ls и LS — одно и то же.
Команда map и определение дисков
Ключевая команда для восстановления загрузки — map. Она показывает все блочные устройства, которые UEFI сумела опознать, и присваивает им псевдонимы вида fs0, fs1, blk0 и так далее. Псевдонимы fs обозначают устройства с распознанной файловой системой (обычно FAT32), а blk — «сырые» блочные устройства без примонтированной ФС.
Чтобы найти нужный диск, переключайтесь по псевдонимам и просматривайте содержимое:
Shell> fs0:
fs0:\> ls
Искомый раздел ESP обычно содержит каталог EFI с подкаталогами BOOT, Microsoft или именем производителя Linux-дистрибутива. Если ни один из fs-дисков не содержит такой структуры, возможно, раздел ESP повреждён или отформатирован не в FAT32 — UEFI штатно монтирует именно эту файловую систему.
Запуск загрузчика вручную
Основной практический сценарий — вручную запустить загрузчик ОС, чтобы система стартовала, а затем уже восстановить запись в NVRAM штатными средствами. Для Windows путь обычно выглядит так:
fs0:\> cd EFI\Microsoft\Boot
fs0:\EFI\Microsoft\Boot> bootmgfw.efi
Для Linux-дистрибутивов загрузчик чаще лежит по пути вида \EFI\ubuntu\grubx64.efi или \EFI\BOOT\BOOTX64.EFI. Универсальный резервный вариант — файл BOOTX64.EFI в каталоге \EFI\BOOT: именно его прошивка ищет по умолчанию на съёмных носителях. Если загрузчик запускается вручную, но после перезагрузки снова появляется Shell, проблема именно в переменных загрузки NVRAM, а не в файлах на диске.
После ручного запуска Windows восстановите загрузочную запись командой bcdboot C:\Windows /s S: /f UEFI из командной строки администратора, предварительно назначив разделу ESP букву через diskpart.
Управление загрузкой: bcfg и edit
Команда bcfg позволяет просматривать и изменять загрузочные записи UEFI прямо из оболочки. Синтаксис зависит от реализации прошивки, поэтому перед изменениями стоит вызвать help bcfg и свериться с документацией конкретной платы.
Shell> bcfg boot dump
Shell> bcfg boot add 3 fs0:\EFI\BOOT\BOOTX64.EFI "MyLoader"
Первая команда выводит текущие записи загрузки, вторая — добавляет новую с приоритетом 3. Будьте осторожны с bcfg boot rm: удаление записей необратимо до повторного создания, а ошибочный номер может убрать рабочий вариант загрузки.
Для просмотра и правки текстовых файлов (например, конфигураций загрузчиков) в оболочке есть встроенный редактор edit. Он примитивен, но позволяет исправить путь в конфигурации без загрузки другой ОС.
☑️ Проверка перед восстановлением загрузки
Скрипты и файл startup.nsh
При старте оболочка автоматически ищет и выполняет сценарий startup.nsh в корне доступных дисков — аналог autoexec.bat из DOS. Это удобно для автоматизации: прошивки, массового запуска диагностики или загрузки нужного EFI-приложения без ручного ввода.
Пример простого скрипта:
@echo -off
echo Starting custom loader...
fs0:\EFI\BOOT\BOOTX64.EFI
⚠️ Внимание: ошибочный startup.nsh на флешке может зациклить загрузку или запустить не то приложение. Перед использованием скрипта проверьте пути вручную и держите под рукой способ прервать выполнение (клавиша Esc на большинстве реализаций).
Почему псевдонимы fs0/fs1 меняются между загрузками
Нумерация устройств в EFI Shell не фиксирована — она зависит от порядка, в котором прошивка обнаружила контроллеры и диски. Подключение флешки, другого диска или даже смена порта SATA может сдвинуть нумерацию. Поэтому в скриптах лучше не жёстко прописывать fs0:, а сначала проверять содержимое диска, например по наличию метки-тома или конкретного файла-маркера.
Типичные ошибки и их решение
Ниже собраны частые сообщения оболочки и способы реагирования на них.
| Сообщение / симптом | Вероятная причина | Что проверить |
|---|---|---|
is not recognized as an internal or external command | Опечатка или команда не поддерживается данной сборкой Shell | help — есть ли команда в списке |
fs0:\ is not a valid mapping | Диск не опознан или файловая система не FAT32 | map -r для обновления списка устройств |
| Загрузчик запускается, но после перезагрузки снова Shell | Запись в NVRAM отсутствует или сбрасывается | bcfg boot dump, порядок загрузки в BIOS |
Command Error Status: Security Violation | Secure Boot блокирует неподписанный загрузчик | Временно отключить Secure Boot в настройках BIOS |
| Shell не видит NVMe-диск | Нет драйвера NVMe в прошивке или диск в неподдерживаемом режиме | Настройки контроллера в BIOS, обновление прошивки платы |
⚠️ Внимание: командыbcfg boot rmи операции форматирования необратимы. Перед удалением загрузочных записей сделайте снимок выводаbcfg boot dump(фото экрана подойдёт), чтобы иметь возможность восстановить конфигурацию вручную.
Полезные сервисные команды
Помимо навигации, в оболочке есть ряд команд для диагностики и обслуживания:
- 🧭
ver— показать версию UEFI и оболочки - 🔍
devicesиdrivers— список устройств и загруженных драйверов UEFI - 📝
dmem— просмотр содержимого памяти (для опытных пользователей) - ⏱️
timeиdate— системные часы прошивки - 🔌
reconnect— переподключение драйвера к устройству - 📦
load— загрузка драйвера UEFI из файла
Набор команд зависит от конкретной сборки оболочки: производители плат иногда урезают или расширяют стандартный комплект. Если какой-то команды нет, это не признак неисправности — сверяйтесь с выводом help.
Команда map -r принудительно обновляет таблицу устройств. Используйте её после подключения флешки «на горячую», если новый диск не появился в списке.
Как выйти из EFI Shell и предотвратить повторное появление
Краткосрочно выйти из оболочки помогает команда exit — она возвращает в меню BIOS, где можно выбрать загрузочное устройство вручную. Но если причина не устранена, при следующем включении Shell появится снова.
Для постоянного решения необходимо восстановить загрузочную запись: в Windows это делается через bcdboot, в Linux — переустановкой GRUB с регистрацией в NVRAM (grub-install с efibootmgr). Альтернативный вариант — добавить запись напрямую через bcfg boot add, как показано выше. Также проверьте, что в настройках BIOS нужный диск стоит первым в приоритете загрузки и режим UEFI активен.
⚠️ Внимание: если записи загрузки пропадают после каждого выключения питания, возможная причина — неисправность NVRAM или севшая батарейка CMOS на материнской плате. В этом случае программные исправления помогут лишь временно, и стоит проверить аппаратную часть.
Ручной запуск загрузчика через fs0:\EFI\... — способ быстро вернуть систему к жизни, но постоянное решение требует восстановления записи загрузки в NVRAM средствами ОС или командой bcfg.
Частые вопросы
Что означает строка «EFI Shell version 2.70» при включении ПК?
Это приглашение встроенной командной оболочки UEFI. Она запускается, когда прошивка не находит загрузочное устройство: повреждена запись загрузки, отсутствует загрузчик на диске или сброшен порядок загрузки в BIOS.
Как узнать, какие диски видит EFI Shell?
Введите команду map. Устройства с файловой системой получат псевдонимы fs0, fs1 и так далее. Переключитесь на диск командой вида fs0: и посмотрите содержимое через ls.
Как запустить Windows из EFI Shell?
Найдите раздел ESP через map, перейдите на него (например, fs0:), затем выполните cd EFI\Microsoft\Boot и запустите bootmgfw.efi. Если каталога Microsoft нет, попробуйте резервный загрузчик \EFI\BOOT\BOOTX64.EFI.
Что делает файл startup.nsh?
Это автоматически выполняемый скрипт, который оболочка ищет в корне дисков при старте. В него можно поместить команды запуска загрузчика или прошивальщика. Ошибочный скрипт может зациклить загрузку, поэтому проверяйте пути заранее.
Почему команда bcfg не работает или выдаёт ошибку?
Реализация bcfg зависит от производителя прошивки — синтаксис и поддерживаемые операции различаются. Вызовите help bcfg для справки по вашей версии. Если команда отсутствует вовсе, управляйте загрузкой через настройки BIOS или средства ОС (efibootmgr в Linux, bcdedit в Windows).