Skip to contentGo to the directory tree
  1. C:
  2. Users
  3. Public
  4. Documents\Hyper-V\Virtual Hard Disks
FolderRisk: Caution

Documents\Hyper-V\Virtual Hard Disks C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks

Former default location of Hyper-V virtual hard disks (.vhd, .vhdx); Hyper-V also runs on Windows 10 and 11, not only on Windows Server.

Updated on By AltF4 Formation

What it’s for

Hyper-V virtual hard disks (.vhd, .vhdx) were created here by default on the first releases of the role, under the Public documents folder. Recent versions default to C:\ProgramData\Microsoft\Windows\Virtual Hard Disks, so you mostly meet this folder on older, migrated or hand-configured hosts. Hyper-V is available on client editions (Pro, Enterprise, Education) as well as on Windows Server, so the folder is not server-specific.

What it contains

  • The .vhd and .vhdx files of the virtual machines, including the differencing disks (.avhdx) created by checkpoints.
  • A disk is referenced by its full path in the VM configuration: moving it by hand breaks the link.
  • Configuration files (.vmcx, .vmrs) are not stored here; they live in the VM configuration folder, see Get-VMHost.

Risks and best practices

  • The folder sits under Public and is readable by every local user: a copy of a virtual disk exposes the whole VM (password hashes, secrets). Move VM storage to a dedicated volume with restricted permissions.
  • To relocate a disk, shut the VM down and use Move-VMStorage or Move-VHD instead of Explorer, so the configuration is updated and the VM-specific ACLs are kept.
  • Change the host default with Set-VMHost so new VMs no longer land here.

Useful commands

Fenêtre de terminal
# Default locations configured on the host
Get-VMHost | Select-Object VirtualHardDiskPath, VirtualMachinePath
# Disks used by each VM
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path
# Disk details (maximum size, actual size, parent if any)
Get-VHD -Path 'C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\vm01.vhdx'
# New default location (as administrator)
Set-VMHost -VirtualHardDiskPath 'D:\Hyper-V\Disks' -VirtualMachinePath 'D:\Hyper-V\VM'

Report a mistake