Восстановление загрузчика 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 -i
mkdir /chroot
mount /dev/sdXX /chroot # В нашем примере sdXX - это sda2
for i in dev sys proc etc/resolv.conf; do mount --bind -v /$i /chroot/$i;done

Если после

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

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

mount -o subvol=root /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 можно воспользоваться небольшим скриптом grub2recovery. Его можно установить из репозитория contrib командой

sudo dnf in grub2recovery

О скрипте можно почитать на форуме: https://forum.rosalinux.ru/viewtopic.php?f=58&t=10649

* Скрипт является разработкой сообщества и не является официальным приложением.