Creating a new virtual hard disk is almost always included as a step during the creation of the virtual machine that owns it. It’s certainly not the only time or the only way that you can create a VHDX. You don’t necessarily need to attach it to a virtual machine, however, as Hyper-V Manager has a complete management system for virtual hard disks whether or not they have a connection to a virtual machine. You can use it to create both standalone virtual hard disks and disks directly attached to a virtual machine. PowerShell also offers similar functionality.

Use Hyper-V Manager to Create a New Virtual Disk Directly on a Virtual Machine

To get started, open Hyper-V Manager and choose your desired creation method from one of the next two sections.

  1. In Hyper-V Manager’s center pane, right-click a virtual machine and click Settings.

    Access VM Settings

    Access VM Settings

  2. In the left pane of the VM’s Settings dialog, click to select the controller that you wish to connect the new disk to. Remember that you cannot make changing to the disk configuration of an IDE controller while the virtual machine is on, but this is not a restriction for the SCSI controller.
    The following two screen shots show the IDE screen and the SCSI screen, respectively. On either, click the Add button (for an IDE controller, make sure that Hard Drive is highlighted).

    Add VHD on IDE

    Add VHD on IDE

    Add VHD to SCSI

    Add VHD on SCSI

  3. Whichever you chose, the following screen will appear:
    Disk Connection

    Disk Connection

    Notice that the connection information for Controller is the controller that you selected in step 2 and the Location is the next available on that controller. You can freely switch either here, with the limitation that you can’t add to an IDE controller while the VM is on and you can’t use a location that already has a disk attached. When ready, click the New button.

  4. This will open the New Virtual Hard Disk Wizard. Jump down to the New Virtual Hard Disk Wizard section below to finish up.

Using Hyper-V Manager to Create a Standalone Virtual Hard Disk

To create a new standalone virtual hard disk, there’s only a single that that you need to do to open the wizard. In Hyper-V Manager, in the Actions pane at the far right, click New then Virtual Hard Disk.

Add New VHD

Add New VHD

New Virtual Hard Disk Wizard

Whichever method you chose above, you’ll now be looking at the New Virtual Hard Disk Wizard. Follow the steps below to actually create the virtual hard disk.

  1. The first screen that appears is informational unless it was previously suppressed via the Do not show this page again checkbox. When ready, click Next.
  2. If you aren’t adding the disk to a Generation 2 virtual machine, the first active screen is the Choose Disk Format page. This allows you to choose between the earlier VHD format or the newer VHDX format. Unless you need to use the disk on a pre-2012 version of Hyper-V or share it with a third party hypervisor that can’t understand VHDX, you’ll likely want to choose VHDX. Make your choice and click Next.

    New VHD Format

    New VHD Format

  3. The next screen is Choose Disk Type. Your options are between fixed size, dynamically expanding, and differencing.

    New VHD Type

    New VHD Type

  4. Next, you’ll be asked to provide the name and location for your new virtual hard disk.

    New VHD Name and Location

    New VHD Name and Location

  5. If you are creating a new differencing disk, the next screen will ask you to select the parent virtual hard disk.

    New VHD Parent

    New VHD Parent

  6. If you chose either a fixed size or a dynamically expanding disk, you’ll be brought to the Configure Disk screen.
    New VHD Source

    New VHD Source

    You have three options:

    1. Create a new blank virtual hard disk does exactly that. You’ll need to supply the size for the disk that you wish to create.
    2. You can also choose to copy an existing physical disk’s contents to the file that you specified in step 4.
    3. The final option is like the second except that the source is an existing VHD file.
  7. The final screen is a summary. Review the settings, click Back if you need to correct anything.

Creating a VHDX in PowerShell

Use the New-VHD cmdlet to create the VHD, then Add-VMHardDiskDrive to attach it.

New VHD Creation Notes

VHD creation is a fairly easy-to-understand process but there are a few things to be mindful of.

  • If you create a disk using a virtual machine’s Settings page, the wizard will automatically pre-populate with the new disk file when it is finished creating.
  • If you create a new disk from a physical disk or another virtual disk, the new VHD is built up from scratch. If it’s dynamically expanding, any empty blocks in the source will not be duplicated in the new disk. This means that it will likely be smaller than the original.
  • The new disk that you create does not need to be in the same location or on the same storage as any of a virtual machine’s other files.
  • A new differencing disk’s parent cannot be actively in use by any virtual machine, although it can be a parent of other differencing disks.
  • For Linux virtual machines, it is recommended that you specify -BlockSize 1MB for dynamically-expanding virtual hard disks. You can only provide this option with PowerShell’s New-VHD. None of the GUI tools allows for a block size override. Due to the way that common Linux file systems work, this switch will result in more efficient space utilization.