Восстановление загрузчика GRUB: различия между версиями
Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
Rain (обсуждение | вклад) |
Rain (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
# Загружаемся с live-cd. | # Загружаемся с live-cd. | ||
Вариант 1 | ==Вариант 1 (простая конфигурация, софт той же версии)== | ||
# Выполняем '''grub-mkdevicemap''' | # Выполняем '''grub-mkdevicemap''' | ||
Строка 7: | Строка 7: | ||
# Выполняем '''grub-install "(hd2)"''' для установки GRUB в MBR указанного диска. | # Выполняем '''grub-install "(hd2)"''' для установки GRUB в MBR указанного диска. | ||
Вариант 2 | ==Вариант 2 (более полный, конфигурация с отдельным /boot, софт той же версии)== | ||
# Выполняем '''grub-mkdevicemap''' | |||
# Смотрим '''/boot/grub/device.map''', узнаем, как называется наш винчестер в grub-формате, допустим, '''(hd2)''', а /boot тогда, допустим, будет '''(hd2,0)''' (не забываем, что нумерация разделов идет с нуля) | |||
# Запускам '''grub''' | |||
# В консоли GRUB'a вводим '''root номер_/boot-раздела''', т.е. '''root (hd2,0)''' для примера выше - этим мы указываем, где у нас лежит каталог GRUB'a.<br>'''Примечание: номера разделов обычно дополняются по Tab'у, пользуйтесь им чаще''' | |||
# Там же вводим '''setup номер_раздела/диска''', т.е., '''setup (hd2)''' для примера выше - этим мы указываем, на какой диск или раздел мы ставим загрузчик. При указании раздела (например, '''(hd2,2)''') - GRUB ставится в загрузочную запись этого раздела и должен потом вызываться чем-то еще, если указываем целый диск - то GRUB ставится в MBR (обычно этот вариант и нужен). Должен пробежать текст примерно такого вида: | |||
<pre> | |||
grub> root (hd2,0) | |||
Filesystem type is reiserfs, partition type 0x83 | |||
grub> setup (hd2) | |||
Checking if "/boot/grub/stage1" exists... no | |||
Checking if "/grub/stage1" exists... yes | |||
Checking if "/grub/stage2" exists... yes | |||
Checking if "/grub/reiserfs_stage1_5" exists... yes | |||
Running "embed /grub/reiserfs_stage1_5 (hd2)"... 21 sectors are embedded. | |||
succeeded | |||
Running "install /grub/stage1 (hd2) (hd2)1+21 p (hd2,0)/grub/stage2 /grub/menu.lst"... succeeded | |||
Done. | |||
</pre> | |||
Установка завершена, наберите '''quit''' и перезагрузите систему. | |||
==Вариант 3 (самый полный и сложный, создание модели системы и chroot в него для выполнения операций)== | |||
# Создаем точку монтирования для корневой ФС восстанавливаемой системы, допустим, '''/tmp/system''' | # Создаем точку монтирования для корневой ФС восстанавливаемой системы, допустим, '''/tmp/system''' |
Версия 10:19, 27 июня 2009
- Загружаемся с live-cd.
Вариант 1 (простая конфигурация, софт той же версии)
- Выполняем grub-mkdevicemap
- Смотрим /boot/grub/device.map, узнаем, как называется наш винчестер в grub-формате, допустим, (hd2)
- Выполняем grub-install "(hd2)" для установки GRUB в MBR указанного диска.
Вариант 2 (более полный, конфигурация с отдельным /boot, софт той же версии)
- Выполняем grub-mkdevicemap
- Смотрим /boot/grub/device.map, узнаем, как называется наш винчестер в grub-формате, допустим, (hd2), а /boot тогда, допустим, будет (hd2,0) (не забываем, что нумерация разделов идет с нуля)
- Запускам grub
- В консоли GRUB'a вводим root номер_/boot-раздела, т.е. root (hd2,0) для примера выше - этим мы указываем, где у нас лежит каталог GRUB'a.
Примечание: номера разделов обычно дополняются по Tab'у, пользуйтесь им чаще - Там же вводим setup номер_раздела/диска, т.е., setup (hd2) для примера выше - этим мы указываем, на какой диск или раздел мы ставим загрузчик. При указании раздела (например, (hd2,2)) - GRUB ставится в загрузочную запись этого раздела и должен потом вызываться чем-то еще, если указываем целый диск - то GRUB ставится в MBR (обычно этот вариант и нужен). Должен пробежать текст примерно такого вида:
grub> root (hd2,0) Filesystem type is reiserfs, partition type 0x83 grub> setup (hd2) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes Checking if "/grub/reiserfs_stage1_5" exists... yes Running "embed /grub/reiserfs_stage1_5 (hd2)"... 21 sectors are embedded. succeeded Running "install /grub/stage1 (hd2) (hd2)1+21 p (hd2,0)/grub/stage2 /grub/menu.lst"... succeeded Done.
Установка завершена, наберите quit и перезагрузите систему.
Вариант 3 (самый полный и сложный, создание модели системы и chroot в него для выполнения операций)
- Создаем точку монтирования для корневой ФС восстанавливаемой системы, допустим, /tmp/system
- Монтируем в нее корень восстанавливаемой системы.
- Монтируем при необходимости /boot внутри смонтированного корня (если /boot был на отдельном разделе)
- Монтируем /dev/ и /proc/ внутри смонтированного корня (соответственно, mount -t proc none /tmp/system/proc/ и mount -o bind /dev/ /tmp/system/dev/)
- Выполняем grub-mkdevicemap
- Смотрим /boot/grub/device.map, узнаем, как называется наш винчестер в grub-формате, допустим, (hd2), а /boot тогда, допустим, будет (hd2,0) (не забываем, что нумерация разделов идет с нуля)
- Чрутимся в собранную систему - chroot /tmp/system
- Запускам grub
- В консоли GRUB'a вводим root номер_/boot-раздела, т.е. root (hd2,0) для примера выше - этим мы указываем, где у нас лежит каталог GRUB'a.
Примечание: номера разделов обычно дополняются по Tab'у, пользуйтесь им чаще - Там же вводим setup номер_раздела/диска, т.е., setup (hd2) для примера выше - этим мы указываем, на какой диск или раздел мы ставим загрузчик. При указании раздела (например, (hd2,2)) - GRUB ставится в загрузочную запись этого раздела и должен потом вызываться чем-то еще, если указываем целый диск - то GRUB ставится в MBR (обычно этот вариант и нужен). Должен пробежать текст примерно такого вида:
grub> root (hd2,0) Filesystem type is reiserfs, partition type 0x83 grub> setup (hd2) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes Checking if "/grub/reiserfs_stage1_5" exists... yes Running "embed /grub/reiserfs_stage1_5 (hd2)"... 21 sectors are embedded. succeeded Running "install /grub/stage1 (hd2) (hd2)1+21 p (hd2,0)/grub/stage2 /grub/menu.lst"... succeeded Done.
Установка завершена, наберите quit, выйдите с chroot'a (Ctrl+d) и перезагрузите систему.