В данной статье расскажу как восстановить загрузчик Grub.

После удаления второй операционной системы или при других обстоятельствах может произойти так, что загрузчик Grub перестанет запускаться или отображать доступные для запуска операционные системы.

Так и произошло в моём случае. У меня было установлено два дистрибутива Linux. После удаления одного из дистрибутивов я увидел следующую картину:

При это попытка выбора ОС для загрузки всё равно приводила к тому же результату:

Для того, чтобы восстановить работоспособность загрузчика Grub потребуется Live CD флешка с дистрибутивом Linux. В моём случае в качестве дистрибутива я использовал Ubuntu 20.04. Можно было восспользоваться и Ubuntu 22.04, но у меня при загрузке данной версии происходит следующая картина:

Соотвественно совершать какие-либо действия без ущерба для глаз в данном случае не получится.

В bios выберу флешку с дистрибутивом Ubuntu в качестве устройства для загрузки:

В загрузчике Grub выбираю Ubuntu:

И происходит загрузка дистрибутива Ubuntu.

Проверку диска можно пропустить при помощи комбинации клавиш Ctrl+C:

Так и делаю.

Слева в установщике выбираю Русский язык и нажимаю Попробовать Ubuntu:

После загрузки дистрибутива запускаю Терминал, нажав правой кнопкой по рабочему столу и выбрав Открыть в терминале:

После этого необходимо добавить Английский язык в список доступных языков для ввода, для того чтобы можно было вводить команды в терминале. По умолчанию доступны только разные комбинации Русских раскладок:

Для этого перейду в Настройки. И выберу вкладку Регион и язык:

Где Источники ввода нажму на +, для добавления нового источника ввода. И выберу Английский (Соединённые штаты) и далее Английская (США):

Переключаюсь на английскую раскладку при помощи комбинации клавиш win+space или выбрав её в правом верхнем углу.

Теперь необходимо вывести список разделов. Для этого воспользуюсь следующей командой

sudo fdisk -l

После этого в списке необходимо найти раздел куда установлен дистрибутив Linux:

У меня это раздел /dev/nvme0n1. У Вас данный раздел может называться подругому (например /dev/sda или ещё как-нибудь). На нём находится раздел EFI(/dev/nvme0n1p1), используемый для загрузки и раздел Файловой системы Linux(/dev/nvme0n1p2) - это файлы самого дистрибутива.

После этого необходимо смонтировать раздел Файловой системы Linux. Сделаю это при помощи следующей команды:

sudo mount /dev/nvme0n1p2 /mnt

Также необходимо смонтировать и другие разделы:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

Аналогичным образом необходимо смонтировать разделы boot и var, если они были созданы отдельно при установке.

Ну и если установка совершалась при помощи UEFI, то необходимо смонтировать раздел EFI. Делается это следующей командой:

sudo mount /dev/nvme0n1p1 /mnt/boot/efi

Где /dev/nvme0n1p1 - это раздел EFI.

Теперь при помощи команды chroot необходимо сменить корневой каталог на примонтированный /mnt:

sudo chroot /mnt

После этого запускаю установку grub, следующей командой:

grub-install /dev/nvme0n1

Здесь уже выбирается общий раздел жесткого диска /dev/nvme0n1, а не определенный.

Если вдруг на данном этапе произошла ошибка, то можно перезапустить программу со следующим флагом:

grub-install --recheck /dev/nvme0n1

В итоге набор команд у меня выглядит следующим образом:

Выхожу из смонтированного раздела при помощи команды exit:

exit

И отмонтирую разделы, которые были примонтированы:

sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt/boot/efi
sudo umount /mnt

Ну и перезагружаю систему введя в терминал команду reboot:

reboot

После этого на данном этапе вытаскиваю загрузочную флешку и нажимаю Enter:

И после этого загрузчик Grub восстановлен и система успешно загружается: