Введение / Зачем это нужно
Ошибка "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 без переустановки.
Требования / Подготовка
Перед началом обязательно:
- Создайте загрузочный USB-носитель с любым дистрибутивом Linux (рекомендуется Ubuntu или Fedora).
- Имейте доступ к другому компьютеру для создания носителя, если текущий не загружается.
- Резервная копия важных данных на отдельный носитель (на всякий случай).
- Понимание базовых команд терминала и прав суперпользователя (
sudo).
Шаг 1: Загрузка в Live-окружение
- Вставьте созданный USB-носитель в компьютер.
- Перезагрузите компьютер и зайдите в меню загрузки (обычно клавиша
F12,F10,EscилиDel— зависит от производителя). - Выберите ваш USB-носитель и пункт "Try Ubuntu" (или "Start Fedora Live").
- Дождитесь загрузки рабочего стола 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-носитель при перезагрузке!
Проверка результата
- Система должна загрузиться в GRUB-меню и затем в Linux.
- Если появилось меню, но система не загружается — попробуйте выбрать другую версию ядра в GRUB (пункт "Advanced options").
- Убедитесь, что в 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. - Решение:
- Зайдите в UEFI-настройки (при загрузке
Del/F2). - Отключите Secure Boot (временно).
- В разделе Boot найдите запись
ubuntu(или вашу ОС) и переместите её на первое место. - Сохраните и выйдите (
F10).
- Зайдите в UEFI-настройки (при загрузке
❌ 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/grubnomodesetв строкуGRUB_CMDLINE_LINUX_DEFAULT. Затемsudo update-grub.
Заключительные рекомендации
- После успешной загрузки обновите систему:
sudo apt update && sudo apt upgrade(для Debian/Ubuntu) илиsudo dnf upgrade(для Fedora). - Если у вас двойная загрузка с Windows, запустите в Windows
bcdeditили используйтеefibootmgrиз Linux, чтобы убедиться, что Windows Boot Manager не перезаписывает загрузчик при обновлениях. - Для профилактики делайте регулярные резервные копии ESP (раздел FAT32) и
/boot.