Чёрный экран с надписью No bootable device после создания виртуальной машины в Proxmox почти всегда означает одно: ISO-образ не загружен в хранилище или не подключён к виртуальному приводу. Это первая вещь, которую стоит проверить, прежде чем искать проблему глубже. Установка Linux в Proxmox VE — процедура несложная, но у неё есть несколько узких мест, которые регулярно вызывают вопросы у начинающих администраторов.
В этом руководстве разберём весь цикл: от загрузки ISO-образа в хранилище до установки гостевого агента и первичной настройки гостевой системы. Материал ориентирован на веб-интерфейс Proxmox VE и подходит для популярных дистрибутивов — Debian, Ubuntu Server, AlmaLinux и других.
Подготовка: что нужно перед созданием виртуальной машины
Прежде чем нажимать кнопку Create VM, убедитесь, что сам гипервизор готов к работе. Проверьте, что на сервере включена аппаратная виртуализация (Intel VT-x или AMD-V) в BIOS/UEFI — без неё виртуальные машины либо не запустятся, либо будут работать в режиме эмуляции с критическим падением производительности. Обычно соответствующий пункт находится в разделе Advanced → CPU Configuration, но точный путь зависит от производителя материнской платы.
Также заранее определитесь с ресурсами, которые вы выделите виртуальной машине. Для лёгкого серверного дистрибутива без графического окружения обычно достаточно 1–2 ядер CPU и 1–2 ГБ оперативной памяти; для десктопного Linux с графикой лучше закладывать минимум 4 ГБ RAM. Дисковое пространство зависит от задач: для тестовой машины хватит 20–32 ГБ.
- 🖥️ Доступ к веб-интерфейсу Proxmox по адресу
https://IP-сервера:8006 - 💾 Свободное место в хранилище под ISO-образ и диск ВМ
- 🌐 Настроенный сетевой мост
vmbr0для выхода ВМ в сеть - 📀 Скачанный ISO-образ нужного дистрибутива Linux
⚠️ Внимание: если аппаратная виртуализация отключена, Proxmox не всегда явно сообщает об этом при создании ВМ — ошибка может проявиться только при запуске. Проверить поддержку можно командой egrep -c '(vmx|svm)' /proc/cpuinfo в консоли хоста: значение больше нуля означает, что поддержка есть.
Загрузка ISO-образа в хранилище Proxmox
Proxmox не умеет подключать ISO напрямую с вашего компьютера — образ сначала нужно поместить в хранилище (storage). Откройте в левой панели нужное хранилище (чаще всего это local), перейдите на вкладку ISO Images и нажмите Upload, выбрав файл с диска. Альтернативный вариант — кнопка Download from URL, которая позволяет указать прямую ссылку на образ, и сервер скачает его сам.
Второй способ удобнее, когда у вас медленное соединение с сервером: гипервизор загрузит образ напрямую по своему каналу. После завершения загрузки образ появится в списке и станет доступен при создании любой виртуальной машины на этом узле.
Создание виртуальной машины: пошаговая настройка
Нажмите кнопку Create VM в правом верхнем углу веб-интерфейса. Мастер создания состоит из нескольких вкладок, и каждая влияет на дальнейшую работу системы. На вкладке General задайте имя машины; VM ID присваивается автоматически, менять его без необходимости не стоит.
На вкладке OS выберите загруженный ISO-образ и укажите тип гостевой ОС — Linux, версию ядра можно оставить по умолчанию. Вкладка System важна для современных дистрибутивов: если планируете установку с UEFI, переключите BIOS на OVMF (UEFI) и обязательно добавьте EFI Disk, иначе машина не загрузится. Для большинства серверных установок классический SeaBIOS тоже подходит и проще в обращении.
На вкладке Hard Disk выберите шину диска. Оптимальный вариант — VirtIO Block: он даёт заметно лучшую производительность по сравнению с эмуляцией SATA или IDE. Современные дистрибутивы Linux включают драйверы VirtIO из коробки, поэтому дополнительных действий не потребуется.
☑️ Чек-лист перед запуском установки
Рекомендуемые параметры оборудования ВМ
| Компонент | Рекомендуемое значение | Комментарий |
|---|---|---|
| Дисковая шина | VirtIO Block | Максимальная производительность диска |
| Сетевая карта | VirtIO (paravirtualized) | Низкие накладные расходы на сеть |
| SCSI-контроллер | VirtIO SCSI single | Актуально при выборе SCSI-дисков |
| BIOS | SeaBIOS или OVMF | OVMF — если нужен UEFI/Secure Boot |
| QEMU Agent | Включить (галочка) | Потребуется установка агента в гостевой ОС |
⚠️ Внимание: если включить опцию QEMU Agent в настройках ВМ, но не установить сам агент внутри гостевой системы, Proxmox будет показывать ошибки связи с агентом, а корректное выключение машины через кнопку Shutdown может не работать. Либо установите агент после инсталляции ОС, либо снимите галочку.
Запуск установки Linux
После завершения работы мастера выделите созданную ВМ в списке и нажмите Start, затем откройте вкладку Console. Загрузится установщик выбранного дистрибутива — дальнейший процесс мало отличается от установки на физическое железо. Следуйте шагам инсталлятора: выберите язык, раскладку, разметку диска и задайте пароль root или создайте пользователя.
Единственная специфика виртуальной среды — на этапе разметки вы увидите диск вида /dev/vda (для VirtIO Block) вместо привычного /dev/sda. Это нормально: буква «v» в имени устройства означает, что диск работает через паравиртуальный драйвер VirtIO. При сетевых настройках установщик обычно получает адрес по DHCP, если в вашей сети есть DHCP-сервер; в противном случае задайте статический IP вручную.
Когда установщик сообщит о завершении, не спешите сразу перезагружаться. Сначала отключите ISO-образ: остановите ВМ, откройте вкладку Hardware, дважды кликните по строке с CD/DVD-приводом и выберите Do not use any media. Иначе машина снова загрузится в установщик.
Установка QEMU Guest Agent и первичная настройка
QEMU Guest Agent — это служба, которая обеспечивает обмен данными между гипервизором и гостевой системой: корректное выключение, отображение IP-адресов в веб-интерфейсе, заморозку файловой системы при снапшотах. В Debian и Ubuntu агент ставится одной командой:
apt update && apt install qemu-guest-agent -y
systemctl enable --now qemu-guest-agent
Для систем на базе RHEL (AlmaLinux, Rocky Linux) используется пакетный менеджер dnf:
dnf install qemu-guest-agent -y
systemctl enable --now qemu-guest-agent
Через минуту после запуска службы на вкладке Summary виртуальной машины появятся IP-адреса гостевой системы — это признак того, что агент работает. Дальше стоит выполнить стандартные шаги: обновить пакеты, настроить SSH-доступ, при необходимости установить cloud-init, если планируете клонировать ВМ из шаблона.
Зачем нужен cloud-init в Proxmox
Cloud-init позволяет автоматизировать первичную настройку клонированных ВМ: задать hostname, IP-адрес, SSH-ключи и пользователей прямо из веб-интерфейса Proxmox при создании машины из шаблона. Это стандартный инструмент для массового развёртывания виртуальных серверов.
Типичные ошибки и их решение
Разберём проблемы, которые чаще всего возникают при установке Linux в Proxmox, и способы их диагностики.
- 🔴 No bootable device — ISO не подключён или в приводе выбрано «Do not use media». Проверьте вкладку Hardware.
- 🐌 Установка идёт очень медленно — возможная причина: диск создан на шине IDE/SATA вместо VirtIO или хранилище перегружено. Проверьте тип диска в настройках ВМ.
- 🌐 Нет сети внутри ВМ — убедитесь, что сетевая карта подключена к правильному мосту
vmbr0и что в гостевой ОС настроен DHCP или статический адрес. - ⌨️ Не работает клавиатура в консоли noVNC — попробуйте консоль типа SPICE или проверьте раскладку; иногда помогает смена типа видеоадаптера на
Std. - 💿 После установки снова грузится инсталлятор — ISO-образ не отключён от привода. Отключите его и измените порядок загрузки на вкладке Options → Boot Order.
Если машина отказывается стартовать сразу после создания, откройте Task Log внизу интерфейса — там отображается текст ошибки запуска. Частые причины: нехватка оперативной памяти на хосте, отключённая виртуализация в BIOS или попытка использовать UEFI без добавленного EFI-диска.
Оптимизация виртуальной машины после установки
Базовая установка завершена, но несколько настроек сделают работу ВМ стабильнее. Во-первых, проверьте параметр Balloon Device на вкладке Hardware → Memory: он позволяет гипервизору динамически перераспределять память, но для серверов с критичной нагрузкой его иногда отключают, фиксируя объём RAM жёстко. Во-вторых, настройте порядок загрузки (Options → Boot Order), убрав привод CD-ROM из первых позиций.
Для дисков на SSD-хранилищах полезно включить опцию Discard (TRIM) в настройках диска и убедиться, что в гостевой ОС работает служба fstrim.timer — это помогает поддерживать производительность тонких дисков. Наконец, сделайте первый снапшот чистой системы: он позволит откатиться к рабочему состоянию после экспериментов с настройками.
Часто задаваемые вопросы
Можно ли установить Linux в Proxmox без ISO-образа?
Да, есть альтернативы: развёртывание из готового шаблона ВМ, клонирование существующей машины или использование cloud-init-образов, которые импортируются как диск. Но классическая установка с ISO остаётся самым предсказуемым способом для первого раза.
Какой тип диска выбрать: VirtIO Block или SCSI?
Оба варианта используют паравиртуализацию и дают высокую производительность. VirtIO Block проще и подходит для большинства случаев; SCSI с контроллером VirtIO SCSI single удобнее, когда к одной ВМ подключается много дисков или нужны специфические функции вроде Discard в связке с определёнными хранилищами.
Почему в консоли ВМ не видно IP-адреса на вкладке Summary?
IP-адреса отображаются только при установленном и запущенном qemu-guest-agent внутри гостевой системы. Установите пакет, запустите службу и подождите около минуты — данные появятся автоматически.
Нужен ли UEFI для установки Linux в Proxmox?
Нет, это необязательно. Классический SeaBIOS полностью подходит для серверных установок. UEFI (OVMF) имеет смысл выбирать, если вам нужен Secure Boot, специфические требования дистрибутива или единообразие с другими машинами. Помните: при выборе OVMF обязательно добавляйте EFI-диск.
Что делать, если виртуальная машина не запускается сразу после создания?
Откройте журнал задач (Task Log) и прочитайте текст ошибки. Проверьте три вещи: включена ли виртуализация в BIOS хоста, хватает ли свободной оперативной памяти и не выбран ли OVMF без EFI-диска. Эти три причины покрывают большинство проблем первого запуска.