Feb
04
Восстановливаем загрузчик после установки/переустановки Windows
09:12Средства восстановления и логирования ошибок в Windows столь несовершенны, что ее периодически приходится переустанавливать. Ну и с появлением Висты, нашлось много желающих ее установить. Хотя бы для исследовательских целей.
Инсталлятор Windows при этом всякий раз с упорством трактора переписывает загрузчик на себя.
Так что после первой перезагрузки вы уже не увидите своего любимого меню с пунктом "Linux".
Нехорошо, надо бы все вернуть.
В любом случае, если вы собрались что-то менять с загрузчиком - ставить Виндовс/или другиуие действия, лучше сделать бэкапы загрузочных областей и таблиц разбиения.
Сделать это можно так:
Полный бэкап MBR вместе с таблицой разбиения:
Бэкап MBR без таблицы:
if - ваш жесткий диск, а of - файл, в который ложим бинарный образ.
Таблицу разбиения можно подсмотреть коммандой:
В общем если вы установливали Windows, или испортили загрузчик каким другим способом, а до этого не подгототовились (не делали бэкап загрузчика) - невелика беда...
Точнее, вообще не беда!!!
*В любом случае вам нужен какой-то LiveCD/DVD.
Это может быть Ubuntu, Knoppix или любой другой.
**********************************************************************
Загрузиться с LiveCD/DVD.
Ищем консоль. su для входа суперпользователем.
Просматриваем таблицу разметки.
Создаем точку монтирования для линукс:
Монтируем раздел:
Теперь можно восстанавливать загрузчик
Способ 1. Запись образа загрузчика:
Способ 2. Штатные средства самих программ-загрузчиков:
Делаем смонтированный диск текущим окружением:
Теперь ваша консоль будет работать от смонтированного раздела.
Теперь можно восстановить загрузчик LILO:
**************************************************************
Загрузиться с 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 дистрибутива...
..и работаем в консоли (терминале):
утилита будет ожидать ваших действий
ищем загрузчик:
подменили рута
устанавливаем GRUB на hd0:
На этом всё!!!
Способы проверены мной и не выдуманы. Могут быть другие пути и другие файловые системы, но думаю пару букв в комманде поменять сможете.
ссылка
04.02.2008 09:12
Так что после первой перезагрузки вы уже не увидите своего любимого меню с пунктом "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