воскресенье, 3 февраля 2008 г.

МОЙ LINUX 4

МОЙ LINUX 4




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

 

Средства восстановления и логирования ошибок в 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)