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 заполняется, когда система в машине установлена и загрузилась: адрес хост узнаёт от самого гостя.

Источники


У нас есть хост с ролью Hyper-V, коммутатор и машина с установленной системой. Каждая команда этой части — вершина айсберга, и следующие части разбирают их по очереди.

Дальше — часть 2: как устроен Hyper-V. Что изменилось в сервере после установки роли, корневой и дочерние разделы, VMBus и службы интеграции, поколения машин и версия конфигурации, файлы машины и её состояния.

Оставить комментарий могут только зарегистрированные пользователи.

Войдите на сайт или зарегистрируйтесь, чтобы оставить комментарий.