Skip to content

Create a Local VM on Windows (Hyper-V)

On Windows you can run a meltcloud Nest or Machine as a local VM using Hyper-V.

Recommendation

We recommend Hyper-V: it supports nested virtualization, and its Default Switch provides the required connectivity (host to VM, VM to VM). See Other Virtualization Tools for alternatives.

VM Settings

SettingNestMachine
GenerationGeneration 2 (UEFI)Generation 2 (UEFI)
vCPU8+2+
RAM16 GB+4 GB+
Disk≥ 200 GB≥ 20 GB
NetworkingDefault SwitchDefault Switch
Nested virtualizationnot requiredoptional, required for Elastic Pools
Boot mediaNest installer .isoEnrollment Image .iso (amd64)

Static IP addresses (Nest)

The Hyper-V Default Switch DHCP server does not maintain persistent leases across VM reboots. During the Nest installation, in the Networking tab, select Static IPs instead of the default DHCP. The suggested settings should work.

Option A: PowerShell

Enable Hyper-V

Open an elevated PowerShell and run:

powershell
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Reboot when prompted. Hyper-V is available on Windows 10/11 Pro, Enterprise, and Education editions.

Create the VM

powershell
# create a Generation 2 VM with 200 GB disk
New-VM -Name "melt-nest" -Generation 2 `
  -MemoryStartupBytes 16GB `
  -NewVHDPath "C:\HyperV\melt-nest.vhdx" `
  -NewVHDSizeBytes 200GB `
  -SwitchName "Default Switch"

Set-VM -Name "melt-nest" -ProcessorCount 8
Set-VMMemory -VMName "melt-nest" -DynamicMemoryEnabled $false

# disable Secure Boot so the VM can boot the .iso
Set-VMFirmware -VMName "melt-nest" -EnableSecureBoot Off

# remove the default empty DVD drive, add one with the ISO, and boot from it
Get-VMDvdDrive -VMName "melt-nest" | Remove-VMDvdDrive
Add-VMDvdDrive -VMName "melt-nest" -Path "C:\path\to\nest-installer-amd64.iso"
$dvd = Get-VMDvdDrive -VMName "melt-nest"
Set-VMFirmware -VMName "melt-nest" -FirstBootDevice $dvd

Start-VM -Name "melt-nest"

# open the VM console
vmconnect localhost "melt-nest"
powershell
# create a Generation 2 VM with 40 GB disk
New-VM -Name "melt-machine" -Generation 2 `
  -MemoryStartupBytes 4GB `
  -NewVHDPath "C:\HyperV\melt-machine.vhdx" `
  -NewVHDSizeBytes 40GB `
  -SwitchName "Default Switch"

Set-VM -Name "melt-machine" -ProcessorCount 2
Set-VMMemory -VMName "melt-machine" -DynamicMemoryEnabled $false

# disable Secure Boot so the VM can boot the .iso
Set-VMFirmware -VMName "melt-machine" -EnableSecureBoot Off

# remove the default empty DVD drive, add one with the ISO, and boot from it
Get-VMDvdDrive -VMName "melt-machine" | Remove-VMDvdDrive
Add-VMDvdDrive -VMName "melt-machine" -Path "C:\path\to\enrollment-image-amd64.iso"
$dvd = Get-VMDvdDrive -VMName "melt-machine"
Set-VMFirmware -VMName "melt-machine" -FirstBootDevice $dvd

Start-VM -Name "melt-machine"

# open the VM console
vmconnect localhost "melt-machine"
powershell
# create a Generation 2 VM with 40 GB disk
New-VM -Name "melt-machine" -Generation 2 `
  -MemoryStartupBytes 4GB `
  -NewVHDPath "C:\HyperV\melt-machine.vhdx" `
  -NewVHDSizeBytes 40GB `
  -SwitchName "Default Switch"

Set-VM -Name "melt-machine" -ProcessorCount 2
Set-VMMemory -VMName "melt-machine" -DynamicMemoryEnabled $false

# disable Secure Boot so the VM can boot the .iso
Set-VMFirmware -VMName "melt-machine" -EnableSecureBoot Off

# enable nested virtualization for Elastic Pools
Set-VMProcessor -VMName "melt-machine" -ExposeVirtualizationExtensions $true

# remove the default empty DVD drive, add one with the ISO, and boot from it
Get-VMDvdDrive -VMName "melt-machine" | Remove-VMDvdDrive
Add-VMDvdDrive -VMName "melt-machine" -Path "C:\path\to\enrollment-image-amd64.iso"
$dvd = Get-VMDvdDrive -VMName "melt-machine"
Set-VMFirmware -VMName "melt-machine" -FirstBootDevice $dvd

Start-VM -Name "melt-machine"

# open the VM console
vmconnect localhost "melt-machine"

Option B: Hyper-V Manager

Enable Hyper-V

  1. Open Settings → Apps → Optional Features → More Windows Features.
  2. Check Hyper-V and click OK.
  3. Reboot when prompted.

Hyper-V is available on Windows 10/11 Pro, Enterprise, and Education editions.

Create the VM

  1. Open Hyper-V Manager and click New → Virtual Machine in the right panel.

  2. Name: give the VM a name (e.g. melt-nest or melt-machine).

    Hyper-V: name

  3. Generation: select Generation 2.

    Hyper-V: generation

  4. Memory: set the startup memory (see VM Settings above). Uncheck Use Dynamic Memory for this virtual machine.

    Hyper-V: memory

  5. Networking: select Default Switch.

    Hyper-V: networking

  6. Virtual Hard Disk: create a new disk with the size from the table above.

    Hyper-V: disk

  7. Installation Options: select Install an operating system from a bootable image file and browse to your .iso (Nest installer or Enrollment Image).

    Hyper-V: installation options

  8. Click Finish.

Before starting the VM, right-click it and open Settings:

  • Security: uncheck Enable Secure Boot.

    Hyper-V: disable Secure Boot

  • Processor: set the number of virtual processors (see VM Settings above).

    Hyper-V: processor settings

  • Click Apply to save the settings.

Nested virtualization (Elastic Pools)

For Machines that will host Elastic Pools, nested virtualization must be enabled via PowerShell (there is no GUI toggle):

powershell
Set-VMProcessor -VMName "melt-machine" -ExposeVirtualizationExtensions $true

Start the VM.

Next Steps

  • Nest: follow the on-screen TUI installer. In the Networking tab, select Static IPs instead of the default DHCP (see warning above).
  • Machine: after it boots from the Enrollment Image it enrolls automatically and appears under Machines. Continue with Assign to a Machine Pool.

Other Virtualization Tools

VirtualBox

VirtualBox's default NAT networking mode does not allow the host to reach the VM. Since you typically need to access the Nest web UI from the host, this makes VirtualBox impractical for running a Nest without extra port-forwarding configuration. Hyper-V is the recommended option on Windows.

VMware Workstation

VMware Workstation should work for both Nest and Machine VMs. By default VMware creates VMs with a BIOS firmware: change the boot mode to UEFI in the VM settings before first boot (VM Settings → Options → Advanced → Firmware type → UEFI). For the Nest, configure Static IPs in the installer as VMware's NAT DHCP likely has the same lease persistence issue as Hyper-V.

Troubleshoot

If the VM has trouble booting or enrolling, check the Enrollment Images – Troubleshooting section.