Как восстановить загрузчик Grub в Linux

Большой унифицированный загрузчик GRUB – это мощная и гибкая утилита, которая связывает BIOS материнской платы с ядром операционной системы. Она работает путем загрузки небольшой программы в память материнской платы, которая используется для загрузки более крупного двоичного файла мультизагрузки.

Но бывают случаи, когда GRUB не может загрузить ядро операционной системы. Например, двойная загрузка с Linux и Windows часто приводит к тому, что последняя стирает загрузчик. В этом руководстве показано, как можно восстановить систему, переустановив GRUB, используя некоторые из наиболее популярных дистрибутивов Linux.

Восстановление GRUB в Ubuntu и Debian

Одним из самых быстрых способов переустановки GRUB в Ubuntu и Debian является загрузка живой копии любого из этих дистрибутивов. Это позволит вам подключить корневой раздел вашей системы и использовать исполняемые файлы GRUB дистрибутива для воссоздания загрузчика вашей системы.

Примечание: когда вы загрузитесь с живого USB, нажмите «Try Ubuntu» для доступа к рабочему столу. Не нажимайте «Установить Ubuntu.»

  1. Откройте терминал в среде дистрибутива.
  2. Найдите имя устройства корневого раздела вашей системы:
    sudo fdisk -l | grep "Linux filesystem$"

  3. Смонтируйте корневой раздел вашей системы в каталог /mnt вашего live distro:
    sudo mount /dev/sda1 /mnt

  4. Переустановите двоичные файлы GRUB:
    sudo grub-install --force --boot-directory=/mnt/ /dev/sda1

  5. Выключите компьютер. Извлеките USB-накопитель и загрузите его снова. Он должен загрузиться в Linux OS.
  6. Обновите файл конфигурации GRUB, чтобы отразить текущее состояние вашей машины:
    sudo update-grub

Совет: хотя переустановка GRUB исправит большинство проблем с мультизагрузкой, новичкам может показаться сложной командная строка. В связи с этим, вы также можете исправить GRUB с помощью графической утилиты Boot Repair Utility.

Восстановление GRUB в Arch Linux

Наряду с Ubuntu и Debian, для восстановления загрузчика можно использовать живую копию Arch Linux. Одним из преимуществ этого является то, что живой Arch Linux не полагается на графическое отображение, поэтому вы можете легко восстановить GRUB даже на машинах по SSH.

  1. Определите корневой раздел вашей системы с помощью lsblk:
    lsblk

  2. Смонтируйте корневой каталог в живом окружении:
    mount /dev/sda1 /mnt
  3. Привяжите процесс живой системы к корневому каталогу вашей системы:
    mount --bind /sys /mnt/sys
    mount --bind /proc /mnt/proc
    mount --bind /run /mnt/run
    mount --bind /dev /mnt/dev

  4. Измените корень текущей сессии на корень вашей системы:
    chroot /mnt /bin/sh -i
  5. Переустановите двоичные файлы загрузчика вашей системы, выполнив следующее:
    /sbin/grub-install --target=i386-pc /dev/sda

  6. Перезагрузите файл конфигурации GRUB вашей системы:
    /sbin/grub-mkconfig > /boot/grub/grub.cfg
  7. Нажмите Ctrl + D, чтобы выйти из корневой сессии вашей системы.
  8. Проверьте новый загрузчик, перезагрузив систему:
    reboot

Восстановление GRUB на Fedora

Подобно Ubuntu и Debian, восстановление Grub на Fedora также просто.

#Найдите корневой раздел вашей машины:
sudo fdisk -l | grep "Linux filesystem$"
  1. Смонтируйте корневой раздел вашей системы и создайте связующее монтирование между ним и вашей живой сессией:
    sudo mount /dev/sda3 /mnt
    sudo mount --bind /sys /mnt/root/sys
    sudo mount --bind /proc /mnt/root/proc
    sudo mount --bind /run /mnt/root/run
    sudo mount --bind /dev /mnt/root/dev
  2. Переместите корневую файловую систему в каталог «/mnt»:
    sudo chroot /mnt/root bash
    mount /dev/sd3 /
    mount /dev/sda2 /boot

  3. Удалите все существующие файлы конфигурации загрузчика в вашей системе:
    rm -f /etc/grub.d/*
    rm -f /etc/sysconfig/grub

  4. Создайте новый файл конфигурации GRUB для вашей системы:
    grub2-mkconfig -o /boot/grub2/grub.cfg
  5. Установите GRUB в загрузочный раздел вашей машины:
    grub2-install --target=i386-pc /dev/sda

Часто задаваемые вопросы

Можно ли восстановить GRUB, если моя система использует LVM?

Да. Вы можете восстановить GRUB, даже если ваша система использует LVM. Для этого выполните ls /dev/mapper/*--vg-root, чтобы определить абсолютный путь к корневому разделу вашей машины. Используйте этот абсолютный путь вместо традиционного «/dev/sda1.»

Восстановление GRUB сотрет другие операционные системы на моем диске?

Нет. Загрузчик, по своей конструкции, знает, где найти только первые несколько байт ядра операционной системы. Замена загрузчика не повлияет на существующую на диске операционную систему.

Можно ли переустановить GRUB на системе UEFI?

Да. Для этого вам нужно убедиться, что вы правильно смонтировали раздел «/boot/efi» вашей системы UEFI. Вам также нужно изменить значение флага --boot-directory в grub-install на «/boot/efi».

Для Fedora, вам также нужно изменить значение флага -o для grub2-mkconfig на /boot/efi/EFI/fedora/grub.cfg

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.maketecheasier.com

Похожие статьи

Комментарии (0)