Загрузчик операционной системы: устройство, типы и восстановление

Надпись BOOTMGR is missing на чёрном экране или зависание ноутбука на логотипе производителя почти всегда означает одно: сбой произошёл на уровне загрузчика операционной системы, ещё до того, как Windows или Linux успели запустить собственное ядро. Именно загрузчик — первое программное звено, которое прошивка материнской платы передаёт управлению после самотестирования оборудования, и если оно повреждено, ни одна ОС на диске стартовать не сможет.

Разобраться в устройстве загрузчика полезно не только системным администраторам. Понимание того, как цепочка BIOS/UEFI → загрузчик → ядро ОС работает в норме, позволяет быстро локализовать проблему, восстановить загрузку без переустановки системы и сохранить все данные на диске. Ниже разберём принципы работы, основные типы загрузчиков и безопасные способы их восстановления.

Что такое загрузчик операционной системы

Загрузчик (bootloader) — это небольшая программа, которая находит ядро операционной системы на диске, загружает его в оперативную память и передаёт ему управление. Без этого промежуточного звена прошивка материнской платы не смогла бы напрямую запустить сложную современную ОС: прошивка умеет лишь выполнять простейший код из строго определённого места накопителя.

Задачи загрузчика шире, чем кажется на первый взгляд. Он может показывать меню выбора между несколькими установленными системами, передавать ядру стартовые параметры, загружать начальный образ initramfs с драйверами, а в режиме Secure Boot — проверять цифровую подпись загружаемых компонентов. Фактически загрузчик — это диспетчер всего процесса старта компьютера.

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

Как происходит загрузка: от включения до рабочего стола

Процесс старта компьютера можно представить как цепочку передачи управления. Сначала прошивка BIOS или UEFI выполняет самотестирование оборудования (POST), затем ищет загрузочное устройство согласно приоритету в настройках и считывает с него загрузочный код. Дальше в дело вступает загрузчик, который подготавливает среду и запускает ядро ОС, а ядро уже инициализирует драйверы, службы и графический интерфейс.

Ключевое различие — между классической схемой Legacy BIOS и современной UEFI. В режиме Legacy прошивка читает первый сектор диска — главную загрузочную запись MBR. В режиме UEFI прошивка обращается к специальному разделу EFI System Partition (ESP), отформатированному в FAT32, и запускает оттуда загрузочный файл с расширением .efi. Эти два режима несовместимы между собой: загрузчик, установленный для одного режима, не сработает в другом.

  • 🔌 POST — прошивка проверяет процессор, память и базовые устройства.
  • 💾 Поиск загрузочного устройства — по приоритету, заданному в настройках BIOS/UEFI.
  • 📂 Запуск загрузчика — из MBR либо из раздела ESP.
  • ⚙️ Загрузка ядра — ядро ОС получает управление и стартовые параметры.
  • 🖥️ Инициализация системы — запуск служб, драйверов и интерфейса пользователя.
⚠️ Внимание: перед любыми манипуляциями с загрузчиком убедитесь, что важные данные скопированы на внешний носитель. Команды восстановления загрузки безопасны для файлов, но ошибка при разметке диска может привести к потере разделов.

Основные типы загрузчиков

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

ЗагрузчикТипичная средаГде хранится конфигурация
Windows Boot Manager (bootmgr)Windows 10/11Хранилище BCD на разделе ESP или системном разделе
GRUB 2Большинство дистрибутивов Linux/boot/grub/grub.cfg (генерируется автоматически)
systemd-bootLinux в режиме UEFIФайлы .conf на разделе ESP
rEFIndМультизагрузка, в том числе macOS на ПКrefind.conf на разделе ESP
NTLDRУстаревшие Windows XPФайл boot.ini в корне диска

В мире Windows загрузка управляется связкой Windows Boot Manager и хранилища конфигурации загрузки BCD (Boot Configuration Data), которое заменило простой текстовый boot.ini ещё со времён Windows Vista. В Linux доминирует GRUB 2 — гибкий загрузчик с поддержкой модулей, скриптов и меню выбора ядер. Важный нюанс: файл grub.cfg не редактируют вручную, его пересобирают утилитой обновления конфигурации после правки шаблонов.

📊 Какой загрузчик используется на вашем основном компьютере?
Windows Boot Manager
GRUB 2
Двойная загрузка Windows + Linux
Не знаю точно

Типичные ошибки загрузчика и их причины

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

  • 🚫 BOOTMGR is missing — повреждён или не найден загрузчик Windows; возможные причины: сбойный сектор, неверный порядок загрузки, отключённый диск.
  • 🚫 Operating System not found — прошивка вообще не видит загрузочного устройства; проверьте, определяется ли диск в BIOS/UEFI.
  • 🚫 grub rescue> — GRUB не смог найти свой раздел с модулями; часто возникает после изменения разметки диска или удаления раздела Linux.
  • 🚫 Ошибка 0xc000000f / 0xc0000225 — проблемы с хранилищем BCD или несоответствие режима загрузки (UEFI/Legacy) установке системы.

Причины подобных сбоев обычно лежат в нескольких плоскостях: некорректное завершение работы во время записи на диск, обновление одной ОС, перезаписавшее загрузчик другой, физическая деградация накопителя, сброс настроек прошивки (например, после обесточивания CMOS-батарейки) и эксперименты с разметкой разделов. Установка Windows после Linux почти всегда затирает GRUB, тогда как обратный порядок установки обычно сохраняет обе системы в меню загрузки — это одно из немногих правил, которое стабильно подтверждается практикой.

⚠️ Внимание: сообщение об отсутствии загрузочного устройства вместе со щелчками или посторонними звуками жёсткого диска — возможный признак аппаратной неисправности. В таком случае сначала скопируйте важные данные (например, загрузившись с Live-носителя) и только потом занимайтесь восстановлением загрузчика.

Восстановление загрузчика Windows

Для восстановления загрузки Windows понадобится установочная флешка той же или более новой версии системы. Загрузитесь с неё, на экране установки выберите Восстановление системыПоиск и устранение неисправностейКомандная строка. Сначала стоит попробовать штатный пункт Восстановление при загрузке — он автоматически исправляет типовые повреждения.

Если автоматика не помогла, в командной строке последовательно выполняют базовый набор команд, перезаписывающий загрузочный код и пересобирающий хранилище BCD:

bootrec /fixmbr

bootrec /fixboot

bootrec /rebuildbcd

Команда bootrec /fixboot на системах с UEFI может вернуть отказ в доступе — это нормально, поскольку в режиме UEFI загрузчик восстанавливается иначе: через утилиту bcdboot, которая копирует загрузочные файлы на раздел ESP. Пример команды (букву системного раздела в среде восстановления нужно предварительно уточнить через diskpartlist volume, она может отличаться от привычной C:):

bcdboot D:\Windows

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

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

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

Восстановление GRUB в Linux

Классический сценарий — после установки или обновления Windows пропало меню GRUB и компьютер сразу загружает Windows. Для восстановления загрузитесь с Live-USB вашего дистрибутива, определите разделы командой lsblk или fdisk -l и примонтируйте корневой раздел Linux. Дальнейшие действия выполняются в окружении chroot, чтобы переустановить загрузчик «изнутри» установленной системы.

sudo mount /dev/sdXN /mnt

sudo grub-install --boot-directory=/mnt/boot /dev/sdX

Здесь /dev/sdXN — раздел с системой, а /dev/sdX — сам диск; точные имена устройств зависят от вашей конфигурации и их обязательно нужно сверить выводом lsblk. На системах с UEFI процедура отличается: дополнительно монтируют раздел ESP и указывают соответствующий целевой режим установки. После установки загрузчика конфигурацию пересобирают командой обновления GRUB, специфичной для дистрибутива (например, update-grub в Debian/Ubuntu или grub2-mkconfig в Fedora-подобных системах).

Что делать при попадании в grub rescue

В минимальной консоли rescue доступны команды ls, set, insmod и configfile. Типовой путь: командой ls найти раздел с каталогом /boot/grub, задать его через set root и set prefix, загрузить модуль normal командой insmod normal и запустить normal — после чего появится привычное меню GRUB. Загрузившись в систему, обязательно переустановите загрузчик штатно, иначе проблема вернётся при следующем старте.

Если после восстановления в меню GRUB не появилась Windows, проверьте, установлен ли пакет os-prober и разрешено ли его использование в настройках GRUB — в ряде дистрибутивов автоматический поиск других ОС по умолчанию отключён. После включения опции конфигурацию нужно пересобрать заново.

Настройка двойной загрузки и типичные ошибки

Двойная загрузка Windows и Linux на одном диске — рабочая и широко используемая схема, но она требует соблюдения нескольких условий. Обе системы должны быть установлены в одном режиме (обе в UEFI или обе в Legacy), иначе переключаться между ними придётся через настройки прошивки, а не через меню загрузчика. Проверить текущий режим Windows можно в утилите Сведения о системе по строке «Режим BIOS».

Ещё один частый источник проблем — функция быстрого запуска Windows (Fast Startup) и технология BitLocker. Быстрый запуск оставляет разделы Windows в состоянии гибернации, из-за чего Linux монтирует их только для чтения или не монтирует вовсе, а шифрование BitLocker может потребовать ключ восстановления после изменений в загрузочной цепочке. Перед установкой второй системы разумно отключить быстрый запуск в настройках электропитания и сохранить ключ восстановления BitLocker в надёжном месте.

Профилактика сбоев загрузчика

Загрузчик редко выходит из строя сам по себе — обычно ему «помогают» внешние факторы. Простые привычки заметно снижают риск оказаться перед чёрным экраном в самый неподходящий момент.

  • 🛡️ Завершайте работу системы штатно, особенно во время установки обновлений, когда идёт запись в системные области диска.
  • 💽 Держите под рукой загрузочную флешку с вашей ОС — она превращает восстановление из проблемы в формальность.
  • 📋 Перед переразметкой диска экспортируйте BCD и запишите текущую схему разделов.
  • 🔋 На десктопе без ИБП избегайте операций с разделами во время грозы или нестабильного электроснабжения.
  • 🧰 Периодически проверяйте состояние диска штатными средствами диагностики — деградирующий накопитель часто «роняет» именно загрузочные области.

И последнее: если сбои загрузки повторяются регулярно, не ограничивайтесь восстановлением загрузчика. Повторяющееся повреждение загрузочных данных — симптом, а не самостоятельная проблема, и её источник (диск, память, питание) нужно искать комплексной диагностикой.

Часто задаваемые вопросы

Можно ли восстановить загрузчик без потери данных?

Да. Команды восстановления загрузки (bootrec, bcdboot, grub-install) затрагивают только загрузочные области и не трогают пользовательские файлы. Риск для данных появляется только при ошибочных операциях с разметкой разделов, поэтому перед работой желательно сделать резервную копию важного.

Чем UEFI-загрузка отличается от Legacy?

В режиме Legacy прошивка запускает код из первого сектора диска (MBR), а в режиме UEFI — исполняемый файл .efi со специального раздела ESP в формате FAT32. Загрузчики для этих режимов несовместимы, поэтому смена режима в настройках прошивки «на пробу» часто приводит к невозможности загрузки уже установленной системы.

Почему после обновления Windows пропал GRUB?

Возможные причины две: либо обновление перезаписало загрузочную запись, либо просто изменило приоритет загрузки в UEFI, поставив Windows Boot Manager первым. Сначала проверьте порядок загрузки в настройках прошивки — часто достаточно вернуть запись Linux-загрузчика на первое место. Если записи там нет, потребуется переустановка GRUB с Live-носителя.

Что такое BCD и зачем его экспортировать?

BCD (Boot Configuration Data) — хранилище конфигурации загрузки Windows, где перечислены установленные системы и параметры их запуска. Экспорт командой bcdedit /export создаёт резервную копию, которую можно импортировать обратно после неудачных экспериментов с мультизагрузкой.

Компьютер пишет «No bootable device» — это загрузчик сломался?

Не обязательно. Это сообщение означает, что прошивка не нашла ни одного устройства, с которого можно загрузиться. Проверьте, определяется ли диск в BIOS/UEFI, не сбросился ли порядок загрузки и не переключился ли режим (UEFI/Legacy). Только если диск виден и настройки корректны, стоит заниматься восстановлением самого загрузчика.