Восстановление загрузчика Grub2
Оригинал инструкции на форуме 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
* Скрипт является разработкой сообщества и не является официальным приложением.