Как восстановить загрузчик после переустановки Windows или если таблица разделов изменилась

На мультизагрузочных системах, где одной из операционных систем является Windows, вопрос восстановления загрузчика довольно актуален, ибо Windows при установке имеет тенденцию перетирать его (по большому счету, я не до конца понимаю, зачем Windows перезаписывает MBR: код стандартного загрузчика ищет активный раздел в таблице разделов (Partition Table), считывает его в память и передаёт ему управление — всё очень просто; теоретически достаточно просто изменить таблицу разделов, без перезаписи всей MBR. Или можно просто проверить правильность MBR (наличие сигнатуры 55 AA в последних двух байтах сектора) и при отсутствии сигнатуры переписывать загрузчик. В любом случае перезапись, на мой взгляд, должна быть опциональной, чтобы не доставлять лишнюю головную боль).

Теперь о том, как восстановить загрузчик.

Сначала нужно загрузиться с LiveCD.

Для конкретики будем полагать, что диск с установленным Linux — /dev/sda1

[-]
View Code Bash
# Монтируем раздел в /mnt/linux
cd /mnt
mkdir linux
mount /dev/sda1 /mnt/linux

# Связываем /mnt/linux/boot с /boot
mount --bind /mnt/linux/boot /boot

Затем открываем /boot/grub/menu.lst и вносим необходимые изменения, если требуется (например, если таблица разделов изменилась).

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

[-]
View Code Bash
grub-install
reboot

После этого всё должно работать.

Добавить в закладки

Связанные записи

28
Апр
2008

Комментарии к статье «Восстановление загрузчика GRUB после установки Windows или изменения таблицы разделов» (2)  »

  1. С says:

    Re : открываем /boot/grub/menu.lst и вносим необходимые изменения
    Какие ?
    Можно ли создать новый /boot/grub/menu.lst, если старый cильно поврежден в Debian.
    Подробнее

    • Vladimir says:

      Ну, например, такие (root, возможно, будет другой):

      [-]
      View Code Text
      title Windows
      root (hd0,0)
      makeactive
      chainloader +1

      Если изменилась таблица разделов, то, вероятно, придётся изменить root/uuid и kernel root=… для загрузчика Linux.

      PS — а как случилось, что /boot/grub/menu.lst оказался повреждённым?
      PPS — посмотрите файл /usr/share/doc/grub/examples/menu.lst

Подписаться на RSS-ленту комментариев к статье «Восстановление загрузчика GRUB после установки Windows или изменения таблицы разделов» Trackback URL: http://blog.sjinks.org.ua/administring/117-recovering-grub-bootloader-after-windows-installation-or-partition-table-modification/trackback/

Оставить комментарий к записи «Восстановление загрузчика GRUB после установки Windows или изменения таблицы разделов»

Вы можете использовать данные тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Оставляя комментарий, Вы выражаете своё согласие с Правилами комментирования.

Подписаться, не комментируя