Большой унифицированный загрузчик GRUB – это мощная и гибкая утилита, которая связывает BIOS материнской платы с ядром операционной системы. Она работает путем загрузки небольшой программы в память материнской платы, которая используется для загрузки более крупного двоичного файла мультизагрузки.
Но бывают случаи, когда GRUB не может загрузить ядро операционной системы. Например, двойная загрузка с Linux и Windows часто приводит к тому, что последняя стирает загрузчик. В этом руководстве показано, как можно восстановить систему, переустановив GRUB, используя некоторые из наиболее популярных дистрибутивов Linux.
Восстановление GRUB в Ubuntu и Debian
Одним из самых быстрых способов переустановки GRUB в Ubuntu и Debian является загрузка живой копии любого из этих дистрибутивов. Это позволит вам подключить корневой раздел вашей системы и использовать исполняемые файлы GRUB дистрибутива для воссоздания загрузчика вашей системы.
Примечание: когда вы загрузитесь с живого USB, нажмите «Try Ubuntu» для доступа к рабочему столу. Не нажимайте «Установить Ubuntu.»
- Откройте терминал в среде дистрибутива.
- Найдите имя устройства корневого раздела вашей системы:
sudo fdisk -l | grep "Linux filesystem$"
- Смонтируйте корневой раздел вашей системы в каталог /mnt вашего live distro:
sudo mount /dev/sda1 /mnt
- Переустановите двоичные файлы GRUB:
sudo grub-install --force --boot-directory=/mnt/ /dev/sda1
- Выключите компьютер. Извлеките USB-накопитель и загрузите его снова. Он должен загрузиться в Linux OS.
- Обновите файл конфигурации GRUB, чтобы отразить текущее состояние вашей машины:
sudo update-grub
Совет: хотя переустановка GRUB исправит большинство проблем с мультизагрузкой, новичкам может показаться сложной командная строка. В связи с этим, вы также можете исправить GRUB с помощью графической утилиты Boot Repair Utility.
Восстановление GRUB в Arch Linux
Наряду с Ubuntu и Debian, для восстановления загрузчика можно использовать живую копию Arch Linux. Одним из преимуществ этого является то, что живой Arch Linux не полагается на графическое отображение, поэтому вы можете легко восстановить GRUB даже на машинах по SSH.
- Определите корневой раздел вашей системы с помощью lsblk:
lsblk
- Смонтируйте корневой каталог в живом окружении:
mount /dev/sda1 /mnt
- Привяжите процесс живой системы к корневому каталогу вашей системы:
mount --bind /sys /mnt/sys mount --bind /proc /mnt/proc mount --bind /run /mnt/run mount --bind /dev /mnt/dev
- Измените корень текущей сессии на корень вашей системы:
chroot /mnt /bin/sh -i
- Переустановите двоичные файлы загрузчика вашей системы, выполнив следующее:
/sbin/grub-install --target=i386-pc /dev/sda
- Перезагрузите файл конфигурации GRUB вашей системы:
/sbin/grub-mkconfig > /boot/grub/grub.cfg
- Нажмите Ctrl + D, чтобы выйти из корневой сессии вашей системы.
- Проверьте новый загрузчик, перезагрузив систему:
reboot
Восстановление GRUB на Fedora
Подобно Ubuntu и Debian, восстановление Grub на Fedora также просто.
#Найдите корневой раздел вашей машины:sudo fdisk -l | grep "Linux filesystem$"
- Смонтируйте корневой раздел вашей системы и создайте связующее монтирование между ним и вашей живой сессией:
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
- Переместите корневую файловую систему в каталог «/mnt»:
sudo chroot /mnt/root bash mount /dev/sd3 / mount /dev/sda2 /boot
- Удалите все существующие файлы конфигурации загрузчика в вашей системе:
rm -f /etc/grub.d/* rm -f /etc/sysconfig/grub
- Создайте новый файл конфигурации GRUB для вашей системы:
grub2-mkconfig -o /boot/grub2/grub.cfg
- Установите 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
Комментарии (0)