Hyper-V — встроенный гипервизор Microsoft, который превращает обычный Windows Server в полноценный узел виртуализации. В паровой мастерской ROADIT это выглядит примерно так: физический сервер становится котлом, гипервизор — главным машинистом, а виртуальные машины — отдельными вагонами, каждый со своим процессором, памятью, диском и сетевым портом.
В этой статье разберём установку Hyper-V на Windows Server, проверку аппаратных требований и первичную настройку хоста. Основной упор — на PowerShell, потому что администратор с консолью обычно быстрее добирается до нужного вентиля, чем администратор с мышью.
Примеры ориентированы прежде всего на Windows Server 2022 и Windows Server 2025. Hyper-V также доступен в Pro/Enterprise-редакциях Windows 10 и Windows 11 как дополнительный компонент, но модель установки там немного отличается.
Что такое Hyper-V и что именно мы устанавливаем
Hyper-V состоит не только из привычного Hyper-V Manager. После установки роли сервер получает гипервизор, службы виртуализации, виртуальный коммутатор и набор PowerShell-командлетов для управления виртуальной инфраструктурой.
Упрощённо архитектуру можно представить так:
- физический сервер — Hyper-V host;
- Hyper-V hypervisor — слой виртуализации;
- management OS — операционная система самого сервера;
- виртуальные машины — guest/child partitions;
- VHDX — виртуальные диски;
- VMSwitch — виртуальные коммутаторы;
- VM network adapter — виртуальные сетевые карты.

Проверяем сервер перед установкой
Прежде чем вращать главный вентиль, проверим железо. Для Hyper-V необходимы:
- 64-битный процессор;
- SLAT — Second Level Address Translation;
- VM Monitor Mode Extensions;
- аппаратная виртуализация, включённая в BIOS/UEFI;
- аппаратная поддержка DEP/NX/XD;
- достаточный объём оперативной памяти.
Microsoft указывает 4 ГБ RAM как минимальное требование для Hyper-V, но для реального сервера это скорее нижняя отметка шкалы, чем разумный объём для рабочей нагрузки. Память должна хватать одновременно и хосту, и всем работающим виртуальным машинам.
Проверка через Systeminfo
Запускаем PowerShell или CMD от имени администратора:
systeminfo.exeВ конце вывода ищем раздел:
Hyper-V Requirements:
VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
Second Level Address Translation: Yes
Data Execution Prevention Available: YesЕсли вместо Yes появляется No, сначала разбираемся с железом или настройками BIOS/UEFI.
Если виртуализация отключена
В BIOS/UEFI ищем соответствующую настройку:
- Intel —
Intel Virtualization Technology,VT-x; - AMD —
SVM Mode,AMD-V.
Также должна быть включена аппаратная защита DEP:
- Intel — XD bit;
- AMD — NX bit.
Названия пунктов зависят от производителя материнской платы или сервера. После изменения параметров обязательно сохраняем конфигурацию и перезагружаем сервер.
Подготовка Windows Server
Перед установкой роли полезно привести сам сервер в порядок. Минимальный чек-лист:
- Задать понятное имя сервера.
- Настроить статический IP.
- Настроить DNS.
- Установить актуальные обновления.
- Проверить время и часовой пояс.
- Убедиться, что сервер подключён к домену, если это требуется инфраструктурой.
- Подготовить отдельный том для виртуальных машин.
Например:
hostnameПосмотреть сетевые интерфейсы:
Get-NetAdapterПосмотреть IP-конфигурацию:
Get-NetIPConfigurationПосмотреть DNS:
Get-DnsClientServerAddressПосмотреть диски и тома:
Get-Disk
Get-VolumeПочему VM лучше не складывать куда попало
Технически ничто не мешает хранить виртуальные диски в системном C:\, но для нормального сервера это плохая привычка.
Например, можно подготовить:
D:\Hyper-V\
├── VMs\
├── VHDX\
├── ISO\
└── Export\Либо использовать отдельные тома:
D:\Hyper-V\VMs
E:\Hyper-V\VHDX
F:\Hyper-V\ISOКонкретная схема зависит от дисковой подсистемы. Для нескольких производительных VM гораздо важнее характеристики самого storage — SSD/NVMe, RAID, SAN, Storage Spaces и IOPS, — чем красивое имя каталога.
Устанавливаем роль Hyper-V через PowerShell
Это основной способ, особенно если сервер работает в Server Core. Открываем PowerShell от имени администратора и выполняем:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -RestartПараметры здесь простые:
-Name Hyper-V— устанавливает роль Hyper-V;-IncludeManagementTools— добавляет инструменты управления;-Restart— автоматически перезагрузит сервер после установки.
Именно такой способ установки роли рекомендует Microsoft для Windows Server. После перезагрузки проверяем:
Get-WindowsFeature -Name Hyper-VОжидаемый результат:
Display Name Name Install State
------------ ---- -------------
[X] Hyper-V Hyper-V InstalledДополнительно:
Get-Service vmmsСлужба управления виртуальными машинами должна находиться в состоянии Running.
Get-Service vmms | Select-Object Name, Status, StartTypeОжидаем:
Name Status StartType
---- ------ ---------
vmms Running Automatic
Установка через Server Manager
Если сервер работает с Desktop Experience, роль можно поставить и графически. Открываем:
Server Manager → Manage → Add Roles and Features
Далее:
- Выбираем
Role-based or feature-based installation. - Выбираем нужный сервер.
- Отмечаем Hyper-V.
- В появившемся окне подтверждаем добавление необходимых компонентов.
- При необходимости оставляем выбранными Hyper-V Management Tools.
- На шаге настройки виртуальной сети можно создать внешний виртуальный коммутатор.
- Подтверждаем установку.
- Перезагружаем сервер.
Microsoft поддерживает установку Hyper-V как через Server Manager, так и через PowerShell. Для production-серверов PowerShell удобнее: команду можно задокументировать, повторить на другом узле или встроить в автоматизацию.
Создаём первый виртуальный коммутатор
После установки Hyper-V следующий важный вентиль — сеть. Hyper-V поддерживает три типа виртуальных коммутаторов:
| Тип | Назначение |
|---|---|
| External | VM получает доступ к физической сети |
| Internal | VM общается с хостом и другими VM, но не напрямую с внешней сетью |
| Private | VM общаются только друг с другом |
External привязывается к физическому сетевому адаптеру, Internal предоставляет связь с management OS, а Private изолирует виртуальную сеть от хоста и внешней сети. Для обычного сервера чаще всего нужен External.
Сначала смотрим физические NIC
Get-NetAdapterНапример:
Name InterfaceDescription ifIndex Status
---- -------------------- ------- ------
Ethernet Intel(R) Ethernet Controller 4 Up
Ethernet 2 Intel(R) Ethernet Controller 7 UpПредположим, Ethernet подключён к нужной физической сети.
Создаём switch:
New-VMSwitch `
-Name "vSwitch-External `
-NetAdapterName "Ethernet" `
-AllowManagementOS $trueПроверяем:
Get-VMSwitchИ более подробно:
Get-VMSwitch | Format-List Name, SwitchType, NetAdapterInterfaceDescription, AllowManagementOSMicrosoft отмечает, что перед созданием внешнего switch стоит определить нужный физический адаптер через Get-NetAdapter; при создании External switch указывается -NetAdapterName либо описание интерфейса.

⚡ Важно
Создание или изменение внешнего виртуального switch может кратковременно нарушить сетевое соединение хоста. Microsoft отдельно предупреждает о возможном воздействии операции на connectivity.
Поэтому не экспериментируем с единственным management NIC посреди рабочего дня.
Когда нужны Internal и Private
Не всякая VM должна видеть production LAN. Например, для лаборатории можно создать:
New-VMSwitch -Name "vSwitch-Lab" -SwitchType InternalТакой switch позволит хосту и VM обмениваться трафиком. Private:
New-VMSwitch -Name "vSwitch-Isolated" -SwitchType PrivateЭтот вариант полезен, когда нужно изолировать несколько виртуальных машин друг от друга от внешней инфраструктуры, оставив им возможность общаться внутри виртуальной сети.
Для лаборатории удобно иметь:
vSwitch-External → production/LAN
vSwitch-Lab → host + lab VMs
vSwitch-Isolated → VM ↔ VM
Hyper-V также поддерживает NAT поверх Internal switch, что удобно для лабораторных стендов, которым нужен исходящий доступ без полноценного подключения к физической сети.
Настраиваем каталоги Hyper-V
После сети приводим в порядок storage. Посмотреть текущие пути:
Get-VMHost | Select-Object `
VirtualMachinePath, `
VirtualHardDiskPathНапример:
VirtualMachinePath: C:\ProgramData\Microsoft\Windows\Hyper-V
VirtualHardDiskPath : C:\Users\Public\Documents\Hyper-V\Virtual Hard DisksДля отдельного диска можно установить собственные каталоги:
New-Item -ItemType Directory -Path "D:\Hyper-V\VMs" -Force
New-Item -ItemType Directory -Path "D:\Hyper-V\VHDX" -ForceЗатем:
Set-VMHost `
-VirtualMachinePath "D:\Hyper-V\VMs" `
-VirtualHardDiskPath "D:\Hyper-V\VHDX"Проверяем:
Get-VMHost | Format-List VirtualMachinePath, VirtualHardDiskPathНастраиваем Hyper-V Manager
Если установлены графические инструменты, запускаем:
virtmgmt.mscили открываем Hyper-V Manager через меню Windows. В левой части появится имя Hyper-V-хоста. В его контекстном меню доступны:
- Virtual Switch Manager;
- Hyper-V Settings;
- создание и импорт VM;
- управление виртуальными дисками;
- подключение к VM через VMConnect.
В Hyper-V Settings находятся два особенно важных раздела:
Virtual Hard Disks;Virtual Machines.
Здесь можно проверить и изменить пути хранения. GUI полезен для разовых операций и визуальной проверки, но для повторяемой инфраструктуры лучше держать основную конфигурацию в PowerShell.
Проверяем, что Hyper-V действительно работает
После установки не стоит считать задачу законченной только потому, что Server Manager показал зелёную галочку. Собираем небольшой технический отчёт:
Get-WindowsFeature -Name Hyper-V
Get-Service vmms
Get-VMHost
Get-VMSwitch
Get-NetAdapterПолезно также посмотреть доступные виртуальные машины:
Get-VMЕсли машин ещё нет, список будет пустым — и это нормально. Проверяем версии PowerShell и Windows:
$PSVersionTable
Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsBuildNumberПроверяем наличие модуля Hyper-V:
Get-Module -ListAvailable -Name Hyper-VИ загружаем его при необходимости:
Import-Module Hyper-V
Создаём тестовую виртуальную машину
Теперь можно проверить весь паровой агрегат целиком. Для примера создадим VM:
- имя:
TEST-VM01; - 2 vCPU;
- 4 ГБ RAM;
- VHDX на
D:\Hyper-V\VHDX; - сетевой адаптер —
vSwitch-External.
Сначала создаём виртуальный диск:
New-VHD `
-Name "TEST-VM01" `
-Generation 2 `
-MemoryStartupBytes 4GB `
-VHDPath "D:\Hyper-V\VHDX\TEST-VM01.vhdx" `
-SwitchName "vSwitch-External"Проверяем:
Get-VM -Name "TEST-VM01"Настраиваем процессор:
Set-VMProcessor -VMName "TEST-VM01" -Count 2Проверяем параметры:
Get-VM -Name "TEST-VM01" | Format-List *Почему Generation 2
Для современных гостевых ОС обычно выбираем Generation 2: она использует современную виртуальную прошивку UEFI и поддерживает соответствующие современные возможности Hyper-V.
Generation 1 нужна прежде всего для совместимости со старыми гостевыми ОС и сценариями.
Подключаем ISO и запускаем VM
Предположим, установочный образ находится здесь:
D:\Hyper-V\ISO\WindowsServer.isoПолучаем DVD-привод виртуальной машины:
Get-VMDvdDrive -VMName "TEST-VM01"Подключаем ISO:
Set-VMDvdDrive `
-VMName "TEST-VM01" `
-Path "D:\Hyper-V\ISO\WindowsServer.iso"Запускаем:
Start-VM -Name "TEST-VM01"Проверяем:
Get-VM -Name "TEST-VM01"Подключиться к консоли можно через Hyper-V Manager или:
vmconnect.exeЧто стоит настроить сразу после установки роли
Установка Hyper-V — только момент, когда котёл впервые выходит на рабочее давление. После неё имеет смысл пройтись по базовым настройкам.
Обновления
Убедиться, что хост получает обновления Windows:
Get-HotFix | Sort-Object InstalledOn -Descending |
Select-Object -First 10Не стоит строить виртуальную инфраструктуру на сервере, который годами не видел Windows Update.
Время
Проверить:
Get-Date
w32tm /query /statusДля доменной инфраструктуры особенно важно, чтобы схема синхронизации времени была продумана заранее. В виртуальной среде проблемы со временем способны превращаться в весьма странные симптомы — от Kerberos до мониторинга.
Firewall
Не нужно бездумно отключать Windows Firewall ради «проверки, что сеть работает». Сначала смотрим состояние:
Get-NetFirewallProfile |
Select-Object Name, Enabled, DefaultInboundAction, DefaultOutboundActionЕсли Hyper-V должен управляться удалённо, лучше отдельно настроить необходимые правила и WinRM, чем открывать все ворота.
Удалённое управление Hyper-V
Если хост работает без GUI, это совершенно нормально. Hyper-V можно администрировать удалённо с другой Windows-машины с установленными инструментами управления. Например, PowerShell-команды поддерживают работу с удалённым компьютером:
Get-VM -ComputerName "HV01"или:
Get-VMSwitch -ComputerName "HV01"Также можно использовать CIM-сессии:
$session = New-CimSession -ComputerName "HV01"
Get-VM -CimSession $session
Get-VMSwitch -CimSession $session
Remove-CimSession $sessionДля Server Core такой подход особенно удобен: сам хост остаётся минимальным, а управление происходит с администраторской рабочей станции.
Частые ошибки при первой установке
Virtualization Enabled In Firmware: No
Почти всегда сначала проверяем BIOS/UEFI. Ищем Intel VT-x/VT-d или AMD-V/SVM в зависимости от платформы.
Second Level Address Translation: No
Процессор не соответствует требованиям Hyper-V.
В этом случае никакой PowerShell-командой ситуацию не исправить: паровая машина требует соответствующего котла.
После создания External switch пропала сеть
Возможные причины:
- выбран не тот физический NIC;
- management OS не разрешено использовать switch;
- сетевой драйвер работает некорректно;
- изменение switch временно сбило соединение;
- физическая сеть использует VLAN, а конфигурация виртуального адаптера не соответствует ей.
Проверяем:
Get-VMSwitch
Get-NetAdapter
Get-NetIPConfigurationЕсли management OS должна использовать внешний switch:
Get-VMSwitch | Select-Object Name, SwitchType, AllowManagementOSMicrosoft отдельно описывает возможность разрешить management OS использовать тот же внешний адаптер через параметр AllowManagementOS.
VM видит switch, но не получает IP
Сначала выясняем, где проблема:
VM → виртуальный NIC → vSwitch → physical NIC → физическая сеть → DHCP
На хосте:
Get-VMNetworkAdapter -VMName "TEST-VM01"Проверяем подключённый switch:
Get-VMNetworkAdapter -VMName "TEST-VM01" |
Select-Object VMName, Name, SwitchName, StatusВнутри гостевой ОС проверяем собственную сетевую конфигурацию. Не стоит сразу грешить на Hyper-V: DHCP, VLAN, физический switch и firewall вполне способны быть виновниками.
Не хватает места на диске
Проверяем:
Get-Volume | Select-Object DriveLetter, FileSystemLabel, SizeRemaining, SizeА затем:
Get-VMHost |
Select-Object VirtualMachinePath, VirtualHardDiskPathЕсли VHDX случайно отправились на системный диск, проблема обычно обнаруживается именно здесь.
Минимальный production-чек перед созданием рабочих VM
Перед тем как отправлять первую настоящую виртуальную машину в эксплуатацию, стоит проверить:
- Hyper-V установлен и находится в состоянии
Installed. vmmsработает и запускается автоматически.- Аппаратная виртуализация включена.
- SLAT и DEP поддерживаются.
- Установлены актуальные обновления.
- Сервер имеет корректное имя.
- Настроены IP и DNS.
- Продуман NTP/время.
- Выделено отдельное место под VM/VHDX.
- Создан нужный виртуальный switch.
- Проверена связность хоста.
- Проверена связность тестовой VM.
- Продумано резервное копирование VM.
- Настроен мониторинг CPU/RAM/storage/network.
- Понятно, кто и как будет управлять Hyper-V удалённо.
Заключение
Установка Hyper-V сама по себе занимает немного времени:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -RestartНо хороший Hyper-V-хост начинается не с этой команды.
Сначала проверяем железо, затем приводим в порядок Windows Server, определяем сетевую архитектуру, создаём виртуальный switch, выносим VHDX и VM на подходящее хранилище и только после этого начинаем запускать гостей.
Главная мысль проста: Hyper-V — это не просто галочка в Server Manager. После установки появляется новый слой инфраструктуры, а значит, вместе с ним появляются вопросы сети, storage, безопасности, резервного копирования, мониторинга и удалённого управления.
Если эти вопросы решить заранее, виртуализация работает почти незаметно. Если отложить их на потом — паровоз всё равно поедет, но дым из трубы начнёт выходить там, где его совершенно не ждали.
Официальная документация Microsoft по установке Hyper-V, требованиям хоста и виртуальному коммутатору остаётся хорошим справочником для дальнейшей настройки.
⚙️ Машинное отделение ROADIT благодарит за прочтение.
Больше команд, шпаргалок и обзоров — на roadit.ru и в нашем Телеграф-канале.
📋 Все команды