0XC03A0015

0XC03A0015: Not a Virtual Disk Error in Hyper-V Fix

Hardware – Hard Drives Intermediate 👁 0 views 📅 May 28, 2026

This error pops up when Hyper-V can't talk to a VHDX file. It's usually a permissions or path issue. Here's how to fix it quick.

When This Error Hits

You're trying to attach a VHDX file to a Hyper-V virtual machine, maybe after a server reboot or moving the VM to a new host. You right-click, select Settings, point to the VHDX path, click Apply—and bam. Hyper-V Manager throws back STATUS_VIRTDISK_NOT_VIRTUAL_DISK (0xC03A0015). The message says the specified disk isn't a virtual disk. But you know it's a VHDX. You created it yourself. This happened to me last month on a Windows Server 2022 box after copying VMs to a new storage array.

The trigger is almost always one of three things: the VHDX file is actually a differencing disk and the parent is missing, the file permissions are locked down by a security tool, or the file path got corrupted during a move. Don't waste time re-creating the disk.

Root Cause in Plain English

Hyper-V checks a VHDX file's header when you attach it. If it can't read the header—because of permissions, a broken chain, or a path mismatch—it assumes the file isn't a valid virtual disk. The error code 0xC03A0015 means the FileObject passed to the virtual disk driver doesn't point to a recognized VHD or VHDX. This often happens when the file is stored on a network share, and the Hyper-V service doesn't have the right security context to access it. Or, if you're using differencing disks, and the parent disk's path is different from what the child expects.

I've also seen this pop up when antivirus software locks the VHDX file during a real-time scan. The driver sees the file but can't open it exclusively.

Step-by-Step Fix

Step 1: Check File Permissions

  1. Right-click the VHDX file in File Explorer and select Properties.
  2. Go to the Security tab.
  3. Click Advanced to see all permission entries.
  4. Make sure the following accounts have Full Control or at least Read & Execute and Read:
    • SYSTEM
    • Administrators
    • The account running the Hyper-V Virtual Machine Management service (usually NT VIRTUAL MACHINE\Virtual Machines).
  5. If you see Deny entries for any of these, remove them.
  6. Click OK to apply changes.

Step 2: Verify the VHDX Isn't a Differencing Disk with a Broken Parent

  1. Open PowerShell as Administrator.
  2. Run this command to inspect the VHDX:
    Get-VHD -Path "C:\Path\To\YourDisk.vhdx"
  3. If the output shows ParentPath with a value, then it's a differencing disk. The parent disk must be accessible at that path.
  4. Check if the parent path exists. If it doesn't, you need to either restore the parent or reconnect the differencing disk to a new parent using:
    Set-VHD -Path "C:\Path\To\YourDisk.vhdx" -ParentPath "C:\New\ParentPath.vhdx"
  5. If you don't need the differencing chain, merge the changes into the parent or convert the VHDX to a fixed-size disk.

Step 3: Disable Antivirus Real-Time Scanning Temporarily

If you're running something like Defender for Endpoint or CrowdStrike, try excluding the VHDX file and its folder from real-time scanning. Then attempt to attach the disk again. I've seen this resolve the error immediately on Windows 11 23H2 with a third-party AV.

Step 4: Repair the VHDX

  1. In PowerShell, run:
    Repair-VHD -Path "C:\Path\To\YourDisk.vhdx"
  2. This checks the file header and footer. If it finds corruption, it'll attempt to fix it. Note: this only works on VHDX files, not older VHDs.

Step 5: Reattach Using PowerShell Directly

Sometimes Hyper-V Manager's GUI is the problem. Try mounting the disk via PowerShell:

Mount-VHD -Path "C:\Path\To\YourDisk.vhdx"

If that works, you can then add it to the VM through the GUI or via Add-VMHardDiskDrive.

If It Still Fails

Check the Hyper-V logs in Event Viewer under Applications and Services Logs > Microsoft > Windows > Hyper-V-VMMS > Admin. Look for event ID 18560—it'll give you the exact reason Hyper-V rejected the file. Common entries include "Access denied" or "The file is not a valid virtual hard disk." If the logs point to a missing parent disk, your differencing chain is toast. In that case, you'll need to rebuild the VM from the last known good parent snapshot.

One last thing—if the VHDX file is on a ReFS volume that's been deduplicated, disable deduplication for that file. Hyper-V can't handle deduped VHDX files reliably. I learned that the hard way on a Storage Spaces Direct cluster.

Was this solution helpful?