В этой статье мы рассмотрим процесс развертывания виртуальной машины с Windows на гипервизоре Proxmox VE. Подробно рассмотрим базовые рекомендации и best practices по оптимальным параметрам ВМ, установке, и запуску гостевой Windows Server в виртуальной машине Proxmox.
Содержание:
- Создаем виртуальную машину для Windows Server на Proxmox
- Установка гостевой Windows Server в ВМ Proxmox
Подготовительные шаги:
- СкачайтеISO образ с драйверами VirtIO для гостевой Windows (virtio-win.iso)
- Получите установочный ISO образ с Windows (в нашем примере это Windows Server 2025)
Подключитесь к веб интерфейсу Proxmox (
https://proxmox-ip:8006
), и загрузите ISO образы в локальное хранилище. Перейдите в раздел ISO images —> нажмите Upload и укажите путь к ISO файлу на диске.
По умолчанию для хранения ISO образов в Proxmox используется директория /var/lib/vz/templates/iso
Создаем виртуальную машину для Windows Server на Proxmox
Создадим на хосте Proxmox виртуальную машину для установки Windows Server.
- Щелкните по хосту Proxmox и выберите Create VM
- На вкладке General укажите осмысленное имя и ID виртуальной машины (предлагаемый ID можно оставить по умолчанию, либо вручную задать в нем другой номер, например последний октет IP адреса ВМ).
- На вкладке OS выберите тип гостевой ОС (Microsoft Windows 11/2022/2025) и установочный ISO образ с Windows, который вы загрузили в хранилище
- На вкладке System выберите следующие настройки:
Firmware: OVMF (UEFI) – рекомендуемый тип платформы для современных версий Windows. Для старых систем можно использовать SeaBIOS
Add EFI Disk: включить
Выберите хранилище, где будет хранится EFI диск. Тип диска оставить по-умолчанию (qcow2)
Pre-Enroll keys: включить (прописывает стандартные ключи Microsoft Secure Boot)
Тип контроллера: VirtIO SCSI single
Qemu Agent: включить
TPM: включите, если нужна поддержка виртуального TPM в виртуальной машине (для Windows 11 TPM 2.0 является обязательным требованием) - На вкладке Disks добавляем диск типа SCSI вместо IDE (SCSI протокол производительнее и быстрее, чем IDE или SATA). Выберите размер диска (для Windows не менее 40 Гб)
- В качестве типа диска доступны RAW (минимум возможностей, но лучшая производительность), VMDK (совместимость с VMware) или QCOW2 (расширенный формат с поддержкой снапшотов). Формат qcow2 используется по умолчанию (оставляем его).
- Включаем параметр Discard для более эффективного использования места на диске (работает по аналогии с TRIM в SSD, очищая реально удаленные данные, освобождая место). В качестве типа кэширования выберете Write Back (повышает производительность). Если кэш отключен (Default (no cache)), этот режим безопаснее с точки зрения потери несохраненных данных на диске при отключении ВМ, но медленнее. Режим Write through оптимален в случае высокой нагрузки на чтение
- На вкладке CPU укажите сколько ядер (cores) выделить для ВМ (не менее 2 ядер типа host для Windows). Для производительных ВМ с Windows можно дополнительно добавлять CPU сокеты и включить поддержку NUMA.
Тип CPU host позволяет ВМ получать доступ ко всем возможностях физического CPU, исключая эмуляцию. В том числе в таком режиме в гостевой Windows может работать вложенная виртуализация. Это позволит запускать Hyper-V и подсистемы Linux (WSL) внутри виртуальной машины.
- На вкладке Memory укажите, сколько оперативной памяти выделить для ВМ. Рекомендуется не менее 4096 Мб для Windows. С помощью опции Minimum memory можно зарезервировать оперативную память под ВМ. Режим ballooning позволяет гипервизору изымать неиспользуемую память у ВМ при высокой нагрузке (более 80%) на RAM хоста.
- На вкладке Network выбираем модель виртуальной сетевой карты VirtIO (paravirtualized) вместо Intel E1000. Выберите сетевой мост, через который ваша ВМ будет выходить наружу (в этом примере vmbr0 подключен к физическому сетевому интерфейсу сервера Proxmox).
- Отключите опцию Firewall, если вы не хотите, чтобы правила файервола Proxmox применялись к ВМ. В этом случае подразумевается, что будет использоваться встроенный Windows Defender Firewall в гостевой ОС виртуальной машины.
- На следующей вкладке проверяем результирующие настройки и создаем ВМ, нажав Finish.
После того, как ВМ создана, нужно добавить в ее настройках дополнительный виртуальны CD/DVD привод. Выберите ВМ -> вкладка Hardware -> Add -> CD/DVD drive.
Смонтируйте в виртуальный привод ISO образ с драйверами VirtIO. Все готово к установке гостевой Windows в виртуальную машину Proxmox.
Установка гостевой Windows Server в ВМ Proxmox
В параметрах ВМ перейдите на вкладку Console и запустите ВМ (Start Now).
Нажимаем любую кнопку, чтобы начать установку Windows. Далее запускается стандартный мастер установки Windows, где нужно будет выбрать языковые настройки, редакцию Windows Server и и т.д.
В окне, где нужно выбрать диск для установки ОС, вы обнаружите, что установщик Windows не увидел ваш виртуальный жесткий диск. Дело в том, что в образе Windows отсутствуют драйвера для VirtIO SCSI контроллера.
Чтобы загрузить драйвер в режиме WinPE, нажмите кнопку Load Driver.
Укажите папку с драйвером Red Hat VirtIO SCSI pass-throught controller на смонтированном ISO образе с драйверами VirtIO: d:\vioscsi\2k25\amd64. Установите драйвер.
Установщик Windows должен увидеть неразмеченный локальный диск. Выберите его и продолжите установку.
После завершения установки Windows, логинимся в гостевую ОС через консоль Proxmox. Чтобы отправить в консоль сочетание
Ctrl+Alt+Del
для ввода учетной записи Windows, выберите в левой панели Show Extra Keys и отправьте нужную комбинацию клавиш.
Запустите диспетчер устройств Windows. Как вы видите отсутствует ряд драйверов, которые нужно установить с диска с драйверами VirtIO. Запустите установщик virtio-win-gt-x64.msi с диска и установите с настройками по-умолчанию.
Затем установите гостевой агент Qemu, запустив virtio-win-guest-tools.exe.
Проверим, что служба агента запущена в Windows:
Get-Service QEMU-GA
После установки гостевых средств интеграции QEMU в консоли Proxmox на вкладке Summary виртуальной машины будет отображаться информация об IP адресе, полученном из гостевой ОС.
Проверить наличие агента Qemu в ВМ можно из консоли хоста Proxmox:
qm agent <vmid> ping
После завершения установки, удалите из виртуального оборудования ВМ диск с драйверами VirtIO.
Осталось завершить настройку Windows в гостевой машине: задать имя компьютера, статический IP (если применимо), время и часовой пояс, включить RDP, установить обновления Windows, добавить необходимые службы и роли и т.д.
В этом статье мы покажем, как развернуть виртуальную машину и устанавливать на нее гостевую операционную систему Windows 10 или 11, или Windows Server 2022/2019/2016 на гипервизоре Proxmox Virtual Environment.
- Создать виртуальную машину Windows на Proxmox VE
- Установка гостевой Windows в ВМ Proxmox
Содержание:
Выполните подготовительные шаги:
- Скачайте Windows Media Creation Tool (https://www.microsoft.com/en-us/software-download/windows10) и создайте ISO файл установочного образа с нужной вам версией Windows;
- Скачайте ISO образ с драйверами VirtIO для WIndows (https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso). Это набор паравиртуализированных драйверов для KVM/Linux, который обеспечит более высокую производительность виртуальных устройств, чем встроенные эмулированные драйвера
Загрузите оба ISO файла в хранилище PVE.
Создать виртуальную машину Windows на Proxmox VE
Теперь нужно создать новую виртуальную машину Proxmox для развертывания гостевой Windows.
- Откройте веб интерфейс управления Proxmox VE (WAC) и нажмите кнопку Create VM;
- Укажите имя ВМ;
- Перейдите на вкладку OS и выберите установочный ISO образ Windows 10, который вы загрузили ранее. Proxmox должен автоматически определить тип ОС в образе и указать тип гостевой ОС виртуальной машины (Microsoft Windows version 10/2016/2019);
- Перейдите на вкладку System и включите опцию Qemu Agent и выберите тип контроллера дисков VirtIO SCSI;
- Затем перейдите на вкладку Hard Disk и настройте параметры диска виртуальной машины (Bus/Device: SCSI (по умолчанию используется IDE), Storage: выберите хранилище ProxMox где будет хранится виртуальный диск, укажите размер виртуального диска (не менее 25 Гб). Здесь можно выбрать один из двух типов виртуальный дисков raw (лучшая производительностью) или qcow2 (расширенный функционал и поддержка снапшотов). Также вы можете пробросить физический диск или USB флешку в виртуальную машину Proxmox VE. Здесь можно включить опцию кэширования Write back и режим Discard (для более эффективной очистки удаленных данных, это аналог TRIM для SSD). Это увеличит быстродействие, но есть некоторые риски потери данных;
- На вкладках CPU и Memory укажите сколько ядер вы хотите выделить для виртуальной машины (не менее 2 vCPu типа kvm64) и размер оперативной памяти (не менее 2Гб);
- Перейдите на вкладку Network. Выберите тип виртуальной карты VirtIO (paravirtualized) вместо Intel E1000. Отключите опцию Firewall, если вы будете использовать встроенный Windows Defender Firewall в гостевой ОС;
- Проверьте настройки и нажмите Finish чтобы создать ВМ;
- После того, как вы создали новую виртуальную машину в Proxmox для Windows, откройте ее настройки и добавьте еще один CD/DVD привод. Подключите в него ISO файл с VirtIO драйверами;
По умолчанию в качестве прошивки виртуальной машину используется эмуляция BIOS x64 (SeaBIOS).
Если вы хотите использовать UEFI для ВМ, измените тип BIOS на OVMF (UEFI) и добавьте EFI раздел для ВМ.
Его можно добавить вручную Add -> EFI Disk, или включить опцию Add EFI Disk при создании ВМ.
Для Windows 11 придется также включить режим TPM 2.0, включить опцию Pre-Enroll keys и выбрать ваше хранилище в качестве TPM Storage.
Если вы хотите сменить тип прошивки ВМ с BIOS на UEFI после установки Windows, придется выполнить Пер конвертацию MBR диска Windows с помощью утилиты mbr2gpt.
Если вы планируете запускать WSL внутри виртуальной машины Windows 10 или 11, нужно включить поддержку вложенной виртуализации (Nested Virtualization) на Proxmox. Для этого нужно изменить в настройках CPU тип с default (kvm64) на host.
Установка гостевой Windows в ВМ Proxmox
Теперь вы может приступить к установке гостевой операционной системы Window в виртуальную машину Proxmox.
- Запустите ВМ, нажав Start. Нажмите кнопку Console чтобы открыть экран виртуальной машины;
- Установка Windows должна запуститься автоматически;
- Установщик Windows Setup не сможет определить диски вашей ВМ. Поэтому вам нужно вручную загрузить ему VirtIO драйвера контроллера диска;
- Нажмите кнопку Load Driver и укажите путь к каталогу \amd64\w10\ на диске с драйверами VirtIO;
- Установите драйвер Red Hat VirtIO SCSI pass-throught controller (NetKVM\w10\amd6\vioscsi.inf);
- Windows 11 требует наличия подключения к Интернету после установки ОС для подключения к Microsoft Account. Вы можете сразу загрузить сетевой драйвер «Redhat VirtIO Ethernet Adapter» из каталога \NetKVM\w10\amd64;
- После установки драйвера установщик Windows увидит ваш диск, и вы сможете продолжить установку;
- Завершите установку Windows в виртуальную машину. После этого нужно установить драйвера VirtIO для сетевой карты и других устройств. Для этого откройте диспетчер устройств Windows (devmgmt.msc). Найдите в списке неизвестные устройства. Щелкните по устройству и выберите Update Driver -> Browse my computer for driver software и укажите путь к диску с драйверами VirtIO. Вам нужно установить как минимум следующие драйвера Redhat VirtIO Ethernet Adapter (\NetKVM\w10\amd64), VirtIO Balloon Driver (\Balloon\w10\amd64) Подробнее это описано в статье Установка драйверов KVM VirtIO в виртуальной машине Windows;
- После установки всех драйверов установите VirtIO Агент (\guest-agent\quemu-ga-x86_64.msi). Это аналог VMware Tools и Hyper-V Integration Services, который позволяет отправлять информацию о гостевой ОС в гипервизор Proxmox;
- Запустите установку virtio-win-gt-x64.msi из корня диска. Укажите драйвера и службы, которые нужно установить дополнительно.
Откройте консоль PowerShell и проверьте, что служба QEMU Guest agent запущена в Windows:
Get-Service QEMU-GA
Если вас не устраивает низкое разрешение в консоли ВМ, перезагрузите ВМ и нажмите Esc чтобы перейти в настройки UEFI BIOS. Перейдите в раздел Device Manager -> OVMF Platform Configuration измените значение Change Preferred с 640×480 на 1920x1080. Сохраните изменения в конфигурации UEFI.
На этом настройка виртуальной машины Windows на Proxmox закончена. Вы можете продолжить настройку параметров Windows в гостевой ОС (имя компьютера, параметры сетевого подключения, установить необходимые программы, добавить в домен Active Directory и т.д.).
Чтобы не забыть про нюансы, которые могут возникать при установке Windows Server 2019 на Proxmox Virtual Environment (PVE), я решил описать, как это можно сделать шаг за шагом, от создания виртуальной машины до установки драйверов и настройки сети интернет.
Для начала авторизуемся в панели управления по адресу https://IP:8006. Создадим новую виртуальную машину, кликнув правой кнопкой на узле и нажмем Создать ВМ. Данный пункт позволяет создать VDS/VPS на основе виртуализации KVM, одной из самых распространенных и при этом бесплатных систем виртуализации.
Создадим для установки виртуальную машину (VDS/VPS) со следующими характеристиками:
- 2 ядра процессора;
- 2 ГБ оперативной памяти (можно установить это значение немного выше, поскольку приведенная ниже конфигурация может работать медленно);
- 50 ГБ места на диске.
Пункт Создать контейнер, создал бы LXC контейнер Proxmox VE, но в нем нельзя установить систему Windows, так как это подсистема контейнеризации, позволяющая запускать несколько изолированных экземпляров операционной только системы Linux на одном узле.
На вкладке Общее (General) укажем наименование машина и ID
- Узел (Node): 3vps
- VM ID: 102
- Имя (Name): win2019temp, данная машина в будущем будет служить шаблоном для копирования других Windows серверов;
- Пул ресурсов (Resource Pool): оставляем пустым.
Скачаем ISO образ системы Windows Server 2019 с официального сайта Microsoft и загрузим в Proxmox VE, выберем в дереве нужное хранилище, раздел ISO-образы и кликнем по кнопке Отправить или загрузим через SFTP в директорию:
/var/lib/vz/template/iso/
Теперь когда образ системы Windows загружен перейдем на вкладку ОС (OS) , где укажем использовать файл с образом CD/DVD:
- Хранилище (Storage): local
- ISO Image: выбираю ru_windows_server_2019.iso
- Тип (Type): Microsoft Windows
- Версия (Version): 10/2016/2019
На вкладке система (System) укажем следующие параметры:
- Видеокарта (Graphic card): По умолчанию;
- Контроллер SCSI (SCSI Controller): VirtIO SCSI;
- Qemu Agent: установим флаг;
На вкладке Диски (Hard Disk) укажем VirtIO Block в качестве устройства жесткого диска виртуальной машины для повышения производительности, для чего потребуются драйверы VirtIO, которые мы установим позже.
- Шина/Устройство (Bus/Device): VirtIO Block/0
- Хранилище (Storage): data2
- Размер диска (Disk size (GiB): 50
- Кэш (Cache): По умолчанию (Нет)
Здесь можно выбрать один из двух типов виртуальный дисков raw (лучшая производительностью) или qcow2 (расширенный функционал и поддержка снапшотов).
На вкладке Процессор (CPU), укажем характеристики виртуального процессора, двух ядер для Windows мало, но достаточно для запуска:
- Сокеты (Sockets): 1;
- Ядра (Cores): 2;
- Тип (Type): host, означает,что в качестве процессора в виртуальной машине будет указываться название и тип основного процессора на ноде;
На вкладке Память (Memory) укажем: 4096 (MiB)
Перейдем на вкладку Сеть (Network). Выберите тип виртуальной карты VirtIO (paravirtualized) вместо Intel E1000.
- Нет сетевого устройства (No network device): галочку не ставим;
- Сетевой мост (Bridge): vmbr0;
- Модель (Model): VirtIO (paravirtualized);
На вкладке Подтверждение (Confirm) проверяем введенные параметры и кликнем по кнопке Готово (Finish).
После того, как вы создали новую виртуальную машину Proxmox VE для Windows, на вкладке Оборудование нужно добавить еще один CD/DVD привод и подключить в него ISO файл с VirtIO драйверами.
Скачаем virtio-win-0.1.240.iso, это набор паравиртуализированных драйверов для KVM/Linux, который обеспечит более высокую производительность виртуальных устройств, чем встроенные эмулированные драйвера, подробнее читаем тут Windows VirtIO Drivers.
Загрузим ISO образ virtio-win-0.1.240.iso в хранилище Proxmox VE
Также можно в ручную загрузить ISO образ в директорию Proxmox VE по SFTP.
/var/lib/vz/template/iso/
Добавим еще один виртуальный дисковод с загруженным ISO образом:
В результате у виртуальной машины (VPS/VDS) должно отразиться два дисковода, первый с ISO образом системы Windows, второй с ISO образом драйверов VirtIO.
На этом создание нового виртуального сервера закончено, можно переходить к установке операционной системы Windows Server 2019.
Установка гостевой Windows Server 2019 на VDS (VPS) в Proxmox VE
Перейдем на вкладку Консоль и запустим созданную виртуальную машину с Windows Server 2019.
Выберем язык гостевой операционной системы и раскладку клавиатуры, двигаемся дальше по установщику
Выберем операционную систему Windows Server 2019 Standard (Возможности рабочего стола Desktop Experience), если не выбрать эту опцию, то система будет работать только в режиме командной строки.
На вкладке выбора раздела установки гостевой ОС нет жесткого диска, хотя при создании виртуальной машины мы создали виртуальный жесткий диск. Дело в том, что нам необходимо установить драйвера.
Мы можем загрузить драйвер из нашего VirtIO ISO, используя кнопку Загрузить (Load driver).
Выберем правильный драйвер с помощью кнопки Обзор (Browse). Драйвер хранилища находится по адресу <CD-Drive>:/viostor/2k16/amd64 – нам нужно выбрать именно эту папку.
Если вы сделали все правильно, то гостевая система предложит выбрать найденный драйвер viostor.inf, выберем драйвер и кликнем по кнопке Далее.
После установки драйвера появится неразмеченное пространство на диске, а значит диск найден системой.
Кликнем по кнопке Далее и мастер установки начнет процесс копирования файлов и дальнейшей установки гостевой системы Windows Server 2019.
Далее выполняем указания мастера установки Windows Server 2019, после чего попадем в настройки параметров для указания пароля администратора системы.
На этом Windows Server 2019 установлена на виртуальную машину Proxmox VE, теперь попробуем авторизоваться в системе.
Выберем комбинацию клавиш Ctrl + Alt + Del и введем установленный пароль.
Если все получилось, то мы попадаем на рабочий стол установленной системы Windows.
Настройка доступа по RDP к Windows Server 2019 в Proxmox VE
Для дальнейшей работы в системе Windows Server 2019, нам нужен доступ по RDP, сразу включим его в Диспетчере серверов, откроем вкладку Локальный сервер, выберем пункт Удаленный рабочий стол, изменим значение параметра на Включено.
Для этого установим флаг Разрешить удаленные подключения в этому компьютеру.
Теперь возможен доступ к виртуальному серверу по RDP протоколу через удаленный рабочий стол, указав IP адрес сервера логин и пароль.
Установка драйверов Windows Server 2019 в Proxmox VE
Для удаленного подключения к серверу нужно настроить сеть и подключиться к интернету, для этого нужно установить драйвера на сетевую карту.
Драйвера мы будем устанавливать с загруженного нами virtio-win-0.1.240.iso, расположение драйверов на Virtio CD:
- Жесткий диск: vioscsi \ 2k19 \ amd64
- Сеть: NetKVM \ 2k19 \ amd64
- Объем памяти: Balloon \ 2k19 \ amd64
Диспетчер устройств (Device Manager) можно открыть из Панели управления. А также с помощью командной строки, или команды Выполнить (Win+R). В обоих случаях ввести: devmgmt.msc. Или же, просто ввести данную команду в строку поиска меню Пуск и нажать результат поиска. Правый клик по значку “компьютер”, выбираем “управление “, и в открывшемся окне, слева, найдешь В свойствах.
Ethernet-контроллер наша сетевая карта драйвера к которой нужно установить.
Обновим драйвер, кликнув по Ethernet-контроллер правой клавишей мыши.
Выполним поиск драйверов на этом компьютере вручную
Укажем на диск Virtio CD в дисководе и система найдет нужный драйвер для устройства.
Аналогично установим драйвера на остальные устройства.
Проверим, что все устройства настроены и работают правильно.
После установки драйверов не забудьте установите Агент VirtIO (\guest-agent\quemu-ga-x86_64.msi). Это аналог VMware Tools и Hyper-V Integration Services, который позволяет отправлять информацию о гостевой ОС в гипервизор Proxmox.
Есть еще вариант установки драйверов с помощью установщика драйверов Windows, но это другая история.
Настройки сети Windows Server 2019 в Proxmox VE
Перейдем к настройкам сети, укажем IP адрес и шлюз, чтобы Windows Server 2019 получил сеть из Proxmox VE и имел доступ к интернет. Далее мы сможем подключиться по RDP и продолжить настройку системы под себя.
Откроем Параметры сети и Интернет, кликнув правой кнопкой по значку компьютера в правом углу рабочего стола.
Кликнем по кнопке Настройка параметров адаптера для просмотра сетевых адаптеров и изменения параметров подключения.
Если все сделано согласно данной инструкции, то в списке должен появиться один сетевой адаптер, кликнем по нему правой клавишей мыши и перейдем к настройкам.
Уберем флажок с IP версии 6 (TCP/IPv6), так как в случае установки 1С или PostgreSQL, могут возникнуть проблемы в сетевых настройках.
Перейдем к настройкам IP версии 4 (TCP/IPv4), укажем IP адрес, маску подсети и основной шлюз, а также предпочитаемый DNS-сервер, например 8.8.8.8.
Сохраним сетевые параметры и проверим доступ в интернет.
Как видите доступ в интернет есть, а значит мы сделали все верно. Вы можете продолжить настройку Windows, например добавить в домен Active Directory или установить 1С сервер. Если у вас остались вопросы задавайте их в комментариях и я постараюсь на них ответить, также подписывайтесь на наш телеграмм канал для администраторов.
Консультирую по разным конфигурациям 1С, дорабатываю, разрабатываю расширения, отчеты и обработки, администрирую базы 1С на linux.
Proxmox. Установка Windows.
Создадим виртуальную машину:
qm create 200 --name pdc2 --memory 16000 --cores 4 --sockets 1 --net0 virtio,bridge=vmbr1,firewall=1,mtu=1,tag=180 --agent enabled=1
tag
задаёт используемый vlan.
Установим тип операционной системы.
Можно выбрать из списка: wxp, w2k, w2k3, w2k8, wvista, win7, win8, win10, win11.
qm set 200 --ostype win10
Подключим QEMU Guest Agent (см. KVM. QEMU Guest Agent):
qm set 200 --agent enabled=1,fstrim_cloned_disks=1
Создадим диск (160GB):
pvesm alloc local-lvm 200 vm-200-disk-0 160G
Зададим драйвер диска:
qm set 200 --scsihw virtio-scsi-single
Подключим диск:
qm set 200 --virtio0 local-lvm:vm-200-disk-0
Подключим CDROM:
qm set 200 --ide2 local:iso/windows-server-2019.iso,media=cdrom
Подключим диск с драйверами VirtIO:
qm set 200 --ide3 local:iso/virtio-win.iso,media=cdrom
Зададим порядок загрузки (CD-ROM, затем диск)
qm set 200 --boot c --bootdisk virtio0
qm set 200 --boot order='ide2;ide3;virtio0'
Зададим тип CPU:
qm set 200 --cpu cputype=host
Подключим для мышки:
#!/bin/bash
# Configuration variables
NODE="pve"
VMID="200" # Change this to your desired VM ID
VM_NAME="win11-test" # Change this to your desired VM name
VM_MEMORY="4096" # Memory in MB
VM_CORES="2" # Number of CPU cores
VM_SOCKET="1" # Number of CPU sockets
STORAGE="local-lvm" # Storage location
DISK_SIZE="160G" # Disk size
ISO_STORAGE="/mnt/pve/nfs/template/iso" # Storage location for ISOs
WIN_ISO="Win11_23H2_x64v2_auto.iso" # Windows ISO filename
VIRTIO_ISO="virtio-win.iso" # VirtIO drivers ISO filename
OS_TYPE="win10" # Options: wxp, w2k, w2k3, w2k8, wvista, win7, win8, win10, win11
# Function to check if VM ID already exists
check_vmid() {
if qm status $VMID &>/dev/null; then
echo "Error: VM ID $VMID already exists"
exit 1
fi
}
# Function to check storage availability
check_storage() {
if ! pvesm status | grep -q "^$STORAGE"; then
echo "Error: Storage '$STORAGE' not found"
exit 1
fi
}
# Function to check ISO files
check_isos() {
if [ ! -f "/mnt/pve/nfs/template/iso/$WIN_ISO" ]; then
echo "Warning: Windows ISO not found at /var/lib/vz/template/iso/$WIN_ISO"
fi
if [ ! -f "/mnt/pve/nfs/template/iso/$VIRTIO_ISO" ]; then
echo "Warning: VirtIO ISO not found at /var/lib/vz/template/iso/$VIRTIO_ISO"
fi
}
# Run checks
check_vmid
check_storage
check_isos
# Create and add main disk using VirtIO Block
echo "Creating disk with size $DISK_SIZE..."
pvesm alloc $STORAGE $VMID vm-$VMID-disk-2 $DISK_SIZE || {
echo "Error: Failed to create disk"
qm destroy $VMID
exit 1
}
# Create VM
echo "Creating VM with ID $VMID..."
qm create $VMID --name $VM_NAME --memory $VM_MEMORY --cores $VM_CORES --sockets $VM_SOCKET --net0 virtio,bridge=vmbr0
qm set $VMID --ostype "$OS_TYPE"
qm set $VMID --virtio0 $STORAGE:vm-$VMID-disk-2
# Add Windows installation media
qm set $VMID --ide2 nfs:iso/$WIN_ISO,media=cdrom
# Add VirtIO drivers
qm set $VMID --ide3 nfs:iso/$VIRTIO_ISO,media=cdrom
# Configure boot order (CD-ROM first, then disk)
#qm set $VMID --boot c --bootdisk virtio0
#qm set $VMID --boot order='ide2;ide3;virtio0'
# Enable QEMU Guest Agent
qm set $VMID --agent enabled=1,fstrim_cloned_disks=1
#create TPM
pvesm alloc local-lvm 1022 vm-1022-disk-1.raw 4M
#create EFI Disk
pvesm alloc local-lvm 1022 vm-1022-disk-0.qcow2 4M
# Add TPM support (required for Windows 11)
echo "Configuring Windows 11 specific settings (TPM, UEFI)..."
qm set $VMID --tpmstate0 local-lvm:vm-1022-disk-1.raw,size=4M,version=v2.0
qm set $VMID --machine q35
qm set $VMID --bios ovmf
qm set 1022 --efidisk0 local-lvm:vm-1022-disk-0.qcow2,size=528K,efitype=4m,pre-enrolled-keys=1
# Configure boot order (CD-ROM first, then disk)
qm set $VMID --boot c --bootdisk virtio0
qm set $VMID --boot order='ide2;ide3;virtio0'
# Configure CPU type for better performance
qm set 1022 --cpu cputype=host
# Add tablet device for better mouse handling
qm set 1022 --tablet 1
echo "VM $VMID created successfully. Before starting the VM, ensure:"
echo "1. Windows ISO ($WIN_ISO) is present in $ISO_STORAGE:iso/"
echo "2. VirtIO drivers ISO ($VIRTIO_ISO) is present in $ISO_STORAGE:iso/"
echo ""
echo "During Windows installation, when prompted for drivers, browse the VirtIO ISO (IDE3) and select:"
echo "- For storage: /viostor/w10/amd64/"
echo ""
echo "To download the latest VirtIO drivers:"
echo "wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso -O /var/lib/vz/template/iso/virtio-win.iso"
echo ""
echo "To start the VM:"
echo "qm start $VMID"
В данной инструкции мы рассмотрим установку Windows Server 2019 на Proxmox.
Нужна помощь? Настройки Windows Server и обслуживание серверов мы осуществляем в рамках услуги ИТ-аутсорсинг. Также возможны разовые проектные работы.
- На ранее подготовленный сервер Proxmox заходим по адресу: https://ip-Proxmox:8006. Вводим учетные данные и входим.
- Далее нажимаем “Загрузить” и выбираем подготовленный образ с Window Server 2019.
- Затем еще раз нажимаем “Загрузить”, происходит процесс загрузки iso-установщика в библиотеку образов Proxmox. Когда образ загружен, можно приступить к созданию виртуальной машины. Нажимаем правой кнопкой мыши на наш сервер и в выпадающем меню выбираем “Создать VM”.
Рисунок 1 — Вызов панели для создания виртуальной машины
- Далее приступаем непосредственно к настройке параметров виртуальной машины. Выбираем узел, на котором будет размещаться виртуальная машина и вводим её имя, нажимаем “Далее”.
Рисунок 2 — Выбор узла и ввод имени виртуальной машины
- В данной вкладке выбираем нужный нам образ системы, тип и версию ОС, нажимаем “Далее”.
Рисунок 3 — Выбор ISO-образа для установки на виртуальную машину
- В следующей вкладке “Система” оставляем по умолчанию и нажимаем “Далее”. Затем выбираем формат диска виртуальной машины и размер диска, нажимаем “Далее”.
Рисунок 4 — Выбор формата и размера диска
- На следующих 2-х этапах выбираем количество ядер и оперативной памяти, требуемых нашей виртуальной машине, “Далее”. Затем выбираем сетевые настройки, в данном случае выбираем сетевой мост, тем самым сеть на ВМ будет такой же, как на и на самом сервере Proxmox, “Далее”.
Рисунок 5 — Настройка сети виртуальной машины
- На последнем этапе создания ВМ, проверяем настройки и в подтверждение нажимаем “Далее”.
Рисунок 6 — Подтверждение выбранных настроек
- Виртуальная машина создана. Выбрав нашу виртуальную машину в просмотре сервера можно просмотреть “Сводку” по ней.
Рисунок 7 — Сводка по созданной виртуальной машине
- Перейдем в консоль и запускаем виртуальную машину, при запуске начнется подготовка к установке ОС, далее выбираем нужную редакцию ОС и начинаем установку.
- Установка Windows Server 2019 на Proxmox завершена.