Learn how to create a virtual machine by using Hyper-V Manager and Windows PowerShell and what options you have when you create a virtual machine in Hyper-V Manager.
Create a virtual machine
Open Hyper-V Manager.
In the left pane, under Hyper-V Manager, select your server.
From the Actions pane, select New, and then select Virtual Machine.
From the New Virtual Machine Wizard, select Next.
Make the appropriate choices for your virtual machine on each of the pages. For more information, see New virtual machine options and defaults in Hyper-V Manager.
After verifying your choices in the Summary page, select Finish.
In Hyper-V Manager, right-click the virtual machine and select Connect....
In the Virtual Machine Connection window, select Action > Start.
On the Windows desktop, select the Start button and type Windows PowerShell.
Right-click on Windows PowerShell and select Run as administrator.
Get the name of the virtual switch that you want the virtual machine to use by using the Get-VMSwitch cmdlet:
Get-VMSwitch * | Format-Table Name
Use the New-VM cmdlet to create the virtual machine. See the following examples:
Note
If you move this virtual machine to a Hyper-V host that runs Windows Server 2012 R2, use the -Version parameter with New-VM to set the virtual machine configuration version to 5. The default virtual machine configuration version for Windows Server 2016 isn't supported by Windows Server 2012 R2 or earlier versions. You can't change the virtual machine configuration version after the virtual machine is created. For more information, see Supported virtual machine configuration versions.
Existing virtual hard disk - To create a virtual machine with an existing virtual hard disk, you can use the following command where,
-Name is the name that you provide for the virtual machine that you're creating.
-MemoryStartupBytes is the amount of memory that is available to the virtual machine at start up.
-BootDevice is the device that the virtual machine boots to when it starts like the network adapter (NetworkAdapter) or virtual hard disk (VHD).
-VHDPath is the path to the virtual machine disk that you want to use.
-Path is the path to store the virtual machine configuration files.
-Generation is the virtual machine generation. Use generation 1 for VHD and generation 2 for VHDX. See Should I create a generation 1 or 2 virtual machine in Hyper-V?.
-Switch is the name of the virtual switch that you want the virtual machine to use to connect to other virtual machines or the network. See Create a virtual switch for Hyper-V virtual machines.
New-VM -Name <Name> -MemoryStartupBytes <Memory> -BootDevice <BootDevice> -VHDPath <VHDPath> -Path <Path> -Generation <Generation> -Switch <SwitchName>
For example:
New-VM -Name TestVM -MemoryStartupBytes 4GB -BootDevice VHD -VHDPath .\VMs\Test.vhdx -Path .\VMData -Generation 2 -Switch ExternalSwitch
This creates a generation 2 virtual machine named TestVM with 4 GB of memory. It boots from the folder VMs\Test.vhdx in the current directory and uses the virtual switch named ExternalSwitch. The virtual machine configuration files are stored in the folder VMData.
New virtual hard disk - To create a virtual machine with a new virtual hard disk, replace the -VHDPath parameter from the previous example with -NewVHDPath and add the -NewVHDSizeBytes parameter. For example,
New-VM -Name TestVM -MemoryStartupBytes 4GB -BootDevice VHD -NewVHDPath .\VMs\Test.vhdx -Path .\VMData -NewVHDSizeBytes 20GB -Generation 2 -Switch ExternalSwitch
New virtual hard disk that boots to operating system image - To create a virtual machine with a new virtual disk that boots to an operating system image, see the PowerShell example in Create virtual machine walkthrough for Hyper-V on Windows.
Start the virtual machine by using the Start-VM cmdlet. Run the following cmdlet where Name is the name of the virtual machine you created:
Start-VM -Name <Name>
For example:
Start-VM -Name TestVM
Connect to the virtual machine by using Virtual Machine Connection (VMConnect):
VMConnect.exe <ServerName> <VMName>
For example:
VMConnect.exe localhost "TestVM"
Options in Hyper-V Manager New Virtual Machine Wizard
The following table lists the options you can pick when you create a virtual machine in Hyper-V Manager and the defaults for each.
Page |
Default for Windows Server 2016, Windows 10, and later |
Other options |
Specify Name and Location |
Name: New Virtual Machine. Location: C:\ProgramData\Microsoft\Windows\Hyper-V\. |
You can also enter your own name and choose another ___location for the virtual machine. This is where the virtual machine configuration files are stored. |
Specify Generation |
Generation 1 |
You can also choose to create a Generation 2 virtual machine. For more information, see Should I create a generation 1 or 2 virtual machine in Hyper-V?. |
Assign Memory |
Startup memory: 1024 MB Dynamic memory: not selected |
You can set the startup memory from 32 MB to 5902 MB. You can also choose to use Dynamic Memory. For more information, see Hyper-V Dynamic Memory Overview. |
Configure Networking |
Not connected |
You can select a network connection for the virtual machine to use from a list of existing virtual switches. See Create a virtual switch for Hyper-V virtual machines. |
Connect Virtual Hard Disk |
Create a virtual hard disk Name: <vmname>.vhdx Location: C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\ Size: 127 GB |
You can also choose to use an existing virtual hard disk or wait and attach a virtual hard disk later. |
Installation Options |
Install an operating system later |
These options change the boot order of the virtual machine so that you can install from an .iso file, bootable floppy disk or a network installation service, like Windows Deployment Services (WDS). |
Summary |
Displays the options that you chose, so that you can verify they're correct. - Name - Generation - Memory - Network - Hard Disk - Operating System |
Tip: You can copy the summary from the page and paste it into e-mail or somewhere else to help you keep track of your virtual machines. |
Related content