Восстановление загрузчика Grub2

Материал из Rosalab Wiki
Перейти к: навигация, поиск

Оригинал инструкции на форуме MIB (Mandriva International Backports): How to reinstall Grub2 from a live ROSA Desktop Linux


Рекомендации по восстановлению загрузочной записи Grub2 в MBR следующие:

1. Загружаемся с флешки или DVD в Live-режиме.

2. Запускаем графическую программу Gparted или Пишем в консоли от root-а:

fdisk -l

У нас выходит список разделов нашего жесткого диска (например):

Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6e2792ad

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *        2048    51552584    25775268+   7  HPFS/NTFS/exFAT
/dev/sda2        51552585   100920329    24683872+  83  Linux
/dev/sda3       100920330   103089104     1084387+  82  Linux своп / Solaris
/dev/sda4       103090176   488396799   192653312    7  HPFS/NTFS/exFAT

Также можно найти раздел в графической программе Gparted.

3. В данном примере sda это загрузочный диск, а sda2 это корневой (/root) раздел нашей установленной системы РОСА. Поскольку в разных конфигурациях буква диска может различаться, то далее будем использовать sdX и sdXX соответственно для их обозначения.

Дальше, надо примонтировать нужные разделы:

sudo su
mkdir /chroot
mount /dev/sdXX /chroot # В нашем примере sdXX - это sda2
for i in dev sys proc; do mount --bind -v /$i /chroot/$i; done

Чтобы использовать интернет-соединение в chroot нужно скопировать resolv.conf:

cp /etc/resolv.conf /chroot/etc/resolv.conf

Если после

mount /dev/sdXX /chroot # В нашем примере sdXX - это sda2

возникают ошибки и у вас файловая система BTRFS, то эта команда должна иметь дополнительный вид (указываем, какой подраздел монтировать):

mount -o subvol=@ /dev/sdXX /chroot # В нашем примере sdXX - это sda2

4. Теперь надо сделать chroot в установленную систему.

chroot /chroot

5. Внутри chroot примонтируем все записи в /etc/fstab (например, раздел /boot/efi):

mount -a

6. Затем надо установить Grub2 в MBR.

grub2-install /dev/sdX # В нашем примере sdX - это sda

В Ubuntu, Debian grub2-install заменить на grub-install.

7. После установки Grub2, нужно чтобы он нашел другие загрузочные записи на жестком диске (например Windows). Для этого дадим следующую команду:

update-grub2

В Ubuntu,Debian update-grub2 заменить на update-grub.

8. Выходим из chroot и Live-режима и перегружаем компьютер. После перезагрузки, будет меню Grub2 со списком всех ваших ОС.

exit
sync
reboot

Так же для восстановления загрузчика grub2 можно воспользоваться небольшим скриптом. Скачать скрипт можно по ссылке: https://forum.rosalinux.ru/download/file.php?id=12806
О скрипте можно почитать на форуме: https://forum.rosalinux.ru/viewtopic.php?f=58&t=10649
Скрипт является разработкой сообщества и не является официальным приложением.