Приветствую Вас ГостьСреда, 18.09.2024, 14:02

Сайт Кéмчука


Каталог статей

Главная » Статьи » GNU/Linux

Восстанавливаем GRUB2

Grub2 - восстановление


Итак, это произошло… вы убили свой GRUB2, хотя, может и не убили, а он убитый пришел. В любом случае, у вас возник вопрос, как же его переустановить. Ниже я опишу 3 способа, как это можно сделать.

Способ 1 (проще не бывает)


Это самый быстрый и легкий способ восстановить испорченные/битые/установленные не правильно/затертые установкой windows/называйте как хотите файлы GRUB2. Для этого нам потребуется:

а) Терминал — 1 шт.;
б) Знание на каком из дисков у нас находится раздел с установленной системой.

Наши действия. Мы загрузимся с LiveCD, примонтируем наш злосчастный раздел и, затем, скопируем необходимые файлы с LiveCD.

1. Загружаемся с LiveCD и выбираем пункт «Запустить Ubuntu без установки на компьютер»
live cd boot menu

2. Определяем, на каком из наших дисков установлена Ubuntu. Для этого открываем Терминал (Applications, Accessories, Terminal) и выполняем команду

sudo fdisk -l

3. Итак, с диском мы определились, теперь нам надо его примонтировать

sudo mount /dev/sdXY /mnt

*примечание: sdXY — где X — диск в системе (sda, sdb, sdc и т.д.) и Y — раздел диска (первый раздел — 1, второй -2 и т.д.).

Пример: sudo mount /dev/sda1 /mnt

**примечание: если у вас раздел /boot вынесен отдельно, тогда ваша команда должна выглядеть так: вначале создадим папку sudo mkdir /mnt/boot, затем монтируем sudo mount /dev/sda1 /mnt/boot, не забудьте учесть это при выполнении последующих команд.

4. Следующей командой запустим установку GRUB2.

sudo grub-install --root-directory=/mnt/ /dev/sdX

Пример: sudo grub-install --root-directory=/mnt/ /dev/sda
*примечание: Обратите внимание, что GRUB2 устанавливается на устройство (физический диск).

5. Перегружаемся

6. Не забываем обновить меню GRUB2 командой

sudo update-grub

Способ 2 — копируем файлы GRUB2 с уже установленного раздела


Что же это за способ? Этот способ подразумевает под собой, что GRUB2 установлен корректно, но не на тот раздел, на который следовало бы (как пример, Ubuntu установлена второй системой рядом с Windows, причем Windows находится на одном диске (sda), а Ubuntu на другом (sdb)). Посему мы будем копировать файлы из /boot/grub на выбранный нами диск и MBR.

1. Загружаемся с LiveCD и выбираем пункт «Запустить Ubuntu без установки на компьютер»

2. Монтируем раздел с установленной Ubuntu. Для этого, в меню «Places», кликаем на необходимый нам раздел (в данном случае выбранный нами раздел, автоматически примонтируется в /media).
mount

3. Раздел примонтирован. Теперь переустановим GRUB2. Делается это так:

sudo grub-setup -d /media/XXXX/boot/grub /dev/sdX

*примечание: XXXX — ваш UUID или метка тома, sdX — где X — диск в системе на который мы будем перезаписывать GRUB2(sda, sdb, sdc и т.д.).

Переписывать UUID крайне не удобно, поэтому можно упростить себе жизнь следующим образом. В меню «Places» выбираем наш диск, после чего слева нажимаем иконку с изображением карандаша, выделяем и копируем (CTRL-SHIFT) в адресной строке адрес, и вставляем (CTRL-SHIFT-V) в Терминал.
copy url
Пример:

sudo grub-setup -d /media/7848138a-41a0-4eba-8aed-d1b625ac8759/boot/grub /dev/sda

Если при выполнении данной команды вам выдаст ошибку "error: Cannot open /boot/grub/device.map", в таком случае следует добавить ключ -m и указать путь к файлу device.map

sudo grub-setup -d /media/XXXXX/boot/grub -m /media/XXXXX/boot/grub/device.map /dev/sdX

Пример:

sudo grub-setup -d /media/7848138a-41a0-4eba-8aed-d1b625ac8759/boot/grub -m /media/7848138a-41a0-4eba-8aed-d1b625ac8759/boot/grub/device.map /dev/sda

Если вам опять выкинуло ошибку "error: Cannot open /boot/grub/device.map", не отчаивайтесь, просто теперь вам надо перезагрузить компьютер.

4. Если вы не перезагружали компьютер, тогда это следует сделать сейчас.

5. После перезагрузки не забываем обновить GRUB2 командой sudo update-grub

Способ 3 — CHROOT


Я не буду останавливаться на пояснениях, что такое chroot и с чем его едят. Об этом можно найти много информации в интернете. Перейдем, непосредственно к тем действиям, которые мы должны совершить. Итак.

1. Загружаемся с LiveCD и выбираем пункт «Запустить Ubuntu без установки на компьютер»

2. Открываем Терминал (Applications, Accessories, Terminal).

3. Определяем, на каком из наших дисков установлена Ubuntu.

sudo fdisk -l

4. Монтируем раздел с установленной Ubuntu

sudo mount /dev/sdXY /mnt

Пример: sudo mount /dev/sda1 /mnt
*примечание: sdXY — где X — диск в системе (sda, sdb, sdc и т.д.) и Y — раздел (первый раздел — 1, второй -2 и т.д.).
**примечание: если у вас раздел /boot вынесен отдельно, тогда ваша команда должна выглядеть так: вначале создадим папку sudo mkdir /mnt/boot, затем монтируем sudo mount /dev/sda1 /mnt/boot, не забудьте учесть это при выполнении последующих команд.

5. Монтируем диски:

sudo mount --bind /dev/ /mnt/dev

6. Монтируем proc:

sudo mount --bind /proc/ /mnt/proc

7. Теперь зайдем в примонтированную систему как root:

sudo chroot /mnt

8. Если по каким либо причинам в примонтированной нами системе (/mnt или, в случае отдельного раздела с /boot, /mnt/boot) отсутствует или поврежден файл /boot/grub/grub.cfg, тогда следует запустить команду

update-grub

9. Переустанавливаем GRUB2

grub-install /dev/sdX

Не забываем вместо Х указать диск, на который вы хотите установить GRUB2.
*примечание: Обратите внимание, что GRUB2 устанавливается на устройство (физический диск).
**примечание: Если вам выбьет какую либо ошибку, тогда попробуйте запустить команду с ключем --recheck
Пример: grub-install --recheck /dev/sdХ.

10. Выходим из chroot

exit

или же комбинацией клавиш Ctrl+D

11. Теперь отмонтируем все, что мы примонтировали ранее. Делать это надо в таком порядке:

sudo umount /mnt/dev

Если у вас /boot находится на отдельном диске, тогда его отмонтируем следующим, в противном случае вы получите сообщение об ошибке "device busy"

sudo umount /mnt/boot

*примечание: Выполняем только в случае отедельно вынесенного /boot

Отмонтируем нашу систему

sudo umount /mnt

12. Перегружаем компьютер.

Все.
Категория: GNU/Linux | Добавил: kemchuk (21.10.2013)
Просмотров: 2710 | Рейтинг: 0.0/0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
новости hi-tech
Наши друзья
Zarajsk.tk - Первый свободный торрент-трекер Зарайска!
Поиск
Категории раздела
Windows 7 [18]
Windows 8 [6]
Сеть и Интернет [22]
GNU/Linux [10]
Система [19]
Разное [7]
Офисные программы [2]
Последние дискусии
  • Обсуждаем "Антипиратский закон" (0)
  • Читать в первую очередь! (0)
  • Первая тема (2)
  • Пишем сюда (1)
  • Зачем нужна эта тема? (0)
  • Прочитайте, прежде чем начинать новую тему! (0)
  • Статистика

    Онлайн всего: 2
    Гостей: 2
    Пользователей: 0
    Время жизни
    НОВОСТИ 24