Ошибка «No device with valid ISO found» в Proxmox: причины и пошаговое решение

Ошибка «No device with valid ISO found» появляется в консоли виртуальной машины Proxmox VE сразу после старта, когда гостевой загрузчик не находит ни одного устройства с пригодным для установки ISO-образом. VM запускается, но вместо меню установщика операционной системы выводится сообщение об отсутствии загрузочного носителя, и процесс останавливается.

Причина почти всегда кроется в конфигурации виртуальной машины, а не в «поломке» самого гипервизора: образ не привязан к виртуальному приводу, лежит в хранилище не того типа, повреждён при загрузке или VM стартует не с того устройства. Ниже разберём каждый сценарий и порядок диагностики — от самых частых причин к редким.

Что означает эта ошибка и когда она возникает

Сообщение выводится firmware виртуальной машины (SeaBIOS или OVMF/UEFI) на этапе поиска загрузочного устройства. Гипервизор перебирает диски и приводы в порядке, заданном в параметре Boot Order, и если ни на одном из них нет валидного загрузочного сектора или ISO-образа, выдаёт эту ошибку.

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

  • 🆕 Создана новая VM, но ISO-образ не был подключён к виртуальному CD/DVD-приводу.
  • 📦 ISO загружен в хранилище, которое не поддерживает тип контента «ISO images».
  • 💿 Образ подключён, но файл повреждён или скачан не полностью.
  • 🔀 В порядке загрузки первым стоит пустой виртуальный диск, а привод отключён.
  • 🖥️ Используется машина с UEFI, а образ не содержит EFI-загрузчика (или наоборот).

Важно понимать: сам по себе текст ошибки не говорит, какой именно фактор сработал. Поэтому диагностику нужно вести последовательно, начиная с проверки подключения образа.

Проверка подключения ISO к виртуальной машине

Первое действие — открыть настройки VM в веб-интерфейсе Proxmox и убедиться, что образ реально привязан. Перейдите в раздел VM → Hardware и найдите строку CD/DVD Drive. Если там указано Do not use any media, значит, привод пуст — загружаться нечему.

Дважды кликните по строке привода, выберите вариант Use CD/DVD disc image file (iso), укажите хранилище и нужный образ, затем сохраните изменения. После этого перезапустите машину — не мягкую перезагрузку из консоли, а полный Stop и Start, чтобы конфигурация применилась.

☑️ Проверка привода ISO в Proxmox

Выполнено: 0 / 5

Если привода в списке оборудования нет вообще, добавьте его через кнопку Add → CD/DVD Drive. Без виртуального привода подключить ISO невозможно в принципе.

⚠️ Внимание: простая перезагрузка (Reset/Reboot) работающей VM не всегда применяет изменения в конфигурации привода. Используйте полную остановку и повторный запуск машины.

Проверка хранилища и целостности ISO-файла

Вторая частая причина — образ лежит не там, где Proxmox его ищет, или хранилище не настроено на хранение ISO. Откройте Datacenter → Storage, выберите ваше хранилище (например, local) и проверьте поле Content: в нём должно быть отмечено ISO image. Если тип контента не разрешён, образ не появится в диалоге выбора и не будет доступен VM.

Далее убедитесь, что файл действительно загружен целиком. Битый или оборванный при скачивании ISO внешне выглядит нормально, но загрузчик не распознаёт его как валидный. Надёжный способ — сравнить контрольную сумму файла на сервере с той, что публикует разработчик дистрибутива:

cd /var/lib/vz/template/iso

sha256sum имя-образа.iso

Путь /var/lib/vz/template/iso соответствует стандартному локальному хранилищу local; для других хранилищ путь будет отличаться. Если сумма не совпадает с официальной — удалите файл и загрузите образ заново через Storage → ISO Images → Upload или скачиванием по URL.

Порядок загрузки и тип контроллера

Даже при корректно подключённом образе VM может игнорировать привод из-за настроек загрузки. Откройте VM → Options → Boot Order и проверьте, что устройство ide (CD-ROM) включено в список и стоит выше виртуального диска. Пустой диск, стоящий первым, приведёт к той же ошибке — загрузчик попытается стартовать с него и не найдёт систему.

Отдельный нюанс — шина, к которой подключён привод. В зависимости от версии Proxmox и типа машины привод может быть на шине IDE или SATA. Некоторые старые или специфичные образы корректно определяются только на определённой шине. Если всё остальное проверено, попробуйте удалить привод и добавить его заново на другой шине.

📊 Где возникла ошибка «No device with valid ISO found»?
При первой установке новой VM
После переноса VM с другого узла
После обновления Proxmox
При загрузке уже установленной системы

Несовместимость BIOS/UEFI и образа

Если VM создана с типом BIOS OVMF (UEFI), а ISO-образ не содержит EFI-загрузчика, firmware не сочтёт носитель загрузочным. Обратная ситуация тоже встречается: современные образы, ориентированные только на UEFI, могут не стартовать под SeaBIOS.

Проверьте настройку в VM → Options → BIOS. Для большинства современных дистрибутивов Linux и Windows подходят оба варианта, но если загрузка упорно не идёт — попробуйте сменить BIOS на альтернативный. При смене на OVMF убедитесь, что к VM добавлен EFI Disk, иначе машина не стартует вовсе.

Также проверьте параметр Machine: при смене типа машины (например, с i440fx на q35) нумерация шин меняется, и ранее подключённый привод может «отвалиться» — его придётся пересоздать.

Как проверить конфигурацию VM через консоль узла

Выполните на узле команду qm config — она покажет полный конфиг машины. Ищите строки вида ide2: local:iso/имя.iso,media=cdrom и boot: order=ide2;scsi0. Если строки с ISO нет или в boot order привод отсутствует — проблема найдена. Исправить можно через веб-интерфейс или командой qm set --ide2 local:iso/имя.iso,media=cdrom.

Сводная таблица причин и решений

ПричинаКак проверитьРешение
ISO не подключён к приводуHardware → CD/DVD DriveВыбрать образ и сохранить
Хранилище без типа «ISO image»Datacenter → Storage → ContentРазрешить ISO image для хранилища
Повреждённый файл образаСверка sha256sumЗагрузить ISO заново
Неверный порядок загрузкиOptions → Boot OrderПоднять привод выше диска
Несовместимость BIOS/UEFIOptions → BIOSСменить SeaBIOS ↔ OVMF

Если ошибка появляется у уже установленной системы

Иногда сообщение возникает не при установке, а при обычном старте VM, где ОС давно установлена. Это означает, что загрузчик не видит системный диск: например, после изменения типа контроллера диска (SATA → SCSI → VirtIO) или переноса диска между хранилищами.

Порядок действий здесь иной: проверьте в Hardware, что виртуальный диск присутствует и не помечен как Unused. Диск в статусе «Unused» не участвует в загрузке — его нужно подключить обратно двойным кликом с выбором нужной шины. Затем убедитесь, что этот диск включён в Boot Order.

⚠️ Внимание: перед любыми изменениями контроллера диска у работающей VM сделайте снапшот или резервную копию. Неверно выбранная шина может сделать систему незагружаемой, и откат через снапшот — самый быстрый способ восстановления.

FAQ: частые вопросы

ISO подключён и цел, но ошибка остаётся. Что ещё проверить?

Убедитесь, что VM была полностью остановлена и запущена заново после изменения настроек. Затем проверьте конфигурацию командой qm config <VMID> на узле: если в выводе нет строки с ISO, изменения не применились. Также попробуйте пересоздать привод на другой шине (IDE вместо SATA или наоборот).

Можно ли установить ОС в Proxmox без ISO-образа?

Для Linux-систем можно использовать контейнеры LXC вместо VM — им ISO не нужен. Для полноценной VM альтернатив практически нет: установка через сетевую загрузку (PXE) возможна, но требует отдельной настройки инфраструктуры и не относится к штатному сценарию.

Почему ISO не виден в списке при выборе образа?

Скорее всего, файл лежит в хранилище, у которого в настройках Content не включён тип «ISO image», либо файл загружен в другой узел кластера, а хранилище не общее. Проверьте и тип контента, и привязку хранилища к узлам.

Помогает ли смена типа машины с i440fx на q35?

Сама по себе смена не лечит ошибку, а скорее может её спровоцировать: при смене типа машины меняется топология шин, и привод с дисками иногда требуется подключить заново. Меняйте тип машины только осознанно и проверяйте конфигурацию после переключения.

Ошибка появилась после обновления Proxmox. В чём причина?

После обновлений проверьте, не изменились ли пути хранилищ и не отключился ли тип контента ISO. Также убедитесь, что конфигурация VM не пострадала — сверьте вывод qm config <VMID> с ожидаемыми параметрами привода и порядка загрузки. Если конфигурация в порядке, попробуйте пересоздать привод заново.