Hyper-V. Часть 1: Создаём первую виртуальную машину
Все части серии «Hyper-V»Hyper-V — гипервизор, который входит в каждую редакцию Windows Server: роль ставится одной командой, отдельная лицензия на неё не нужна, а управлять ею можно целиком из PowerShell. В этой части пройдём самый короткий путь от чистого сервера до виртуальной машины с установленной системой. Теории здесь минимум: каждая команда делает ровно то, что нужно для первой машины, а что за ней стоит и какие у неё есть варианты, разберём в следующих частях.
Примеры собраны на Windows Server 2025. Все команды выполняются в PowerShell, запущенном от имени администратора, на самом будущем хосте.
Что понадобится
- Сервер с Windows Server 2025 любой редакции — физический, потому что Hyper-V нужен прямой доступ к процессору. Достаточно 8 ГБ памяти и 100 ГБ свободного места на отдельном томе (в примерах это
D:). - Включённая в BIOS/UEFI сервера аппаратная виртуализация — пункт обычно называется Intel VT-x, Intel Virtualization Technology или AMD-V/SVM.
- ISO-образ системы, которую будете ставить в машину, например
D:\ISO\windows-server-2025.iso. - Доступ к консоли сервера или по RDP. По ходу дела сеть сервера на несколько секунд пропадёт, и с консоли это переносится легче.
Проверяем процессор
Готов ли процессор, видно ещё до установки роли: systeminfo в конце вывода показывает раздел «Hyper-V Requirements».
systeminfo | Select-String 'Hyper-V|Virtualization|Second Level|Data Execution'
Все четыре строки должны заканчиваться на Yes. Если Virtualization Enabled In Firmware: No — виртуализация выключена в BIOS, её нужно включить и перезагрузить сервер. Если вместо четырёх строк одна — «A hypervisor has been detected» — гипервизор уже работает: роль стоит, или это сама виртуальная машина. Что именно проверяется и зачем, разберём в части об устройстве Hyper-V.
Ставим роль
Установка — одна команда, после неё сервер перезагрузится (установка роли):
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
-IncludeManagementTools добавляет модуль PowerShell Hyper-V и Hyper-V Manager. Перезагрузка нужна, потому что после неё сервер загружается уже поверх гипервизора. Проверить, что роль на месте:
Get-WindowsFeature -Name Hyper-V*
Get-Service vmms
Переносим папки с диска C:
По умолчанию Hyper-V кладёт конфигурации машин в C:\ProgramData\Microsoft\Windows\Hyper-V, а диски — в C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Hard Disks. Заполненный диск C: остановит и машины, и сам хост, поэтому сразу переносим пути по умолчанию на отдельный том (Set-VMHost):
Set-VMHost -VirtualMachinePath 'D:\Hyper-V' -VirtualHardDiskPath 'D:\Hyper-V\Virtual Hard Disks'
Get-VMHost | Format-List VirtualMachinePath, VirtualHardDiskPath
Создаём коммутатор
Чтобы машина попала в сеть, ей нужен виртуальный коммутатор, привязанный к сетевой карте сервера. Сначала смотрим имя карты:
Get-NetAdapter
Затем создаём коммутатор LAN на этой карте (New-VMSwitch):
New-VMSwitch -Name 'LAN' -NetAdapterName 'Ethernet 1' -AllowManagementOS $true
В момент выполнения сеть сервера пропадёт на несколько секунд: адрес сервера переезжает с физической карты на новый адаптер vEthernet (LAN), через который сервер теперь сам подключён к коммутатору. Если вы подключены по RDP, сессия оборвётся и восстановится. -AllowManagementOS $true как раз и оставляет серверу доступ к этой сети. Почему так происходит и какие ещё бывают коммутаторы — в части о сети.
Get-VMSwitch
Get-NetIPAddress -AddressFamily IPv4 -InterfaceAlias 'vEthernet (LAN)'
Создаём машину
Машину создаёт New-VM, остальное донастраивают командлеты Set-VM* (New-VM, пошаговое создание):
$vm = 'app1'
New-VM -Name $vm -Generation 2 -MemoryStartupBytes 4GB `
-NewVHDPath "D:\Hyper-V\Virtual Hard Disks\$vm-os.vhdx" -NewVHDSizeBytes 80GB `
-SwitchName 'LAN' -Path 'D:\Hyper-V'
Set-VMProcessor -VMName $vm -Count 2
Add-VMDvdDrive -VMName $vm -Path 'D:\ISO\windows-server-2025.iso'
Set-VMFirmware -VMName $vm -FirstBootDevice (Get-VMDvdDrive -VMName $vm)
Что здесь происходит, коротко:
New-VMсоздаёт машину второго поколения — современную, с UEFI — с 4 ГБ памяти, новым диском на 80 ГБ и сетевой картой, подключённой к коммутаторуLAN. Файл диска растёт по мере записи, поэтому сразу 80 ГБ он не займёт.Set-VMProcessorдаёт машине два виртуальных процессора.Add-VMDvdDriveдобавляет DVD-привод и вставляет в него ISO.Set-VMFirmwareставит DVD первым в порядке загрузки — иначе машина попробует загрузиться с пустого диска и по сети.
Поколения машин и файлы, из которых машина состоит, разберём в части об устройстве Hyper-V, диски — в части о дисках, процессор и память — в части о них.
Если ставите Linux, нужна ещё одна команда. У машин второго поколения включён Secure Boot, который по умолчанию пропускает только загрузчики Windows; для Linux меняем шаблон (Set-VMFirmware):
Set-VMFirmware -VMName $vm -SecureBootTemplate MicrosoftUEFICertificateAuthority
Запускаем и ставим систему
Start-VM -Name $vm
vmconnect.exe localhost $vm
vmconnect открывает окно консоли машины — как монитор, подключённый к ней. Установщик Windows с ISO при загрузке просит «Press any key to boot from CD or DVD» и ждёт всего несколько секунд. Если не успели, машина уйдёт в загрузку по сети и сообщит, что загрузочного устройства нет; тогда перезапустите её — Restart-VM -Name $vm -Force — и сразу нажмите любую клавишу в окне консоли.
Дальше — обычная установка системы, как на физический сервер. Окна консоли на хосте с Server Core нет: там консоль открывают с рабочей станции, об этом часть об управлении с рабочей станции.
После установки
Образ больше не нужен — извлекаем его, чтобы он не мешал потом переносить машину на другой хост:
Set-VMDvdDrive -VMName $vm -Path $null
Чтобы машина сама запускалась после перезагрузки хоста, с паузой в минуту:
Set-VM -Name $vm -AutomaticStartAction Start -AutomaticStartDelay 60
Основные команды управления машиной:
Get-VM # список машин и их состояние
Stop-VM -Name app1 # корректно завершить работу гостя
Start-VM -Name app1
Restart-VM -Name app1 -Force
Чем отличаются Stop-VM, Save-VM и Stop-VM -TurnOff, разберём в части об устройстве Hyper-V.
Если под рукой только Windows 11
Те же команды работают на Windows 10 и 11 редакций Pro и Enterprise: в них есть компонент Hyper-V (Hyper-V в Windows). Отличаются установка и сеть:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Restart-Computer
Get-VMSwitch
После установки на рабочей станции уже есть коммутатор Default Switch: машины за ним получают адрес автоматически и выходят в сеть через адрес самого компьютера. Свой коммутатор создавать не нужно — в New-VM укажите -SwitchName 'Default Switch', остальные команды те же. Так первую машину можно создать на ноутбуке, без отдельного сервера.
Смотрим руками
Машина, её состояние, память и адрес, который она получила:
Get-VM -Name app1 | Format-List Name, State, Generation, ProcessorCount, MemoryStartup, Uptime, Status
Get-VMNetworkAdapter -VMName app1 | Format-Table Name, SwitchName, MacAddress, IPAddresses
Get-VMHardDiskDrive -VMName app1 | Format-Table ControllerType, Path
IPAddresses заполняется, когда система в машине установлена и загрузилась: адрес хост узнаёт от самого гостя.
Источники
- Install the Hyper-V role on Windows Server — установка роли;
- Install Hyper-V on Windows — Hyper-V на Windows 10 и 11;
- Set-VMHost — пути по умолчанию;
- New-VMSwitch — создание коммутатора;
- Create a virtual machine in Hyper-V и New-VM — создание машины;
- Set-VMFirmware — порядок загрузки и шаблон Secure Boot.
У нас есть хост с ролью Hyper-V, коммутатор и машина с установленной системой. Каждая команда этой части — вершина айсберга, и следующие части разбирают их по очереди.
Дальше — часть 2: как устроен Hyper-V. Что изменилось в сервере после установки роли, корневой и дочерние разделы, VMBus и службы интеграции, поколения машин и версия конфигурации, файлы машины и её состояния.
Оставить комментарий могут только зарегистрированные пользователи.
Войдите на сайт или зарегистрируйтесь, чтобы оставить комментарий.