This feature currently requires the experimental flag to be used. To explicitly enable this feature, you can set the experimental flag to:


Please note that VAGRANT_EXPERIMENTAL is an environment variable. For more information about this flag visit the Experimental docs page for more info. Without this flag enabled, any disks defined will not be configured.

For examples of how to use the disk feature with Hyper-V, please refer to the general disk usage guide for more examples.

»provider_config options

Most options are used for either creating or attaching a hard disk to your guest. Vagrant supports most options for these operations. You should be able to define the powershell specific argument to a given Hyper-V command in the provider_config hash, and Vagrant should properly pass it along to the command.

To define a provider specific option, please refer to the Disk Options documentation page for more info.

»Note about options defined below

It is possible these options could be out of date or stale. If you happen to see an option that has changed or is missing from this page, please open an issue or pull request on Vagrants GitHub page to correct this.

»New-VHD Supported Options

For more information about each option, please visit the New-VHD Hyper-V documentation.

Note: By default, all Hyper-V disks are defined as a Dynamic virtual hard disk. If you wish to make the disk a fixed size, you can set the Fixed option below when creating a new disk.

  • BlockSizeBytes (string) - Optional argument, i.e. "128MB"
  • Differencing (bool) - If set, the disk will be used to store differencing changes from parent disk (must set ParentPath)
  • Fixed (bool) - If set, the disk will be a fixed size, not dynamically allocated.
  • LogicalSectorSizeBytes (int) - Optional argument, must be either 512 or 4096
  • ParentPath (string) - The parent disk path used if a Differencing disk is defined
  • PhysicalSectorSizeBytes (string) - Optional argument, must be either 512 or 4096
  • SourceDisk (int) - Existing disk to use as a source for the new disk

»Add-VMHardDiskDrive Supported Options

For more information about each option, please visit the Add-VMHardDiskDrive Hyper-V documentation

Generally, these options do not need to be set or handled by most users. Only use these options if you are sure you know what you are doing. Vagrant will be able to attach disks for you without these options, but they are available if it is required that you specify a specific location for a disk.

  • ControllerLocation (int) - The location that the disk should be attached to on the controller
  • ControllerNumber (int) - The controller to use for attaching the disk
  • ControllerType (string) - The kind of controller to use when attaching the a disk. Only "IDE" and "SCSI" are valid.