Linux

Исправление ошибок загрузки Linux: полное руководство по восстановлению

В этом гайде вы найдёте детальные инструкции по диагностике и устранению распространённых причин сбоев загрузки в Linux: от проблем с загрузчиком GRUB и конфигурацией ядра до ошибок файловых систем и настроек UEFI/BIOS.

Обновлено 16 февраля 2026 г.
15-30 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 20.04+Fedora 35+Debian 11+Arch LinuxopenSUSE Tumbleweed

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

Проблемы с загрузкой — одна из самых частых и критичных ошибок в Linux. Причины могут быть разными: от случайного удаления файлов загрузчика и повреждения файловой системы до конфликтов драйверов после обновления ядра. Этот гайд предоставляет универсальный алгоритм диагностики и восстановления, который работает для большинства популярных дистрибутивов, использующих GRUB 2 и systemd. По итогу вы сможете вернуть систему в рабочее состояние без переустановки.

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

Перед началом убедитесь, что у вас есть:

  1. Другой работающий компьютер для создания загрузочного носителя.
  2. Пустой USB-накопитель (от 4 ГБ).
  3. Возможность загрузиться с USB (настройте приоритет загрузки в UEFI/BIOS).
  4. Базовые навыки работы с терминалом Linux: навигация, редактирование файлов (nano, vim), выполнение команд с sudo.
  5. Знание пароля root (или возможность использовать sudo) для целевой системы.

Важно: Если вы не можете определить, какая именно проблема, начните с Шага 1 (Диагностика).

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

Шаг 1: Диагностика этапа загрузки

Первым делом определите, где именно процесс останавливается. Это ключевой шаг.

  • Экран POST/BIOS/UEFI пустой или зависает на логотипе производителя? → Проблема с оборудованием (RAM, SSD/HDD) или настройками UEFI/BIOS (Secure Boot, Fast Boot). Попробуйте сбросить настройки BIOS/UEFI до заводских.
  • Появляется меню GRUB, но при выборе ядра система зависает или перезагружается? → Проблема с ядром, драйверами (чаще всего видеодрайверы nvidia, amdgpu) или файловой системой.
  • Появляется ошибка grub rescue> или error: no such partition?GRUB не может найти свои модули или конфигурацию. Повреждён раздел или загрузчик.
  • Видите много текста, заканчивающееся на Kernel panic - not syncing: VFS: Unable to mount root fs или Failed to mount /?Ядро не может смонтировать корневую файловую систему. Причины: неверные параметры ядра (например, root=), повреждение файловой системы, отсутствие драйвера для контроллера диска.
  • Загрузка останавливается на Loading basic kernel... или Loading initial ramdisk...?Проблема с initramfs (внутренним образом начальной файловой системы).
  • Система начинает загружаться (видно systemd-логи), но зависает на определённом юните (например, NetworkManager-wait-online.service)? → Проблема с конфигурацией systemd или конкретным сервисом.

Вывод: Запишите последнее сообщение на экране. Оно — главная подсказка.

Шаг 2: Создание и загрузка с Live-носителя

  1. На другом компьютере скачайте ISO-образ любого современного дистрибутива (Ubuntu, Fedora, Manjaro).
  2. С помощью dd (Linux/macOS) или Rufus (Windows) запишите образ на USB-накопитель.
    # Пример для Linux (замени /dev/sdX на ваше устройство!)
    sudo dd if=ubuntu-22.04.iso of=/dev/sdX bs=4M status=progress oflag=sync
    
  3. Вставьте USB в проблемный компьютер, включите его и нажмите клавишу для выбора загрузочного устройства (F12, F10, Esc — зависит от производителя). Выберите ваш USB-накопитель.
  4. Загрузитесь в Live-сессию (Try Ubuntu / Start Fedora Live).

Шаг 3: Определение разделов и монтирование

В окне терминала Live-системы выполните:

# Показать все диски и разделы
lsblk -f

Вы увидите список устройств (/dev/sda, /dev/nvme0n1) и их разделов. Вам нужно найти:

  • Корневой раздел (обычно с файловой системой ext4, btrfs или xfs).
  • EFI-системный раздел (ESP, обычно vfat, размер 100-500 МБ, тип EFI System). Он есть только при загрузке в режиме UEFI.
  • Раздел /boot, если он используется отдельно (тоже часто ext4).

Пример вывода для UEFI-системы:

NAME        FSTYPE  LABEL     UUID                                 MOUNTPOINT
nvme0n1
├─nvme0n1p1 vfat    ESP        ABCD-1234                            # Это ESP
├─nvme0n1p2 ext4    root       1234abcd-5678-ef90-1234-567890abcdef # Это корень
└─nvme0n1p3 swap    swap       5678abcd-1234-ef90-5678-90abcdef1234

Монтируем разделы:

# Создайте точку монтирования
sudo mkdir -p /mnt/root

# Смонтируйте корневой раздел (замените /dev/nvme0n1p2 на ваш)
sudo mount /dev/nvme0n1p2 /mnt/root

# Если у вас отдельный /boot (не в ESP), смонтируйте его
# sudo mount /dev/nvme0n1p3 /mnt/root/boot

# Если у вас UEFI, смонтируйте ESP в /mnt/root/boot/efi
sudo mount /dev/nvme0n1p1 /mnt/root/boot/efi

Проверьте монтирование:

lsblk
# Убедитесь, что ваши разделы имеют точку монтирования /mnt/root (и /mnt/root/boot/efi)

Шаг 4: Переход в chroot-окружение

Теперь мы "поставим" корень вашей системы на /mnt/root и переключимся в неё, чтобы выполнять команды от её имени.

# Смонтируйте псевдо-файловые системы, необходимые для работы chroot
sudo mount --bind /dev /mnt/root/dev
sudo mount --bind /proc /mnt/root/proc
sudo mount --bind /sys /mnt/root/sys
sudo mount --bind /run /mnt/root/run  # Важно для systemd

# Если у вас UEFI, убедитесь, что /dev/sdX1 (ESP) смонтирован в /mnt/root/boot/efi

# Переключитесь в chroot
sudo chroot /mnt/root

После этого вы окажетесь в терминале вашей восстанавливаемой системы. Приглашение командной строки может измениться (например, с $ на #). Все дальнейшие команды выполняются внутри chroot.

Шаг 5: Переустановка и настройка GRUB

Выбор команд зависит от типа загрузки (BIOS/Legacy или UEFI).

1. Для систем с загрузкой в режиме BIOS/Legacy:

# Установить GRUB на диск (не на раздел!), обычно /dev/sda
grub-install /dev/sda

# Обновить конфигурацию GRUB (сгенерировать новый grub.cfg)
update-grub

Ожидаемый вывод: Installing for i386-pc platform... Installation finished. No error reported.

2. Для систем с загрузкой в режиме UEFI:

# Убедитесь, что ESP смонтирован в /boot/efi (проверьте командой mount)
mount | grep efi

# Установите GRUB для UEFI
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB

# Принудительно обновите конфигурацию
update-grub

Ожидаемый вывод: Installing for x86_64-efi platform... Installation finished. No error reported.

3. Дополнительно: восстановление конфигурации GRUB (если файлы есть, но config сломан)

# Пересоздаёт конфиг на основе установленных ядер
grub-mkconfig -o /boot/grub/grub.cfg

Шаг 6: Проверка и восстановление файловых систем

Если проблема была в файловой системе (например, после внезапного отключения питания), выполните проверку.

ВНИМАНИЕ: fsck можно запускать только на размонтированных разделах! В нашем случае раздел смонтирован в /mnt/root. Нужно размонтировать его изнутри chroot, но это невозможно, так как это корень. Поэтому:

  1. Выйдите из chroot:
    exit
    
  2. Размонтируйте корневой раздел (и другие, если нужно):
    sudo umount /mnt/root/boot/efi  # если было
    sudo umount /mnt/root
    
  3. Запустите fsck на размонтированном разделе:
    # Для ext4/ext3/ext2
    sudo fsck -y /dev/nvme0n1p2
    
    # Для Btrfs (осторожно, --repair может повредить данные!)
    # sudo btrfs check --readonly /dev/nvme0n1p2  # Сначала только чтение
    # Если ошибки, и вы готовы к риску:
    # sudo btrfs check --repair /dev/nvme0n1p2
    
    # Для XFS (только чтение, для исправления нужно xfs_repair после монтирования с -o recovery)
    sudo xfs_repair /dev/nvme0n1p2
    
  4. После успешной проверки снова смонтируйте разделы и войдите в chroot (Шаги 3 и 4), чтобы продолжить, если нужно.

Шаг 7: Обновление initramfs и ядра

Часто проблема в устаревшем или повреждённом образе initramfs (initial ramdisk). В chroot выполните команду, соответствующую вашему дистрибутиву.

  • Debian, Ubuntu и производные:
    update-initramfs -u -k all
    
  • RHEL, CentOS, Fedora:
    dracut --force
    
  • Arch Linux, Manjaro:
    mkinitcpio -P
    
  • openSUSE:
    mkinitrd
    

Что это делает? Создаёт новый образ initramfs для всех установленных ядер. Этот образ содержит драйверы, необходимые для монтирования корневой ФС (например, драйвер NVMe, LVM, DM-RAID).

Шаг 8: (Опционально) Проверка конфигурации ядра

Если проблема проявляется после обновления ядра, попробуйте загрузиться с предыдущей версией ядра из меню GRUB (Advanced options). Если это сработало, вам нужно в chroot:

  1. Сделать текущее (сломанное) ядро старым по умолчанию или вовсе его удалить.
    # Для Debian/Ubuntu: посмотреть список установленных ядер
    dpkg -l | grep linux-image
    
    # Удалить проблемное ядро (например, linux-image-5.15.0-50-generic)
    apt remove linux-image-5.15.0-50-generic
    
  2. Обновить GRUB, чтобы он не показывал удалённое ядро:
    update-grub
    

Шаг 9: Выход и перезагрузка

  1. Выйдите из chroot (если ещё не вышли): exit.
  2. Размонтируйте все смонтированные файловые системы (в правильном порядке):
    sudo umount /mnt/root/boot/efi  # если было
    sudo umount /mnt/root
    
  3. Перезагрузите компьютер, предварительно извлеките USB-носитель.
    sudo reboot
    

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

  1. Система должна загрузиться доgraphical login manager (GDM, SDDM, LightDM) или текстового логина.
  2. Если загрузка прошла успешно, немедленно создайте резервную копию важных данных.
  3. Проверьте журналы systemd на наличие ошибок после загрузки:
    journalctl -p 3 -xb  # Показать только критические ошибки текущей загрузки
    
  4. Убедитесь, что все разделы монтируются автоматически (проверьте /etc/fstab).

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

  • GRUB продолжает выдавать grub rescue> после переустановки.
    • Причина: Неправильно указан диск при grub-install или неверно определён ESP.
    • Решение: В chroot убедитесь, что ESP смонтирован в /boot/efi (для UEFI). Для BIOS проверьте, что вы указали весь диск (/dev/sda), а не раздел (/dev/sda1).
  • После восстановления загрузчик GRUB не видит мои ядра (no such device в меню).
    • Причина: GRUB не может прочитать модули с диска, так как не найден драйвер для вашего контроллера (например, nvme).
    • Решение: В chroot переустановите grub и shim (для UEFI Secure Boot), а также пакеты linux-image и grub-common. Убедитесь, что в /boot/grub есть папки i386-pc или x86_64-efi с модулями.
  • Система загружается, но сразу падает с Kernel Panic после обновления.
    • Причина: Сломанное или несовместимое с желепом ядро/драйвер (часто проприетарные драйверы NVIDIA).
    • Решение: Загрузитесь с предыдущего ядра из меню GRUB (Advanced options). Войдите в систему и удалите/откатите проблемное ядро или драйвер. Для NVIDIA можно временно загрузиться с параметром ядра nomodeset.
  • Ошибка Failed to mount / или VFS: Unable to mount root fs.
    • Причина: Неверный параметр root= в конфиге GRUB, повреждение суперблока ФС или отсутствие драйвера контроллера диска в initramfs.
    • Решение: В chroot проверьте /etc/default/grub (строка GRUB_CMDLINE_LINUX). После правки выполните update-grub. Пересоберите initramfs (Шаг 7). Если проблема в ФС — проверьте её fsck (Шаг 6).
  • Зависание на Loading basic kernel... или Loading initial ramdisk....
    • Причина: Повреждённый образ initramfs или медленный/неисправный носитель (если загружаете с USB).
    • Решение: Пересоберите initramfs (Шаг 7). Попробуйте загрузиться с другого USB-порта (USB 2.0 часто надёжнее). Если проблема в initramfs — проверьте его целостность в /boot/.
  • Не могу смонтировать ESP в /boot/efi. Ошибка wrong fs type, bad option, bad superblock.
    • Причина: ESP отформатирован не в vfat (FAT32) или повреждён.
    • Решение: Проверьте тип раздела fdisk -l. Если это не FAT32, его нужно пересоздать (это удалит загрузчики Windows и других ОС!). Создайте новый vfat раздел, отформатируйте его (mkfs.vfat) и смонтируйте заново. Затем переустановите GRUB.
  • После всех действий update-grub не находит ядра.
    • Причина: Раздел /boot (или корневой) не смонтирован в chroot, или в нём нет каталога /boot/grub.
    • Решение: В chroot выполните ls /boot. Если папка пуста или нет vmlinuz-*, значит, вы смонтировали не тот раздел. Размонтируйте всё, найдите правильный раздел с ядрами (обычно это корень или отдельный /boot) и смонтируйте заново.

Профилактика проблем с загрузкой

Чтобы минимизировать риски в будущем:

  1. Не отключайте питание во время обновления системы или записи на диск.
  2. Регулярно создавайте резервные копии важных данных и снимки системы (если используете Btrfs или ZFS).
  3. При обновлении ядра (особенно проприетарных драйверов NVIDIA) не удаляйте старое ядро сразу. Оставьте хотя бы одно рабочее предыдущее, чтобы можно было загрузиться через меню GRUB.
  4. Включайте Secure Boot только если уверены в совместимости драйверов. Он может блокировать загрузку неподписанных модулей.
  5. Создавайте загрузочный Live-USB заранее и храните его в надёжном месте. Это ваш главный инструмент для восстановления.

Заключение

Восстановление загрузки Linux — это в первую очередь систематическая диагностика. Определите этап, на котором происходит сбой, загрузитесь с Live-носителя, смонтируйте разделы и переустановите GRUB. В большинстве случаев этого достаточно. Если же проблема в файловой системе или initramfs, используйте fsck и пересборку образа. Главное — действовать последовательно и не паниковать. Большинство проблем с загрузкой решаемы без потери данных.

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

Что делать, если вижу экран 'grub rescue>'?
Можно ли починить загрузку без установочного диска?
При загрузке вылетает 'Kernel Panic'. Что это?
После обновления системы Linux перестал загружаться. Почему?

Полезное

Диагностика этапа загрузки
Загрузка с Live-носителя
Определение разделов и монтирование
Переустановка GRUB
Проверка и восстановление файловой системы
Обновление конфигурации ядра и initramfs