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

09:12
Средства восстановления и логирования ошибок в Windows столь несовершенны, что ее периодически приходится переустанавливать. Ну и с появлением Висты, нашлось много желающих ее установить. Хотя бы для исследовательских целей.

Инсталлятор Windows при этом всякий раз с упорством трактора переписывает загрузчик на себя.

Так что после первой перезагрузки вы уже не увидите своего любимого меню с пунктом "Linux".

Нехорошо, надо бы все вернуть.

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

Сделать это можно так:

Полный бэкап MBR вместе с таблицой разбиения:
# dd if=/dev/hda of=/root/mbr.bin bs=512 count=1

Бэкап MBR без таблицы:
# dd if=/dev/hda of=/root/mbr.bin bs=384 count=1

if - ваш жесткий диск, а of - файл, в который ложим бинарный образ.

Таблицу разбиения можно подсмотреть коммандой:
# fdisk -l

В общем если вы установливали Windows, или испортили загрузчик каким другим способом, а до этого не подгототовились (не делали бэкап загрузчика) - невелика беда...

Точнее, вообще не беда!!!

*В любом случае вам нужен какой-то LiveCD/DVD.

Это может быть Ubuntu, Knoppix или любой другой.

**********************************************************************

Загрузиться с LiveCD/DVD.

Ищем консоль. su для входа суперпользователем.
# fdisk -l

Просматриваем таблицу разметки.

Создаем точку монтирования для линукс:
# mkdir /mnt/mylinux

Монтируем раздел:
# mount -t reiserfs /dev/hda6 /mnt/mylinux

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

Способ 1. Запись образа загрузчика:
# dd if=/mnt/mylinux/root/mbr.bin of=/dev/hda

Способ 2. Штатные средства самих программ-загрузчиков:

Делаем смонтированный диск текущим окружением:
# chroot /mnt/mylinux

Теперь ваша консоль будет работать от смонтированного раздела.

Теперь можно восстановить загрузчик LILO:
# lilo -b /dev/hda

**************************************************************

Загрузиться с LiveCD/DVD.

В консоли пишем следующее:

1. mkdir /mnt/linux (для Ubuntu: sudo mkdir /mnt/linux) - создать пустую папку для монтирования.

2. mount /dev/hda5 /mnt/linux - в данном случае hda5 - раздел, куда у вас установлен Linux.

3. chroot /mnt/linux - теперь команды будут исполняться из вашего линукса, а не с LiveCD.

4. lilo - загрузчик переустановится. Либо, grub-install, если вы пользуетесь Grub'ом.

***************************************************************

Загрузиться с LiveCD/DVD.

Смонтировать тот раздел жёсткого диска, на котором находится корневая файловая система Linux (выполнить mount раздел /mnt, где раздел - это имя соответствующего файла устройства, например:

/dev/hda1

Объявить раздел со смонтированной корневой файловой системой корневым:

chroot /mnt

и

lilo.

В случае, если потребуется изменить конфигурацию загрузчика, например, переместить его на другой диск или раздел, перед выполнением lilo нужно будет соответствующим образом исправить конфигурационный файл:

/etc/lilo.conf.

*********************************************************************

Загрузиться с LiveCD/DVD.

Если вы предпочитаете LILO, то порядок действий будет следующим.

Подключаем корневой раздел командой

mount [раздел] /mnt (вместо /mnt можно использовать любой другой свободный каталог).

Если незанятой директории не найдется, то ее можно создать командой

mkdir -p [каталог]).

Таким образом, все необходимые нам объекты будут находиться в директории

/mnt, ее приказом chroot /mnt и нужно объявить корневой.

И наконец, набрать в консоли lilo и нажать на Enter.

В результате LILO будет восстановлен в том виде, который он имел до разрушения.

При необходимости вносим изменения в конфигурационный файл.

/etc/lilo.conf.

Если вы используете GRUB, то порядок действий будет похожим.

При невозможности загрузиться нормальным способом следует опять же воспользоваться LiveCD. Только команда для восстановления будет выглядеть так:

grub-install —root-directory=[директория] [раздел].

После перезагрузки стартовый экран должен иметь первозданный вид.

************************************************************************

Пример, как восстановить загрузчик GRUB при помощи LiveCD Ubuntu.

Запускаемся с LiveCD дистрибутива...

..и работаем в консоли (терминале):
~$ sudo grub
> _

утилита будет ожидать ваших действий

ищем загрузчик:
~# find /boot/grub/stage2 (hd0,2)

подменили рута
~# root (hd0,2)

устанавливаем GRUB на hd0:
~# setup (hd0)

На этом всё!!!

Способы проверены мной и не выдуманы. Могут быть другие пути и другие файловые системы, но думаю пару букв в комманде поменять сможете.

ссылка

04.02.2008 09:12