Multiboot: программы восстановления загрузчика — как вернуть загрузку Windows и Linux

Чёрный экран с надписью no bootable device или ошибка 0xc000000e после установки второй операционной системы — типичный признак того, что загрузочная запись повреждена или перезаписана. При конфигурации multiboot (несколько ОС на одном диске) это происходит чаще всего: установщик Windows затирает GRUB, обновление Linux ломает Windows Boot Manager, а клонирование диска разрушает привязку разделов. Хорошая новость в том, что данные при этом обычно целы — страдает только механизм загрузки, и его можно восстановить программно.

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

Как устроена загрузка при multiboot и почему она ломается

При включении компьютера прошивка (BIOS или UEFI) ищет загрузчик на диске и передаёт ему управление. В режиме Legacy это код в MBR — первом секторе диска. В режиме UEFI — файл bootx64.efi на скрытом разделе ESP (EFI System Partition) с файловой системой FAT32.

Мультизагрузка добавляет второй уровень: первый загрузчик (например, GRUB или Windows Boot Manager) показывает меню выбора ОС и передаёт управление нужной системе. Цепочка получается длинной, и сломаться может любое звено.

  • 🔧 Установка Windows после Linux перезаписывает загрузочную запись, и GRUB исчезает из меню загрузки.
  • 🐧 Обновление ядра Linux или переустановка GRUB с неверными параметрами делает недоступной Windows.
  • 💽 Клонирование или перенос системы на другой диск ломает идентификаторы разделов (UUID), на которые ссылается конфигурация загрузчика.
  • ⚡ Обрыв питания или сбой диска повреждает хранилище BCD (Boot Configuration Data) у Windows.

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

Обзор программ для восстановления загрузчика

Универсального «одного лучшего» инструмента нет — программы различаются по поддерживаемым режимам и сценариям. Ниже — проверенные временем решения, которые реально существуют и применяются для восстановления мультизагрузки.

ПрограммаСреда запускаЧто восстанавливаетОсобенности
Boot RepairLiveUSB с Linux (Ubuntu)GRUB, записи UEFIАвтоматический режим «Recommended repair», генерирует отчёт для диагностики
EasyBCDРаботающая WindowsХранилище BCD, меню загрузкиУдобное редактирование записей, но требует загруженной Windows
bootrec / bcdbootСреда восстановления Windows (WinRE)MBR, загрузочный сектор, BCDШтатные утилиты Microsoft, не нужно ничего скачивать
Rescuezilla / Clonezilla LiveLiveUSBОбразы разделов, резервные копииПодходят для отката всего диска, а не точечного ремонта загрузчика
Super Grub2 DiskЗагрузочный ISOЗапуск ОС в обход сломанного загрузчикаНе чинит, а позволяет загрузиться и исправить всё изнутри системы

Логика выбора простая. Если Windows ещё загружается — начните с EasyBCD или штатных утилит. Если не грузится ничего — нужен загрузочный носитель: Boot Repair для связок с Linux, установочная флешка Windows с WinRE — для чисто Windows-конфигураций.

📊 Какая у вас конфигурация multiboot?
Windows + Linux (GRUB)
Две и более Windows
Windows + Linux на разных дисках
Пока одна ОС, планирую вторую

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

Если на диске только Windows (одна или несколько), надёжнее всего работать из среды восстановления. Чтобы попасть в неё, загрузитесь с установочной флешки Windows и выберите Восстановление системы → Поиск и устранение неисправностей → Командная строка. Если флешки нет, WinRE часто открывается автоматически после двух-трёх неудачных попыток загрузки.

Для режима Legacy (MBR) последовательно выполните:

bootrec /fixmbr

bootrec /fixboot

bootrec /rebuildbcd

Первая команда перезаписывает главную загрузочную запись, вторая — загрузочный сектор системного раздела, третья ищет установленные копии Windows и предлагает добавить их в хранилище BCD. Если /rebuildbcd находит систему, подтвердите добавление клавишей Y.

Для режима UEFI команда fixboot часто возвращает «Отказано в доступе» — это нормально, там используется другой механизм. Нужно вручную пересоздать загрузочные файлы на EFI-разделе:

diskpart

list volume

select volume N

assign letter=S

exit

bcdboot C:\Windows /s S: /f UEFI

Здесь N — номер раздела ESP (обычно 100–500 МБ в FAT32, определяется по выводу list volume), а C:\Windows — путь к установленной системе; буква диска в WinRE может отличаться от привычной, проверьте её через list volume. Команда bcdboot копирует загрузочные файлы на EFI-раздел и создаёт запись в NVRAM прошивки.

⚠️ Внимание: команды bootrec /fixmbr и fixboot перезаписывают загрузочные области диска. Если на машине стоит Linux с GRUB в MBR, после этих команд GRUB исчезнет и Linux перестанет загружаться — его загрузчик придётся восстанавливать отдельно. Сначала сделайте резервную копию важных данных, если к ним есть доступ.

☑️ Проверка перед восстановлением загрузчика

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

Восстановление GRUB и мультизагрузки с Linux

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

Самый простой путь — загрузочный носитель с Boot Repair. Это программа с графическим интерфейсом, которая анализирует конфигурацию дисков и в режиме «Recommended repair» автоматически переустанавливает GRUB и обновляет его конфигурацию, подхватывая обнаруженные ОС. После завершения она выдаёт ссылку на подробный лог — его стоит сохранить: если автоматическое восстановление не поможет, лог пригодится для диагностики.

Ручной способ из Live-сессии Ubuntu выглядит так: определить корневой раздел Linux командой lsblk или fdisk -l, смонтировать его и переустановить загрузчик. Пример для UEFI:

sudo mount /dev/sdXN /mnt

sudo mount /dev/sdXY /mnt/boot/efi

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

sudo update-grub

Здесь /dev/sdXN — корневой раздел Linux, /dev/sdXY — EFI-раздел; точные имена устройств обязательно сверяйте по выводу lsblk, они различаются от машины к машине. Команда update-grub пересобирает меню и должна обнаружить Windows через os-prober — в некоторых современных дистрибутивах os-prober по умолчанию отключён, тогда его нужно включить в настройках GRUB.

EasyBCD: редактирование меню загрузки из работающей Windows

Когда Windows загружается, а проблема только в меню — пропал пункт второй системы, неверный таймаут, неудобный порядок записей — ничего загрузочного не нужно. Программа EasyBCD открывает хранилище BCD в графическом виде и позволяет управлять им без командной строки.

Основные возможности, полезные при multiboot:

  • ➕ Добавление записи для второй Windows, Linux (через GRUB-загрузчик) или образа ISO.
  • ✏️ Переименование пунктов меню и изменение порядка загрузки.
  • ⏱️ Настройка таймаута автоматического выбора системы по умолчанию.
  • 💾 Резервное копирование и восстановление всего хранилища BCD одной кнопкой.

Типичная задача — вернуть пункт Linux после того, как Windows перезаписала загрузку. В EasyBCD это делается через добавление новой записи типа Linux/BSD с указанием раздела, где установлен GRUB. Однако учитывайте ограничение: в конфигурациях UEFI возможности EasyBCD по работе с не-Windows загрузчиками существенно уже, чем в Legacy, — прошивка сама управляет списком загрузочных записей, и часть функций программы в этом режиме недоступна.

⚠️ Внимание: хранилище BCD — критичный для загрузки компонент. Перед любыми правками в EasyBCD создайте резервную копию хранилища (функция встроена в программу). Удаление или порча единственной рабочей записи сделает систему незагружаемой, и чинить её придётся уже из WinRE.

Частые ошибки и что делать, если восстановление не помогло

Иногда команды отрабатывают без ошибок, а система всё равно не грузится. В таких случаях проблема обычно лежит глубже загрузчика — в разделах, прошивке или самой ОС.

Ошибка 0xc000000f или «The Boot Configuration Data file is missing». Хранилище BCD отсутствует или повреждено. Помогает полное пересоздание: удалить старый файл BCD с системного раздела и заново выполнить bcdboot C:\Windows из WinRE.

Компьютер грузится сразу в одну ОС, меню не появляется. Проверьте порядок загрузки в настройках UEFI/BIOS: нужный загрузчик (например, ubuntu или Windows Boot Manager) должен стоять первым. Также убедитесь, что меню не скрыто настройками самого загрузчика — у GRUB за это отвечают параметры таймаута в /etc/default/grub.

После восстановления Windows исчез Linux или наоборот. Это ожидаемо: каждый инструмент чинит «свой» загрузчик. Порядок действий при смешанной конфигурации — сначала восстановить загрузку Windows (bcdboot), затем загрузиться в Linux любым способом (например, через Super Grub2 Disk) и выполнить update-grub, чтобы обе системы попали в одно меню.

Если ни один программный метод не даёт результата, проверьте здоровье самого диска: chkdsk для разделов Windows и SMART-диагностику через smartctl из Live-сессии Linux. Умирающий накопитель будет снова и снова портить восстановленный загрузчик.

Профилактика: как не потерять загрузчик снова

Большинство поломок загрузчика предсказуемы, и их можно предупредить простыми привычками.

  • 💾 Перед установкой второй ОС, обновлением или переразметкой диска делайте резервную копию MBR/ESP и хранилища BCD.
  • 📀 Храните под рукой загрузочную флешку: установочный образ Windows и LiveUSB с Linux закрывают почти все сценарии восстановления.
  • 🔄 После каждого восстановления проверяйте загрузку обеих систем сразу, а не «потом как-нибудь».
  • 🧭 Записывайте, в каком режиме (UEFI/Legacy) установлена каждая ОС — смешение режимов на одном диске создаёт труднодиагностируемые конфликты.

Отдельно отметим: установку второй системы лучше выполнять в том же режиме, что и первой. Если Windows стоит в UEFI-режиме, Linux тоже устанавливайте в UEFI — тогда обе системы используют общий EFI-раздел, и конфликтов загрузчиков становится заметно меньше.

Почему нельзя смешивать UEFI и Legacy на одном диске

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

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

Можно ли восстановить загрузчик без загрузочной флешки?

Частично — да. Если Windows хоть как-то реагирует, среда WinRE часто открывается после нескольких прерванных загрузок (выключение кнопкой питания на этапе старта). Из WinRE доступны командная строка с bootrec и bcdboot. Но если повреждён и раздел восстановления, без внешнего носителя не обойтись.

Удалятся ли мои файлы при восстановлении загрузчика?

Нет. Команды bootrec, bcdboot, Boot Repair и EasyBCD работают только с загрузочными областями (MBR, загрузочный сектор, BCD, файлы GRUB) и не трогают пользовательские разделы. Риск для данных появляется только при ошибках в diskpart — например, если очистить не тот диск, — поэтому номера дисков и томов всегда перепроверяйте.

Установил Windows после Linux — Linux пропал из загрузки. Что делать?

Это штатное поведение установщика Windows: он ставит свой загрузчик первым. Раздел с Linux не пострадал. Загрузитесь с LiveUSB, запустите Boot Repair в режиме Recommended repair или вручную переустановите GRUB с последующим update-grub — обе системы появятся в меню.

Чем UEFI-восстановление отличается от Legacy?

В Legacy загрузчик живёт в MBR и восстанавливается командами fixmbr/fixboot. В UEFI загрузчик — это обычный файл на EFI-разделе (FAT32), а список загрузочных записей хранится в NVRAM прошивки. Поэтому в UEFI используется bcdboot с указанием EFI-раздела, а команды для MBR там либо не нужны, либо возвращают ошибку доступа.

Boot Repair не помог — куда смотреть дальше?

Сохраните ссылку на отчёт, который программа предлагает после завершения, — там детальная карта разделов и загрузочных записей. По ней проверьте: совпадает ли режим установки обеих ОС, существует ли EFI-раздел (для UEFI), не повреждена ли файловая система разделов. Если разделы в порядке, следующий шаг — ручная переустановка GRUB из chroot-окружения или диагностика диска через smartctl.