LinuxВысокая

Ошибка 'No boot OS found' в Linux: полное исправление

По этой инструкции вы восстановите загрузку Linux после появления ошибки 'No boot OS found'. Мы разберём диагностику разделов, переустановку GRUB и настройку прошивки UEFI/BIOS.

Обновлено 17 февраля 2026 г.
15-30 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 22.04+Debian 11+Fedora 35+Arch Linux Любой дистрибутив с GRUB/systemd-boot

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

Ошибка "No boot OS found" (или "No bootable device", "Boot device not found") означает, что прошивка компьютера (UEFI/BIOS) не обнаружила загрузчик операционной системы на диске. Это не повреждение ядра или данных, а проблема с загрузочными записями (MBR, GPT, ESP) или конфигурацией GRUB/systemd-boot.

После выполнения этого гайда вы:

  • Восстановите работоспособность загрузчика GRUB (или systemd-boot).
  • Настроите правильный порядок загрузки в UEFI/BIOS.
  • Сможете загрузиться в свою установленную систему Linux без переустановки.

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

Перед началом обязательно:

  1. Создайте загрузочный USB-носитель с любым дистрибутивом Linux (рекомендуется Ubuntu или Fedora).
  2. Имейте доступ к другому компьютеру для создания носителя, если текущий не загружается.
  3. Резервная копия важных данных на отдельный носитель (на всякий случай).
  4. Понимание базовых команд терминала и прав суперпользователя (sudo).

Шаг 1: Загрузка в Live-окружение

  1. Вставьте созданный USB-носитель в компьютер.
  2. Перезагрузите компьютер и зайдите в меню загрузки (обычно клавиша F12, F10, Esc или Del — зависит от производителя).
  3. Выберите ваш USB-носитель и пункт "Try Ubuntu" (или "Start Fedora Live").
  4. Дождитесь загрузки рабочего стола Live-системы. Откройте терминал (Ctrl+Alt+T).

Шаг 2: Определение схемы загрузки (UEFI или BIOS)

Это ключевой шаг — команды для UEFI и BIOS отличаются.

ls /sys/firmware/efi
  • Если папка существует → у вас UEFI. Запишите это.
  • Если команда выдает ошибку "No such file or directory" → у вас Legacy BIOS.

Шаг 3: Поиск раздела с Linux

Для UEFI:

sudo lsblk -f

Ищите раздел с файловой системой FAT32 (обычно /dev/sda1, /dev/nvme0n1p1) — это ESP (EFI System Partition). Также найдите раздел с вашей основной системой (ext4/btrfs/xfs, например, /dev/sda2 или /dev/nvme0n1p2).

Для BIOS:

sudo fdisk -l

Ищите раздел с типом Linux (код 83) или Linux swap (82). Загрузчик GRUB будет установлен в MBR (первый сектор диска, например, /dev/sda), но корневой раздел — это отдельный логический раздел.

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

NAME   FSTYPE  LABEL   UUID                                 MOUNTPOINT
sda1   vfat    ESP     ABCD-1234                           
sda2   ext4    root    1234abcd-5678-ef90-1234-56789abcdef0 /
nvme0n1p1 vfat    ESP     DCBA-4321
nvme0n1p2 ext4    home    5678abcd-9012-3456-7890-abcdef123456

Здесь ESP — sda1 или nvme0n1p1, корень — sda2 или nvme0n1p2.


Шаг 4: Монтирование разделов в Live-системе

Создайте точку монтирования и смонтируйте ваш корневой раздел:

sudo mkdir /mnt/root
sudo mount /dev/sda2 /mnt/root  # Замените /dev/sda2 на ваш корневой раздел

Для UEFI (обязательно!):

sudo mkdir /mnt/root/boot/efi
sudo mount /dev/sda1 /mnt/root/boot/efi  # Замените /dev/sda1 на ваш ESP

Если у вас отдельный раздел /boot (редко, но бывает):

sudo mount /dev/sda3 /mnt/root/boot  # Замените на ваш раздел /boot

Если используете LVM, Btrfs с несколькими подразделами или шифрование:

Потребуются дополнительные шаги (активировать LVM, открыть LUKS). Это тема отдельного гайда.


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

Теперь "привяжем" нашу систему к загрузчику.

Для UEFI:

sudo grub-install --target=x86_64-efi --efi-directory=/mnt/root/boot/efi --boot-directory=/mnt/root/boot --recheck /dev/sda
  • --target — архитектура UEFI.
  • --efi-directory — путь к смонтированному ESP.
  • --boot-directory — путь к каталогу /boot в вашей системе.
  • /dev/sdaфизический диск, а не раздел (например, /dev/sda, /dev/nvme).

Для BIOS:

sudo grub-install --boot-directory=/mnt/root/boot /dev/sda

Ожидаемый вывод: Installation finished. No error reported.


Шаг 6: Обновление конфигурации GRUB

sudo chroot /mnt/root
update-grub
  • chroot меняет корневую директорию на вашу систему, чтобы команды выполнялись в её контексте.
  • update-grub просканирует ядра и создаст меню загрузки.

В выводе должны быть строки вида:

Found linux image: /boot/vmlinuz-5.15.0-78-generic
Found initrd image: /boot/initrd.img-5.15.0-78-generic

Если ядра не найдены, проверьте, что в /mnt/root/boot есть файлы ядер (vmlinuz-*) и initrd (initrd.img-*).


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

exit  # Выход из chroot
sudo umount -R /mnt/root  # Рекурсивно размонтировать все
sudo reboot

Не забудьте извлечь USB-носитель при перезагрузке!


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

  1. Система должна загрузиться в GRUB-меню и затем в Linux.
  2. Если появилось меню, но система не загружается — попробуйте выбрать другую версию ядра в GRUB (пункт "Advanced options").
  3. Убедитесь, что в UEFI/BIOS правильный загрузочный порядок: Ubuntu (или ваша ОС) должен быть выше Windows Boot Manager (если он есть).

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

error: no such device или grub rescue>

  • Причина: GRUB не может найти свою конфигурацию или раздел.
  • Решение: Повторите шаги 4-5, убедившись в правильности путей монтирования. Проверьте, что ESP отформатирован в FAT32.

grub-install не находит EFI-раздел

  • Причина: Неправильный путь к ESP или он не отформатирован в FAT32.
  • Решение: sudo mkfs.fat -F32 /dev/sda1 (осторожно! Это сотрет данные на ESP). Затем повторите монтирование и установку.

❌ После установки GRUB система всё равно не загружается

  • Причина: В UEFI прошивка может игнорировать запись GRUB из-за Secure Boot или неправильного BootOrder.
  • Решение:
    1. Зайдите в UEFI-настройки (при загрузке Del/F2).
    2. Отключите Secure Boot (временно).
    3. В разделе Boot найдите запись ubuntu (или вашу ОС) и переместите её на первое место.
    4. Сохраните и выйдите (F10).

update-grub не находит ядра

  • Причина: Раздел /boot (или корневой) смонтирован не в том месте или повреждён.
  • Решение: Проверьте, что в /mnt/root/boot существуют файлы vmlinuz-*. Если нет — возможно, /boot — это отдельный раздел, который вы не смонтировали.


Дополнительные сценарии

Система использует systemd-boot (вместо GRUB)

  • Для UEFI: вместо grub-install и update-grub убедитесь, что в ESP (/boot/efi) есть каталог loader. Конфигурация находится в /boot/efi/loader/loader.conf. Если её нет — установите пакет systemd-boot из Live-системы в chroot.

RAID или LVM на загрузочном разделе

  • Требуется активация массива RAID или LVM-группы перед монтированием. Пример:
    sudo vgchange -ay  # Активировать все LVM-группы
    sudo mount /dev/mapper/ubuntu--vg-root /mnt/root
    

После восстановления система зависает на Loading...

  • Причина: Неправильные параметры ядра (например, nomodeset для NVIDIA).
  • Решение: В GRUB-меню нажмите e для редактирования загрузочной записи. Добавьте nomodeset после quiet splash. Нажмите Ctrl+X или F10 для загрузки. Если помогло, сделайте изменения постоянными:
    sudo nano /etc/default/grub
    
    Добавьте nomodeset в строку GRUB_CMDLINE_LINUX_DEFAULT. Затем sudo update-grub.

Заключительные рекомендации

  1. После успешной загрузки обновите систему: sudo apt update && sudo apt upgrade (для Debian/Ubuntu) или sudo dnf upgrade (для Fedora).
  2. Если у вас двойная загрузка с Windows, запустите в Windows bcdedit или используйте efibootmgr из Linux, чтобы убедиться, что Windows Boot Manager не перезаписывает загрузчик при обновлениях.
  3. Для профилактики делайте регулярные резервные копии ESP (раздел FAT32) и /boot.

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

Можно ли исправить 'No boot OS found' без Live USB?
Приведёт ли это к потере данных?
Почему это происходит после обновления ядра?
Работает ли это на виртуальных машинах?

Полезное

Подготовка Live USB и загрузка в нём
Определение типа загрузки (UEFI/BIOS)
Определение раздела с Linux
Монтирование разделов
Переустановка GRUB
Проверка конфигурации загрузчика