Введение
GRUB (Grand Unified Bootloader) — это стандартный загрузчик для большинства дистрибутивов Linux, включая Ubuntu. Он отвечает за загрузку операционной системы и отображает меню выбора. Иногда GRUB может быть поврежден из-за установки другой операционной системы, сбоя диска или ошибок обновления, что приводит к невозможности загрузки Ubuntu. В этом гайде вы узнаете, как переустановить GRUB с помощью LiveUSB, чтобы восстановить загрузчик и снова загрузить систему.
Требования
Перед началом убедитесь, что у вас есть:
- LiveUSB с Ubuntu (рекомендуется та же версия, что и установленная система). Если нет, создайте его на другом компьютере или используйте любой LiveUSB Ubuntu.
- Доступ к терминалу (в LiveUSB выберите "Try Ubuntu" и откройте терминал из меню).
- Базовые знания работы с командной строкой.
- Права администратора (в LiveUSB по умолчанию нет пароля, используйте
sudo). - Данные на диске останутся целыми, но всегда рекомендуется иметь резервную копию важных файлов.
💡 Совет: Если у вас есть доступ к другой работающей Linux-системе, можно попробовать переустановить GRUB без LiveUSB, используя chroot. Однако если система совсем не загружается, LiveUSB обязателен.
Пошаговая инструкция
Шаг 1: Загрузка с LiveUSB и открытие терминала
- Вставьте LiveUSB в компьютер и загрузитесь с него (обычно через загрузочное меню, клавиша F12, ESC или другая в зависимости от производителя).
- В меню загрузки выберите "Try Ubuntu without installing" (или аналогичный пункт).
- После загрузки рабочего стола откройте терминал: нажмите
Ctrl+Alt+Tили найдите "Terminal" в меню приложений.
Шаг 2: Определение раздела с Ubuntu
Вам нужно узнать, на каком разделе диска установлена Ubuntu.
Выполните команду:
sudo fdisk -l
В выводе ищите раздел типа Linux (обычно /dev/sda1, /dev/nvme0n1p1 и т.д.). Если у вас UEFI, может быть отдельный раздел EFI (тип EFI System). Запомните устройство корневого раздела (например, /dev/sda1) и, если есть, раздел EFI (например, /dev/sda2).
⚠️ Важно: Не путайте разделы. Корневой раздел содержит систему, обычно это самый большой раздел Linux. Раздел EFI небольшой, около 100-500 МБ, тип
EFI System.
Шаг 3: Монтирование разделов и настройка chroot
Предположим, корневой раздел — /dev/sda1. Создайте точку монтирования и смонтируйте его:
sudo mkdir /mnt
sudo mount /dev/sda1 /mnt
Если у вас отдельный раздел для /boot или EFI, смонтируйте их внутри /mnt:
- Для раздела
/boot(если есть):sudo mount /dev/sdaX /mnt/boot # замените sdaX на ваш раздел - Для раздела EFI (UEFI-системы):
sudo mount /dev/sdaY /mnt/boot/efi # замените sdaY на ваш EFI-раздел
Теперь смонтируйте виртуальные файловые системы для chroot:
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
Если у вас есть раздел для /run (в некоторых системах), также смонтируйте:
sudo mount --bind /run /mnt/run
Шаг 4: Переход в chroot и переустановка GRUB
Теперь войдите в chroot окружение:
sudo chroot /mnt
Вы окажетесь внутри вашей установленной Ubuntu. Теперь переустановите GRUB.
Для систем BIOS (MBR):
grub-install /dev/sda # замените sda на ваш диск, например, nvme0n1
update-grub
Для систем UEFI:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
update-grub
Команда grub-install запишет загрузчик в загрузочный сектор диска (для BIOS) или в EFI-раздел (для UEFI). update-grub просканирует системы и обновит конфигурацию.
Шаг 5: Завершение и перезагрузка
Выйдите из chroot:
exit
Размонтируйте все разделы (важно сделать в обратном порядке):
sudo umount /mnt/run # если монтировали
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev
# Если монтировали отдельные разделы:
sudo umount /mnt/boot/efi # для EFI
sudo umount /mnt/boot # для /boot
sudo umount /mnt # корневой раздел
Или используйте команду для размонтирования всех:
sudo umount -R /mnt
Теперь перезагрузитесь:
sudo reboot
Извлеките LiveUSB и позвольте системе загрузиться с внутреннего диска. Должно появиться меню GRUB, и Ubuntu должна загрузиться нормально.
Проверка результата
После перезагрузки убедитесь, что:
- Появилось меню GRUB (если у вас несколько ОС) или система автоматически загрузилась в Ubuntu.
- Ubuntu загружается без ошибок.
- Если были проблемы с загрузкой, они устранены.
Можно также проверить конфигурацию GRUB, загрузившись в Ubuntu и выполнив grep -i grub /boot/grub/grub.cfg.
Возможные проблемы
Ошибка "device not found" при grub-install
Причина: указан неверный диск или раздел. Убедитесь, что вы указываете диск (например, /dev/sda), а не раздел (например, /dev/sda1) для команды grub-install в BIOS. Для UEFI убедитесь, что --efi-directory указывает на смонтированный EFI-раздел.
Ошибка монтирования или "read-only file system"
Причина: LiveUSB может монтировать разделы в режиме "read-only". Попробуйте смонтировать с опцией rw:
sudo mount -o rw /dev/sda1 /mnt
GRUB не появляется после перезагрузки
Причина: возможно, GRUB установлен, но UEFI/BIOS загружает другую запись. Проверьте настройки загрузки в BIOS/UEFI, убедитесь, что Ubuntu выбрана в качестве первой опции. Для UEFI можно использовать efibootmgr в chroot для управления записями загрузки.
Ошибки при update-grub
Причина: отсутствуют необходимые пакеты или конфигурация. В chroot убедитесь, что у вас есть пакет grub-pc (для BIOS) или grub-efi (для UEFI). Можно попробовать переустановить их:
apt update
apt install --reinstall grub-pc # или grub-efi-amd64
Но обычно grub-install и update-grub должны работать.