Сегодня разберём пример, как можно восстановить загрузчик GRUB после его поломки.
Если у вас поломался загрузчик GRUB, то в этой статье я расскажу как его можно восстановить. Для систем c ext
и btrfs
Из-за чего могут возникнуть проблемы с GRUB
Одна из самых распространенных причин – это неправильный порядок установки двух операционных систем. Для правильной установки делаем следующее:
- Сначала устанавливаем Windows
- И только потом уже Linux
Grub может сломаться и по другим причинам:
- Ошибка при редактирование файла настроек GRUB.
- Сбой системы.
Восстанавливаем загрузчик Grub на системах с ext2/ext3/ext4
В первую очередь Вам потребуется загрузился с Live CD любой системы Linux. Проверен на дистрибутивах Ubuntu, однако в 99% он должен сработать с ЛЮБЫМ дистрибутивом LiveCD, в составе которого есть пакет chroot.
После загрузки с образа Live CD нажмите CTRL+ALT+T
чтобы запустить терминал.
Далее в терминале вводим:
sudo fdisk -l
- Данная команда покажет вашу таблицу разделов:
Disk /dev/sda: 35 GiB, 10737418240 bytes, 20971520 sectors Disk model: QEMU HARDDISK Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 46EF8683-CFF7-4410-B002-E70167354370 Device Start End Sectors Size Type /dev/sda1 2048 4095 2048 1M BIOS boot /dev/sda2 4096 20969471 20965376 10G Linux filesystem /dev/sda3 20969472 54669311 20969472 25G HPFS/NTFS
Из вывода выше ищем наш раздел на котором установлен Linux, в моем случае это раздел /dev/sda2
.
Монтируем Linux-раздел (sda2).
sudo mount /dev/sda2 /mnt sudo mount --bind /dev/ /mnt/dev/ sudo mount --bind /proc/ /mnt/proc/ sudo mount --bind /sys /mnt/sys sudo mount /dev/sda1 /mnt/boot
Обратите внимание, что если директории /boot
или /var
находятся отдельно, то Вам нужно будет примонтировать их в /mnt/boot
и /mnt/var
. В примере выше я как раз монтирую раздел /dev/sda1
так, как в нем находится директория /boot
Теперь необходимо перейти в окружающую среду chroot:
sudo chroot /mnt
Если вам необходимо отредактировать записи GRUB, то открываем файл /etc/default/grub
. Но будьте осторожны с данным файлом!
nano -i -P /etc/default/grub
- -P — Сохранять позицию курсора. Понадобится если будете открывать файл несколько раз.
- -i — Автоматический отступ на новых строках.
После изменения конфигурационного файла GRUB набираем команду:
update-grub
Далее восстановим наш загрузчик следующей командой:
grub-install /dev/sda
Или
sudo grub-install --root-directory=/mnt /dev/sda
Если получаете сообщение об ошибке, то используйте команду:
grub-install --recheck /dev/sda
Далее выходим из окружения chroot, размонтируем разделы и перезагрузим ПК. В терминале набираем следующие команды:
exit sudo umount /mnt/dev sudo umount /mnt/proc sudo umount /mnt/sys sudo umount /mnt/boot sudo umount /mnt sudo reboot
Восстанавливаем загрузчик Grub на системах с btrfs
В файловой системе btrfs предполагается подтом (subvolume) @
для корня системы. Поэтому для восстановления загрузчика GRUB воспользуемся следующими командами:
sudo mount -o subvol=/@ /dev/sda2 /mnt
sudo grub-install --boot-directory=/mnt/boot /dev/sda
sudo reboot
Если сделали всё правильно и не допустили ошибок, то GRUB при перезагрузке системы будет восстановлен.