Установка grub

Автор статьи: Azteka

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

  1. Способ 1 (проще не бывает) 
  2. Способ 2 - копируем файлы GRUB2 с уже установленного раздела 
  3. Способ 3 - CHROOT 

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

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

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

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

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

 

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).

 

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) в Терминал.

 

Пример:


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. Перегружаем компьютер.

Все.

51739
Сегодня
Вчера
На этой неделе
На прошлой неделе
В этом месяце
Всего
37
186
306
868
1984
51739

Заявки на техническое обслуживание за Февраль

Количество поступивших заявок: 709
Количество выполненных заявок: 707