- Правильное определение разделов и дисков позволяет переустановить GRUB с загрузочного USB-накопителя без переустановки системы.
- Такие инструменты, как Boot-Repair, Syslinux или LILO, предлагают альтернативные способы восстановления MBR и менеджера загрузки.
- BCDBoot и bootrec позволяют восстанавливать диспетчер загрузки Windows и хранилище BCD в многооконных средах Windows.
- Сочетание утилит Linux и Windows упрощает безопасное восстановление поврежденных файлов при двойной загрузке.

При настройке системы с двойной загрузкой Windows и дистрибутива Linux (Ubuntu, Arch, Debian и т. д.) менеджер загрузки становится критически важным компонентом. Он определяет, какая операционная система загружается и как. Проблема в том, что простое обновление Windows, изменение раздела или переустановка могут повредить GRUB или менеджер загрузки Windows , что приведет к некорректной загрузке компьютера.
В подобных ситуациях часто встречаются такие симптомы, как экраны ошибок загрузки, появление режима восстановления GRUB , загрузка Windows без учета Linux или, наоборот, исчезновение Windows из меню. Хорошая новость заключается в том, что с помощью подходящих инструментов можно восстановить загрузчик (GRUB или Windows Boot Manager) практически в любом сценарии , как в системах с двойной загрузкой Windows/Linux, так и в конфигурациях с несколькими версиями Windows.
Что обычно приводит к сбоям GRUB или диспетчера загрузки Windows в системе с двойной загрузкой?
Прежде чем приступать к ремонту, стоит понять, почему стартер неисправен. Это поможет вам выбрать подходящий инструмент для каждой ситуации и предотвратит повторное возникновение одной и той же проблемы.
Одна из наиболее распространенных причин заключается в том, что Windows перезаписывает раздел MBR или EFI при установке после Linux или после крупного обновления. Windows считает, что это единственная операционная система на компьютере, и перезаписывает загрузочный сектор, поэтому GRUB исчезает, и загружается только Windows.
Ещё один очень распространённый сценарий — изменение размера или перемещение разделов с помощью инструментов для работы с разделами. Если вы изменяете раздел, где установлен GRUB, или модифицируете таблицу разделов, менеджер загрузки может легко потерять ссылку на корневой каталог системы Linux или само ядро , что приведёт к сообщениям типа «Ошибка загрузки системы» или к тому, что меню выбора операционной системы не отобразится.
Менеджер загрузки также может быть поврежден после обновления системы . Хотя это и не самое распространенное явление, обновление ядра, новый пакет GRUB или изменения в прошивке UEFI могут привести к неправильной настройке меню загрузки, что приведет к прямому появлению консоли восстановления (печально известной командной строки grub rescue> ).
На компьютерах, где сосуществуют несколько версий Windows (например, Windows 10 и Windows 11 на отдельных дисках или в разных разделах), иногда проблема заключается не в GRUB, а в самом хранилище BCD Windows , которое может быть неправильно настроено и приводить к тому, что одна из систем не отображается в меню загрузки диспетчера загрузки Windows.
Загрузитесь с загрузочного носителя Linux, чтобы восстановить GRUB.
Когда менеджер загрузки выходит из строя и система не загружается нормально, наиболее гибким способом решения проблемы является использование LiveCD или LiveUSB дистрибутива Linux (Ubuntu обычно является наиболее удобным вариантом), чтобы «войти» в установленную систему и переустановить GRUB оттуда.
Первый шаг — создание загрузочного носителя. Вам необходимо загрузить ISO-образ дистрибутива с GRUB2 (Ubuntu, Debian, Linux Mint и т. д.), архитектура которого соответствует архитектуре вашей поврежденной системы: amd64, если ваша система 64-битная, или i386, если она 32-битная . Это соответствие важно, поскольку позже будет использоваться chroot , и если архитектуры не совпадают, при запуске бинарных файлов GRUB могут возникнуть ошибки.
Получив ISO-образ, запишите его на загрузочный USB-накопитель . Вы можете использовать такие инструменты, как Rufus, balenaEtcher или любой другой, с которым вам удобно работать. Вставьте USB-накопитель в компьютер с поврежденной загрузочной системой и в BIOS или UEFI выберите загрузку с USB-накопителя.
Первый шаг — создание загрузочного носителя. Вам необходимо загрузить ISO-образ дистрибутива с GRUB2 (Ubuntu, Debian, Linux Mint и т. д.), архитектура которого соответствует архитектуре вашей поврежденной системы: amd64, если ваша система 64-битная, или i386, если она 32-битная . Это соответствие важно, поскольку позже будет использоваться chroot , и если архитектуры не совпадают, при запуске бинарных файлов GRUB могут возникнуть ошибки.
При загрузке с USB-накопителя в меню дистрибутива появится что-то вроде «Попробовать Ubuntu ». Эта опция загружает полную систему в память без обращения к жесткому диску, и именно оттуда вы можете открыть терминал и выполнить необходимые команды для восстановления GRUB.
На рабочем столе Live просто откройте меню приложений и найдите «Терминал» . Далее весь процесс выполняется из командной строки, но если вы внимательно будете следовать инструкциям, это будет довольно просто.
Определите корневой раздел, раздел /boot и диск.
Для переустановки менеджера загрузки в первую очередь необходимо узнать, на каких разделах установлен ваш Linux и как называется диск, на котором находится раздел MBR или EFI (например, /dev/sda ).
В терминале загрузочной системы можно использовать команду `fdisk -l` с правами администратора: `sudo fdisk -l` . Эта команда выведет список всех подключенных дисков и разделов, показав тип файловой системы, размер и метку (если есть).
Среди всего вывода вам нужно найти раздел, содержащий корневую файловую систему Linux . Обычно вы увидите что-то вроде /dev/sda2 или подобное, разумного размера и с файловой системой Linux (ext4 или эквивалентной). Если вы создали отдельный раздел /boot , вам также нужно будет его идентифицировать; как правило, это небольшой раздел, содержащий такие файлы, как grub, vmlinuz, initrd, System.map и т. д.
Если вы не уверены, простой способ — вручную смонтировать подозрительные разделы и изучить их содержимое. Например, вы можете использовать команду `sudo mount /dev/sda2 /mnt` , а затем вывести список содержимого с помощью команды `ls /mnt` . Если вы видите каталоги типа `bin`, `boot`, `root` и т. д. , значит, вы смотрите на корневой раздел. Если вы смонтируете другой раздел и обнаружите папку `grub` вместе с другими загрузочными файлами, значит, вы смотрите на раздел ` /boot`.
В верхней части вывода команды fdisk также отображается имя основного диска , например, " Disk /dev/sda ". Этот идентификатор имеет ключевое значение, поскольку он будет конечным пунктом назначения при переустановке GRUB на MBR, или потому что он может указывать на раздел, который выступает в качестве раздела EFI в системе UEFI.
Монтирование разделов и использование chroot для переустановки GRUB.
После того, как вы определили интересующие вас разделы, вам необходимо смонтировать их в Live-системе , чтобы вы могли «войти» в свою установку так, как если бы вы загрузились с неё, а не с USB-накопителя.
Для начала необходимо смонтировать корневой раздел в /mnt с помощью команды, аналогичной следующей: `sudo mount /dev/sda2 /mnt` (заменив /dev/sda2 на раздел, соответствующий вашему случаю). Если у вас есть отдельный раздел /boot , смонтируйте его внутри этого корневого дерева, например, с помощью команды `sudo mount /dev/sda7 /mnt/boot`.
Далее необходимо смонтировать несколько специальных каталогов с помощью опции `--bind` , чтобы среда chroot могла видеть устройства, процессы и файловую систему машины. Обычно это делается с помощью команд типа: `sudo mount -bind /dev /mnt/dev` , `sudo mount -bind /dev/pts /mnt/dev/pts` , `sudo mount -bind /proc /mnt/proc` и `sudo mount -bind /sys /mnt/sys`.
После завершения всех настроек вы можете использовать chroot для изменения корневого каталога файловой системы на каталог вашей установленной системы Linux. Типичная команда — `sudo chroot /mnt` . С этого момента все выполняемые вами команды будут влиять на вашу фактическую систему, установленную на диске , а не на среду Live, работающую с USB-накопителя.
Следующий шаг — переустановка GRUB на нужный диск. В системах с BIOS/MBR обычно используется команда типа `grub-install --boot-directory=/boot/ --recheck /dev/sda` (заменив `/dev/sda` на диск, содержащий MBR). Эта команда загружает загрузчик GRUB в загрузочный сектор диска и гарантирует, что конфигурация указывает на правильные файлы.
После переустановки менеджера загрузки рекомендуется заново сгенерировать конфигурацию GRUB , чтобы он обнаруживал все доступные операционные системы. Это делается с помощью команды `grub-mkconfig -o /boot/grub/grub.cfg` . Затем GRUB просканирует разделы на наличие ядер Linux, установок Windows и других систем и сгенерирует меню загрузки.
После завершения просто выйдите из chroot с помощью команды `exit` и перезагрузите компьютер с помощью команды `sudo reboot` . После извлечения загрузочного USB-накопителя должно отобразиться полностью функциональное меню GRUB , позволяющее загрузиться в Linux или Windows.
Используйте Boot-Repair для автоматического восстановления GRUB.
Для тех, кто не хочет возиться со множеством команд, выполняемых вручную, существует очень удобный инструмент под названием Boot-Repair , специально разработанный для устранения распространенных проблем загрузки в Ubuntu и ее производных.
Boot-Repair — это утилита, которую можно установить в среду Ubuntu (как в саму операционную систему, так и в среду Live). Её основная функция — автоматическая переустановка GRUB и восстановление доступа ко всем установленным системам: будь то из-за перезаписи MBR в Windows, из-за прекращения отображения меню GRUB после обновления или из-за изменения разделов и повреждения конфигурации.
Помимо стандартного восстановления, инструмент имеет расширенные возможности для резервного копирования таблиц разделов, резервного копирования загрузочных секторов, создания подробных отчетов (Boot-Info) и настройки параметров восстановления, если вам требуется более точный контроль.
Для использования в среде Ubuntu Live сначала необходимо добавить репозиторий Boot-Repair PPA с помощью команды типа: `sudo add-apt-repository ppa:yannubuntu/boot-repair` . Затем обновите пакеты с помощью `sudo apt update` и, наконец, установите приложение с помощью `sudo apt install boot-repair` . При появлении запроса подтвердите загрузку и установку.
После установки утилиту можно запустить из строки поиска приложений Ubuntu, набрав «Boot-Repair» . При запуске инструмент обычно отображает опцию «Рекомендуемое восстановление» , которая наиболее удобна для большинства пользователей, поскольку она переустанавливает GRUB, обновляет его конфигурацию и исправляет большинство распространенных ошибок без необходимости какой-либо ручной настройки.
В расширенных настройках есть флажок «Восстановить MBR ». Эта опция позволяет заменить текущий загрузочный значок диска на универсальный или специфический MBR, что может быть полезно в определенных сценариях. После выбора соответствующей опции и нажатия кнопки «Применить » Boot-Repair запускает процесс восстановления и отображает его ход до завершения. После завершения обычно отображаются внесенные изменения, и после перезагрузки двойная загрузка должна снова работать.
Другие низкоуровневые инструменты: Syslinux, MBR и LILO.
В некоторых сложных случаях, особенно при работе со специфическими конфигурациями, устаревшим оборудованием или определенными файловыми системами , может быть полезно использовать такие инструменты, как Syslinux или LILO, для более непосредственного управления MBR и процессом загрузки.
Syslinux — это набор легковесных загрузчиков для различных сценариев: классический SYSLINUX для файловых систем MS-DOS FAT, PXELINUX для загрузки по сети, ISOLINUX для загрузочных компакт-дисков и EXTLINUX для файловых систем ext2/3/4 или btrfs. Он также включает MEMDISK , который позволяет загружать более старые операционные системы, такие как DOS, с нетрадиционных носителей.
В дистрибутивах, таких как Ubuntu, его можно установить с помощью команды `sudo apt install syslinux` . После установки вы можете восстановить MBR , введя соответствующую команду в загрузочный каталог диска, например, `sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda` . В качестве альтернативы можно использовать другие пакеты и инструменты, такие как `sudo apt-get install mbr` с последующей командой `sudo install-mbr -in -p D -t 0 /dev/sda` , которые также восстанавливают работающую MBR.
Ещё один классический вариант — LILO (Linux Loader) . Хотя GRUB2 теперь является загрузчиком по умолчанию в большинстве дистрибутивов, LILO остаётся простым и надёжным решением для определённых типов оборудования или специфических конфигураций, где GRUB испытывает трудности. В Ubuntu, например, его можно установить с помощью команды `sudo apt-get install lilo` ; во время установки на экране появится запрос, который необходимо принять для продолжения.
После установки LILO вы можете использовать его для записи новой MBR с помощью команды, например, `sudo lilo -M /dev/sda mbr` . Это заменит код MBR кодом LILO, что может помочь восстановить работоспособность загрузки в системах, где менеджер загрузки поврежден или несовместим с оборудованием.
Восстановление GRUB при появлении режима восстановления в Arch Linux
В таких дистрибутивах, как Arch Linux, довольно часто после обновления системы Windows, изменения конфигурации загрузки или модификации разделов возникает режим восстановления GRUB . В таких случаях компьютер загружается, но вместо меню GRUB появляется минималистичная командная строка, где можно выполнить лишь несколько команд.
В этом режиме можно попытаться загрузить Arch Linux вручную , указав загрузчику местоположение ядра и его конфигурации. Типичный пример включает в себя установку корневого каталога и префикса GRUB с помощью команд типа ` set root=(hd0,gpt8)` и `set prefix=(hd0,gpt8)/boot/grub` , загрузку обычного модуля с помощью `insmod normal` и, наконец, запуск команды `normal` для указания на обычное меню загрузки.
Это временное решение, но оно не устраняет основную проблему. Правильная процедура после загрузки Arch — запустить ` grub-install` , указав правильный диск (например, `sudo grub-install /dev/sda` ), а затем `grub-mkconfig` . Однако эта команда иногда завершается с ошибкой, например, «невозможно идентифицировать файловую систему на hostdisk» или с сообщением о невозможности выполнить проверку безопасности диска.
В таких случаях наиболее безопасным вариантом действий является загрузка с совместимого Live-носителя (например, с самого установщика Arch или Live-носителя другого дистрибутива), монтирование разделов и использование chroot, как описано ранее. Это гарантирует корректную доступность устройств, правильное определение таблицы разделов и возможность переустановки GRUB без проблем . Важно убедиться, что вы устанавливаете GRUB на весь дисковый носитель (например, /dev/sda), а не на конкретный раздел (например, /dev/sda6), если только у вас нет для этого веской причины.
Восстановление диспетчера загрузки Windows и BCD в системах с двойной загрузкой
В конфигурациях, где сосуществуют две версии Windows (например, Windows 10 и Windows 11) или где нарушена только загрузка Windows в режиме двойной загрузки с Linux, может также потребоваться восстановление загрузчика Windows и его хранилища BCD.
В Windows есть утилита BCDBoot , которую можно использовать для создания или восстановления загрузочных записей для системы на базе Windows . Она очень полезна, когда вы установили вторую версию Windows на другой раздел или диск, и она не отображается в меню загрузки; или когда меню загрузки было удалено, и Windows загружается только в одну систему.
Общая процедура включает загрузку компьютера с установочного носителя Windows (или диска восстановления) и доступ к параметрам восстановления. На экране установки, вместо продолжения обычного процесса, нажмите «Восстановить компьютер ». Затем перейдите в раздел «Устранение неполадок» , а затем в «Дополнительные параметры », где вы можете выбрать «Командная строка» или «Восстановление при запуске », в зависимости от ваших потребностей.
Если вы выберете автоматическое восстановление, опция «Восстановление при запуске» автоматически попытается исправить ошибки в диспетчере загрузки и конфигурации BCD . Во многих случаях это быстрый способ восстановить диспетчер загрузки Windows без необходимости вручную вводить команды.
Если вам нужен больший контроль, вы можете перестроить хранилище BCD из командной строки . Типичная процедура включает в себя сначала резервное копирование текущего хранилища с помощью команды типа `ren BCD BCD.old` (после перехода в соответствующую папку), а затем запуск команды `bcdboot D:\Windows` (заменив `D:\Windows` фактическим путем к установке Windows, которую вы хотите добавить). Если вы не знаете, какая буква диска соответствует каждому разделу, вы можете использовать команду `diskpart` , а затем `list volume`, чтобы увидеть назначенные буквы.
Также можно указать язык и загрузочный том, используя более полный синтаксис, например, ` bcdboot c:\Windows /len-us /s X: /f ALL` , заменив X: буквой диска загрузочного раздела (или флеш-накопителя, на котором вы хотите создать загрузчик). Это перезапишет BCD чистыми записями для выбранной версии Windows, так что после перезагрузки обе системы должны появиться в меню загрузки, если остальная конфигурация верна.
Восстановите MBR Windows с помощью bootrec.
В ситуациях, когда проблема заключается непосредственно в MBR (главной загрузочной записи) диска, используемого в качестве загрузочного диска в Windows, можно также использовать инструмент bootrec , доступный в средах восстановления Windows.
Процесс обычно начинается с загрузки с установочного носителя Windows . Например, на многих компьютерах Dell можно нажать клавишу F12 на экране загрузки , чтобы открыть меню загрузки и выбрать установочный USB-накопитель или DVD-диск. После загрузки, как и раньше, нажмите «Восстановить компьютер » , затем «Устранение неполадок », затем «Дополнительные параметры» и, наконец, выберите «Командная строка ».
В консоли можно выполнить ряд команд bootrec в следующем порядке для восстановления MBR и BCD-хранилища: сначала bootrec /fixmbr , которая записывает на диск чистую, совместимую с Windows MBR; затем bootrec /fixboot , которая создает новый загрузочный сектор в системном разделе; и, наконец, bootrec /rebuildbcd , которая сканирует существующие установки Windows и предлагает добавить их в хранилище загрузки.
После того как эти команды будут выполнены без ошибок, компьютер перезагружается путем извлечения установочного носителя, чтобы проверить, правильно ли загружается Windows и, если да, доступна ли двойная загрузка с Linux через GRUB или Boot Manager , в зависимости от конфигурации системы.
Знание всех этих инструментов и процедур (LiveUSB для Linux, chroot и переустановка GRUB, использование Boot-Repair, Syslinux, LILO, BCDBoot и bootrec) значительно упрощает диагностику того, какой компонент загрузки вышел из строя в системе с двойной загрузкой, и позволяет применить соответствующее решение в каждом конкретном случае, избегая полной переустановки системы и восстанавливая стабильную двойную загрузку между Windows и вашим любимым дистрибутивом Linux всего за несколько шагов.