Вы настроили двойную загрузку Windows и Linux, добавили красивый менеджер Grub2Win… и вдруг после отключения электричества всё сбрасывается? Всё дело в тонкостях работы загрузчиков на старых BIOS/MBR-системах. Давайте разберёмся, как Grub2Win встраивается в процесс загрузки и почему иногда «теряет» настройки.
Как устроена загрузка в BIOS/MBR
Чтобы разобраться с Grub2Win, нужно вспомнить, как работала загрузка до UEFI. В MBR-системах (Master Boot Record) всё начинается с первого сектора жёсткого диска. Там хранится крошечная программа – 440 байт! – которая ищет активный раздел (помеченный флажком «boot»). Как только находит, передаёт управление загрузочной записи раздела (Volume Boot Record, VBR).
Вот пример:
MBR (сектор 0) → Активный раздел → VBR раздела → BOOTMGR (Windows) или GRUB (Linux)
Кстати, Windows Boot Manager (BOOTMGR) живёт именно в VBR своего раздела. Если вы устанавливаете Grub2Win, он заменяет оригинальный VBR на свой – так загрузчик перехватывает управление. Но здесь есть нюанс: MBR при этом не меняется. Именно поэтому hex-значения MBR до и после установки Grub2Win совпадают – изменения происходят глубже.
Grub2Win под микроскопом: куда и что записывается
Когда вы запускаете Grub2Win и нажимаете «Install», происходит следующее:
- Программа проверяет, какой раздел помечен как активный (обычно это раздел с Windows).
- Перезаписывает VBR этого раздела – вместо стандартного кода BOOTMGR записывается код Grub2Win.
- Копирует файлы загрузчика в папку
C:Grub2Win
, включая конфиги и модули ядра.
Теперь при включении компьютера цепочка выглядит так:
MBR → Активный раздел → Grub2Win (в VBR) → Меню выбора ОС → Загрузка выбранной системы
Но почему тогда Grub2Win иногда «забывается»? Дело в том, что некоторые действия Windows могут восстановить оригинальный VBR:
- Обновление системы (особенно крупные, вроде перехода с 21H1 на 22H2).
- Использование утилит вроде
bootrec /fixboot
. - Смена активного раздела через DiskPart или сторонние менеджеры.
Диагностика и восстановление загрузчика
Если Grub2Win перестал работать, сделайте следующее:
1. Проверьте активный раздел:
– Откройте командную строку от имени администратора.
– Введите diskpart → list disk → select disk 0 → list partition
.
– Найдите раздел с меткой «Active». Если это не тот, где установлен Grub2Win, исправьте:
select partition X → active
2. Восстановите VBR:
– Запустите Grub2Win → нажмите «Manage Boot Menu» → «Reinstall Grub2Win».
– Для ручного восстановления используйте:
grub-install --target=i386-pc --boot-directory=C:Grub2Winboot (ваш путь)
3. Защититесь от перезаписи:
– Отключите автоматическое восстановление загрузчика в настройках Windows:
bcdedit /set {default} bootstatuspolicy ignoreallfailures
Частые ошибки и как их избежать
Ошибка: | После обновления Windows Grub2Win пропал |
Решение: | Перед установкой обновлений создайте резервную копию VBR через dd if=/dev/sda1 of=vbr_backup.bin bs=512 count=1 (в Linux) или с помощью HxD Editor в Windows. |
И ещё совет: если вы часто отключаете питание (например, на ноутбуке с севшей батареей), настройте Grub2Win на автоматическое восстановление при запуске. Для этого в файле C:Grub2Wingrub.cfg
добавьте строку:
grub-mkconfig -o /boot/grub/grub.cfg --recheck
Теперь вы понимаете, почему Grub2Win – не просто меню выбора ОС, а хрупкий механизм, зависящий от состояния VBR. Главное правило: после любых манипуляций с разделами или обновлений проверяйте активный раздел и при необходимости переустанавливайте загрузчик. И да, резервные копии – ваш лучший друг.