Что такое startup.nsh и как исправить ошибку при загрузке

Черный экран с надписью UEFI Interactive Shell и строкой startup.nsh not found или Press ESC in ... seconds to skip startup.nsh — типичный признак того, что прошивка UEFI не нашла загрузчик операционной системы и перешла в режим встроенной командной оболочки. Файл startup.nsh — это сценарий автозапуска UEFI Shell, аналог autoexec.bat из эпохи DOS: при старте оболочка ищет его на доступных носителях и выполняет содержащиеся в нём команды.

Чаще всего с этим экраном сталкиваются владельцы виртуальных машин (VirtualBox, VMware, Hyper-V с включенным UEFI), пользователи хакинтошей и те, у кого после замены диска или обновления прошивки слетел порядок загрузки. Ниже разберём, что именно делает этот файл, почему возникает ошибка и как вернуть нормальную загрузку, не прибегая к рискованным действиям.

Что представляет собой файл startup.nsh

Startup.nsh — обычный текстовый сценарий, который UEFI Shell пытается выполнить сразу после инициализации. Оболочка последовательно просматривает подключённые накопители (в её терминологии — FS0:, FS1: и так далее) и ищет файл с этим именем в корневом каталоге. Если сценарий найден, его команды выполняются автоматически; если нет — пользователь видит приглашение Shell> и может вводить команды вручную.

Типичное содержимое такого файла — запуск конкретного загрузчика. Например, в средах хакинтоша или при ручной настройке загрузки внутри сценария может быть указан путь к \EFI\BOOT\BOOTX64.EFI или к загрузчику конкретной ОС. По сути, это обходной механизм: когда прошивка не может сама определить, что грузить, сценарий делает это за неё.

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

Почему появляется экран UEFI Shell и ошибка startup.nsh

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

  • 🔧 Сбросился порядок загрузки — после замены батарейки CMOS, обновления прошивки или сброса настроек BIOS/UEFI загрузочная запись ОС пропала из списка приоритетов.
  • 💽 Диск не определяется — накопитель отключён, неисправен или подключён к порту, который прошивка не инициализирует на этапе загрузки.
  • 🖥️ Виртуальная машина без установленной ОС — типичная ситуация для VirtualBox: создана ВМ с включённым EFI, но установочный ISO не подключён, грузиться нечему.
  • 📁 Повреждён или отсутствует загрузчик — отсутствует файл BOOTX64.EFI на EFI-разделе, например после неудачного обновления системы.
  • 🍏 Хакинтош-конфигурация — загрузчик (OpenCore, Clover) не прописан в NVRAM, и прошивка «падает» в shell.
⚠️ Внимание: не пытайтесь перепрошивать UEFI или править NVRAM сторонними утилитами до тех пор, пока не проверены простые причины — порядок загрузки и физическое подключение диска. Необратимые действия на этом этапе могут превратить решаемую проблему в незагружающуюся материнскую плату.

Быстрая диагностика: что проверить в первую очередь

Начните с безопасных проверок, которые не меняют состояние системы. Прямо в приглашении Shell> можно ввести команду map — она покажет, какие накопители видит прошивка. Если в списке нет ни одного FS-устройства, прошивка вообще не видит диск с файловой системой, и проблема, скорее всего, аппаратная или в настройках контроллера.

Далее зайдите в настройки UEFI (обычно клавиша Del или F2 при включении, но комбинация зависит от производителя платы или ноутбука — сверьтесь с документацией вашей модели) и проверьте раздел Boot. Вас интересует, присутствует ли в списке загрузочных записей ваша система и стоит ли она первой.

☑️ Первичная диагностика ошибки startup.nsh

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

Если диск виден, но загрузочной записи нет — вероятная причина в утерянной записи NVRAM или повреждённом EFI-разделе. Если диска нет вообще — проверяйте кабели, питание накопителя и режим работы контроллера (AHCI/RAID) в настройках.

📊 Где вы столкнулись с экраном startup.nsh?
На обычном ПК или ноутбуке
В VirtualBox
В VMware или Hyper-V
На хакинтоше

Как исправить ошибку на физическом компьютере

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

FS0:

cd EFI\BOOT

BOOTX64.EFI

Если система загрузилась — проблема только в отсутствующей записи. Для Windows её можно восстановить штатными средствами: загрузиться с установочного носителя, открыть командную строку среды восстановления и выполнить bcdboot C:\Windows (буква диска может отличаться — проверьте через diskpart и list volume). Для Linux обычно достаточно переустановить GRUB с Live-носителя.

Когда загрузчик на месте, а запись в UEFI не сохраняется, проверьте, не сбрасываются ли настройки прошивки после выключения — это косвенный признак севшей батарейки CMOS. Замена батарейки CR2032 на материнской плате в таком случае решает проблему кардинально.

Исправление в виртуальных машинах

В VirtualBox экран UEFI Shell появляется почти всегда по одной причине: включён режим EFI, но к виртуальной машине не подключён загрузочный носитель. Проверьте в настройках ВМ раздел Носители: установочный ISO должен быть вставлен в виртуальный привод, а в разделе Система порядок загрузки должен ставить оптический диск выше жёсткого.

Если ОС уже установлена, а shell всё равно появляется, возможная причина — виртуальная машина не сохранила загрузочную запись в своей эмулируемой NVRAM. Обходной путь, который часто используют, — как раз создание файла startup.nsh на EFI-разделе гостевой системы с командой запуска загрузчика. Содержимое может выглядеть так:

FS0:\EFI\BOOT\BOOTX64.EFI

Для VMware и Hyper-V логика та же: сначала проверить, что виртуальный диск подключён и содержит установленную систему, затем — порядок загрузки в настройках прошивки ВМ. Конкретные пункты меню различаются между версиями гипервизоров, поэтому ориентируйтесь на документацию вашей версии.

Почему VirtualBox «теряет» загрузочную запись

VirtualBox реализует эмуляцию NVRAM не так полноценно, как аппаратный UEFI. Загрузочные записи, созданные установщиком ОС, могут не сохраняться между запусками ВМ. Именно поэтому сценарий startup.nsh стал фактически стандартным обходным решением: оболочка находит файл на EFI-разделе и запускает загрузчик автоматически, без участия NVRAM.

Сравнение сценариев появления ошибки

СредаВероятная причинаОсновное решение
ПК / ноутбукСброс порядка загрузки, севшая батарейка CMOSВосстановить запись через bcdboot, заменить батарейку
VirtualBoxНет загрузочного носителя, не сохраняется NVRAMПодключить ISO или создать startup.nsh
VMware / Hyper-VОтключён виртуальный диск, неверный порядок загрузкиПроверить подключение диска и настройки прошивки ВМ
ХакинтошЗагрузчик OpenCore/Clover не прописан в NVRAMДобавить запись или использовать startup.nsh
После замены дискаНовый диск без EFI-раздела и загрузчикаУстановить ОС или клонировать разделы со старого диска
⚠️ Внимание: при восстановлении загрузчика командами вроде bcdboot или bootrec внимательно проверяйте буквы томов — в среде восстановления они часто отличаются от привычных. Запись загрузчика не на тот раздел не испортит систему, но и проблему не решит, что введёт в заблуждение при дальнейшей диагностике.

Когда startup.nsh используют намеренно

Не всегда появление этого файла — признак поломки. Администраторы и энтузиасты сознательно создают startup.nsh, чтобы автоматизировать действия в UEFI Shell: запуск диагностических утилит, обновление прошивок, старт альтернативных загрузчиков. Сценарий пишется в любом текстовом редакторе и кладётся в корень EFI-раздела или USB-накопителя, отформатированного в FAT32.

Файл поддерживает команды самой оболочки: переход между томами, запуск .efi-приложений, простые условия и вывод сообщений через echo. Ключевое ограничение: startup.nsh выполняется только внутри UEFI Shell и не имеет отношения к автозагрузке Windows или Linux — путать эти механизмы не стоит.

Чего делать не стоит

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

  • 🚫 Перепрошивка UEFI «на всякий случай» — без подтверждённой необходимости это неоправданный риск.
  • 🚫 Форматирование EFI-раздела до выяснения причины — вы потеряете загрузчики всех установленных систем.
  • 🚫 Скачивание «готового startup.nsh» со случайных сайтов и запуск его на своей машине — сценарий выполняет команды с полными правами прошивочной среды.
  • 🚫 Отключение Secure Boot и смена режимов контроллера вслепую — сначала зафиксируйте исходные настройки, чтобы иметь возможность вернуться.
⚠️ Внимание: если на диске есть важные данные, а система не загружается, не начинайте с переустановки ОС. Загрузитесь с Live-носителя, убедитесь, что данные читаются, и при необходимости скопируйте их — восстановление загрузчика почти всегда возможно без потери информации.

Частые вопросы о startup.nsh

Startup.nsh — это вирус?

Нет. Это штатный механизм спецификации UEFI: оболочка ищет и выполняет этот сценарий при старте. Само появление экрана UEFI Shell говорит о проблеме с загрузкой ОС, а не о заражении. Однако запускать чужие сценарии .nsh из непроверенных источников не стоит.

Можно ли просто удалить startup.nsh, чтобы ошибка исчезла?

Удаление файла не решит проблему: если прошивка не находит загрузчик, вы просто получите приглашение Shell вместо выполнения сценария. Нужно восстановить загрузочную запись или порядок загрузки.

Как выйти из UEFI Shell и загрузить Windows?

Введите exit — оболочка закроется, и прошивка продолжит загрузку по своему списку. Если система снова не стартует, вручную запустите загрузчик: перейдите на нужный том командой FS0: и выполните EFI\BOOT\BOOTX64.EFI. После успешной загрузки восстановите запись средствами ОС.

Почему VirtualBox каждый раз показывает этот экран?

Наиболее вероятная причина — эмулируемая NVRAM не сохраняет загрузочную запись гостевой ОС. Решение — создать на EFI-разделе файл startup.nsh с командой запуска загрузчика либо проверить настройки порядка загрузки виртуальной машины.

Нужен ли startup.nsh обычному пользователю?

На исправном компьютере с корректно установленной ОС этот файл не нужен — прошивка загружает систему напрямую через записи NVRAM. Сценарий востребован в основном в виртуальных машинах, хакинтошах и при автоматизации задач в среде UEFI.