LinuxВысокая

Исправляем загрузку Ubuntu: пошаговое решение проблем с ядром и GRUB

Гайд помогает восстановить загрузку Ubuntu при сбоях GRUB, ошибках ядра или повреждённом initramfs. Вы получите рабочую систему и чёткий план действий без переустановки.

Обновлено 28 апреля 2026 г.
15-30 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 22.04 LTSUbuntu 24.04 LTSUbuntu 20.04 LTS

Введение / Зачем это нужно

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

Требования / Подготовка

  • Установочный USB-диск Ubuntu или Live-сессия с тем же релизом (22.04/24.04).
  • Доступ к EFI-разделу (ESP) для систем с UEFI — обычно это FAT32 около 100–500 МБ.
  • Права администратора (sudo) в Live-окружении или recovery shell.
  • Знание метки или UUID корневого раздела (обычно ext4) — поможет lsblk или blkid.

Пошаговая инструкция

Шаг 1: Получить доступ к системе

Если меню GRUB всё ещё видно, выберите «Дополнительные параметры Ubuntu» → recovery mode → root. Если экран чёрный или пишет grub rescue, загрузитесь с Live-USB и откройте терминал.

Подключите корневой раздел и ESP (для UEFI). Пример для типичной разметки:

sudo -i
mount /dev/nvme0n1p2 /mnt
mount /dev/nvme0n1p1 /mnt/boot/efi

Для BIOS-систем ESP не требуется — достаточно смонтировать корень.

Шаг 2: Проверить и исправить файловую систему

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

umount /mnt
e2fsck -f /dev/nvme0n1p2

Если e2fsck найдёт и исправит ошибки, перемонтируйте корень:

mount /dev/nvme0n1p2 /mnt
mount /dev/nvme0n1p1 /mnt/boot/efi

Шаг 3: Переустановить GRUB

В chroot-окружении восстановите загрузчик. Для UEFI:

mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
grub-install /dev/nvme0n1
update-grub

Для BIOS вместо grub-install используйте:

grub-install /dev/sda
update-grub

⚠️ Важно: указывайте диск (например, /dev/nvme0n1), а не раздел, чтобы избежать повреждения таблицы разделов.

Шаг 4: Пересобрать initramfs

Повреждённый или неполный образ начальной файловой системы часто вызывает kernel panic. Пересоберите его для текущего ядра:

update-initramfs -u -k all

Если в системе несколько ядер, можно ограничиться конкретным:

update-initramfs -u -k 5.15.0-124-generic

Шаг 5: Проверить доступность ядра

Убедитесь, что файлы ядра присутствуют в /boot:

ls /boot/vmlinuz-*
ls /boot/initrd.img-*

Если образов нет, доустановите ядро:

apt update
apt install --reinstall linux-image-generic linux-modules-extra-generic

После этого снова выполните update-grub, чтобы меню отразило доступные версии.

Проверка результата

Перезагрузите систему:

exit
reboot

Если восстановление прошло успешно, GRUB загрузит меню, а Ubuntu — корректно. При наличии нескольких ядер выберите стабильную версию в дополнительных параметрах.

Возможные проблемы

  • Ошибка «file not found» в GRUB rescue — обычно указывает на неверный UUID в /boot/grub/grub.cfg. После update-grub конфиг должен обновиться автоматически.
  • Сбой grub-install на EFI — убедитесь, что ESP смонтирован в /boot/efi и имеет флаг boot,esp. Проверьте наличие каталога /boot/efi/EFI/ubuntu.
  • Kernel panic после обновления — загрузите старое ядро из меню GRUB, затем удалите проблемное ядро: apt purge linux-image-<сломанная-версия>.
  • Не монтируется корень — проверьте таблицу разделов через lsblk и убедитесь, что метка или UUID в /etc/fstab соответствуют текущей разметке.

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

Почему Ubuntu перестала загружаться после обновления ядра?
Безопасно ли переустанавливать GRUB на EFI-диске?
Что делать, если `fsck` не исправляет ошибки файловой системы?
Можно ли откатить ядро без переустановки системы?

Полезное

Загрузиться в recovery-режим или Live-среду
Проверить и восстановить файловую систему
Переустановить и обновить GRUB
Пересобрать initramfs
Проверить доступность ядра

Эта статья помогла вам решить проблему?