- Что такое UEFI Shell
- Какие версии UEFI Shell бывают
- Основные команды UEFI Shell
- 1. Просмотр дисков и файлов
- map
- ls или dir
- cd
- cp / mv / rm
- 2. Управление загрузкой (NVRAM)
- bcfg
- 3. Работа с переменными UEFI
- dmpstore
- 4. Запуск .EFI-приложений
- 5. Диагностика системных параметров
- devices
- drivers
- pci
- 6. Сведения о системе и переменных
- memmap
- ver
- 7. Выполнение скриптов .NSH
- Реальные сценарии использования UEFI Shell
- 1. Восстановление загрузчика Windows или Linux
- 2. Диагностика NVMe и PCIe
- 3. Работа с Secure Boot и ключами
- 4. Запуск прошивальщиков BIOS
- 5. Клонирование и копирование файлов на EFI-разделе
- 6. Чистка NVRAM, если BIOS зависает
- 7. Установка систем без полноценного загрузчика
- Как получить UEFI Shell, если его нет в BIOS
- Итог
UEFI Shell — это скрытый, но чрезвычайно мощный инструмент, встроенный во многие прошивки UEFI. Он работает как мини-операционная система, запускающаяся до Windows или Linux и дающая прямой доступ к файловой системе, драйверам, переменным NVRAM и сервисам UEFI. Для тех, кто углубляется в диагностику, восстановление загрузки или обслуживание системы, знание UEFI Shell превращает BIOS из «панели настроек» в полноценную консоль низкоуровневого уровня.
Разберёмся, что такое UEFI Shell, зачем он нужен, какие команды в нём работают и какие реальные задачи он помогает решать.
Что такое UEFI Shell
UEFI Shell — это командная среда, встроенная в прошивку материнской платы или доступная через внешний файл Shell.efi. Она работает на основе стандарта UEFI и предоставляет:
- доступ к FAT-разделам дисков (EFI System Partition);
- возможности запуска .efi-программ;
- просмотр и изменение переменных UEFI/NVRAM;
- управление загрузкой;
- диагностику устройств и драйверов;
- выполнение скриптов (*.nsh).
По функциональности это похоже на DOS, но на уровне UEFI, где обычная ОС ещё не загружена.
Какие версии UEFI Shell бывают
Есть два основных варианта:
- UEFI Shell v1.x — старый, совместимый с BIOS/CSM.
- UEFI Shell v2.x — современный, для чистого UEFI.
Большинство новых плат используют версию 2.x.
Если Shell нет в прошивке, его можно загрузить с флешки:
достаточно положить файл Shell.efi в /EFI/BOOT/BOOTX64.EFI.
Основные команды UEFI Shell
Команды UEFI Shell похожи на DOS/Linux, но имеют свои особенности.
Вот ключевые — те, которые реально используются на практике.
1. Просмотр дисков и файлов
map
Показывает, какие устройства доступны:
map
map -r # пересоздать карту устройств
UEFI обозначает диски как fs0:, fs1:, blk0, blk1.
ls или dir
Список файлов:
fs0:
ls
cd
Переход по каталогам:
cd EFI
cd Microsoft\Boot
cp / mv / rm
Копирование, перемещение, удаление файлов:
cp bootmgfw.efi bootmgfw.bak
rm test.efi
2. Управление загрузкой (NVRAM)
bcfg
Команда для редактирования загрузочных записей.
Посмотреть текущие загрузчики:
bcfg boot dump
Удалить запись:
bcfg boot rm 2
Добавить загрузчик:
bcfg boot add 0 fs0:\EFI\Microsoft\Boot\bootmgfw.efi "Windows Boot Manager"
Это незаменимый инструмент, если загрузчик исчез, а Windows его не находит.
3. Работа с переменными UEFI
dmpstore
Позволяет смотреть и изменять переменные NVRAM.
Вывести всё:
dmpstore
Удалить конкретную переменную:
dmpstore SomeVariableName -d
Очень полезно, если сломался Secure Boot или NVMe не появляется из-за неправильных переменных.
4. Запуск .EFI-приложений
Любую .efi-программу можно запустить напрямую:
fs0:\EFI\Boot\mytool.efi
Это может быть:
- альтернативный менеджер загрузки (rEFInd),
- установщик Linux,
- UEFI Shell v2,
- прошивальщик BIOS,
- тестовое приложение.
5. Диагностика системных параметров
devices
Показывает устройства UEFI:
devices
drivers
Показывает драйверы, загруженные UEFI:
drivers
Можно быстро понять, загружены ли NVMe, USB, PCIe-драйверы.
pci
Информация о PCIe-устройствах:
pci
Используется для диагностики видеокарт и NVMe.
6. Сведения о системе и переменных
memmap
Показывает карту памяти:
memmap
Полезно при проблемах с загрузчиком или драйверами.
ver
Показывает версию Shell.
7. Выполнение скриптов .NSH
Скрипты .nsh — аналог .bat в Windows.
Запуск:
startup.nsh
myscript.nsh
Можно автоматизировать:
- резервное копирование EFI-раздела;
- восстановление загрузчика;
- запуск сторонних приложений.
Реальные сценарии использования UEFI Shell
Теперь главное — зачем это всё нужно на практике.
1. Восстановление загрузчика Windows или Linux
Если Windows Boot Manager пропал, можно вручную:
- найти EFI-раздел,
- проверить файлы,
- добавить загрузчик через
bcfg.
Пример:
map -r
fs0:
cd EFI\Microsoft\Boot
bcfg boot add 0 bootmgfw.efi "Windows"
2. Диагностика NVMe и PCIe
Если NVMe не определяется в BIOS, но виден в UEFI Shell:
pci
drivers
devices
— это значит, что проблема в NVRAM/BIOS, а не в железе.
3. Работа с Secure Boot и ключами
Security-раздел UEFI иногда ломается. Через Shell можно:
dmpstore -d PK
dmpstore -d KEK
dmpstore -d db
dmpstore -d dbx
— полностью очистить ключи.
4. Запуск прошивальщиков BIOS
Некоторые производители предоставляют .efi-прошивальщики, работающие из Shell.
Это полезно, когда обновление через BIOS недоступно.
5. Клонирование и копирование файлов на EFI-разделе
UEFI Shell может работать с FAT32 без ограничения:
cp fs0:\EFI\Boot\bootx64.efi fs0:\EFI\Backup\
Это удобно, если Windows не загружается.
6. Чистка NVRAM, если BIOS зависает
Иногда BIOS не открывается или стопорится на POST.
UEFI Shell позволяет удалить проблемные переменные:
dmpstore Boot#### -d
7. Установка систем без полноценного загрузчика
Если загрузочная флешка повреждена, можно вручную запустить установщик:
fs1:\EFI\BOOT\BOOTX64.EFI
— и Windows Setup стартует.
Как получить UEFI Shell, если его нет в BIOS
Если UEFI Shell отсутствует:
- Скачать файл
Shell.efi(официальный Tianocore). - Переименовать в
BOOTX64.EFI. - Поместить по пути:
/EFI/BOOT/BOOTX64.EFI
- Загрузиться с флешки.
UEFI автоматически найдёт Shell.
Итог
UEFI Shell — это мощная низкоуровневая среда, которая позволяет:
- управлять загрузчиками,
- редактировать NVRAM,
- смотреть устройства PCIe и драйверы,
- запускать .EFI-программы,
- восстанавливать систему,
- диагностировать железо.
Она полезна всем, кто работает с BIOS/UEFI, NVMe, загрузчиками и хочет иметь под рукой универсальный инструмент на случай, когда Windows отказывается даже показывать логотип.
