К содержимому

VM не стартует из официального образа: он UEFI, а машина на SeaBIOS

VM создана из официального образа, при старте — чёрный экран, no bootable device или UEFI Shell.

proxmoxqemu

Берём официальный образ вендора в формате qcow2, импортируем диск, стартуем машину — и ничего. Либо No bootable device, либо приглашение UEFI Shell, либо просто чёрный экран.

Диск на месте, порядок загрузки правильный, образ скачан целиком и контрольная сумма сходится.

Причина

Образ собран под UEFI, а виртуальная машина по умолчанию создаётся с прошивкой SeaBIOS — это классический BIOS.

Разница принципиальная. SeaBIOS ищет загрузочную запись в MBR первого сектора. На UEFI-образе её нет: там таблица GPT и раздел EFI System Partition с загрузчиком в виде файла. SeaBIOS про EFI-раздел ничего не знает и честно докладывает, что грузиться неоткуда.

Симптом сбивает с толку, потому что выглядит как проблема диска, а диск абсолютно исправен — просто читать его пытается не та прошивка.

Решение

Переключить машину на UEFI. В Proxmox это два изменения, и второе обязательно:

BIOS:      OVMF (UEFI)
EFI Disk:  добавить

Про диск EFI забывают чаще всего. OVMF хранит в нём переменные прошивки — в том числе список загрузочных записей. Без него машина может стартовать один раз и терять загрузчик при следующем включении, что порождает уже совсем загадочный симптом «вчера работало».

После переключения загрузка идёт штатно, ничего пересоздавать не нужно.

Как понять заранее

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

fdisk -l образ.qcow2 2>/dev/null | head -20

GPT и раздел с типом EFI System — значит нужен OVMF. MBR — подойдёт SeaBIOS.

Косвенный признак: почти все свежие официальные образы вендоров сейчас собираются под UEFI. Если образ выпущен в последние пару лет, ставка на OVMF выигрывает чаще.

Как не наступить снова

При создании VM из готового образа тип прошивки выбирается до первого старта, а не подбирается методом тыка после. Проверка таблицы разделов занимает десять секунд и снимает вопрос целиком.

Отдельно стоит записать в runbook проекта: какой образ, какая прошивка, нужен ли EFI-диск. Через полгода при пересоздании машины это сэкономит тот же самый вечер.

Дальше

Новые разборы выходят в Telegram раньше, чем попадают сюда. Без анонсов курсов — только материалы.

Читать в Telegram →