Powershell | Repair Vhdx
[Parameter(Mandatory=$false)] [string]$BackupPath = "$env:TEMP\vhdx_backup_$(Get-Date -Format 'yyyyMMdd_HHmmss').vhdx" ) if (-not (Get-Module -ListAvailable -Name Hyper-V)) Write-Error "Hyper-V PowerShell module is required." exit 1
Optimize-VHD -Path "C:\VHDX\suspect.vhdx" -Mode Full If a differencing VHDX is corrupt and its parent is healthy: repair vhdx powershell
# Recreate the differencing disk from healthy parent $parentPath = "D:\BaseImages\parent.vhdx" $newChildPath = "E:\VMs\newchild.vhdx" New-VHD -ParentPath $parentPath -Path $newChildPath -Differencing Advanced Script: Auto-Repair with Backup Fallback <# .SYNOPSIS Attempts to repair a VHDX file, falling back to a backup copy. .DESCRIPTION Uses Repair-VHD if possible. If that fails, mounts the VHDX read-only, runs chkdsk, and then replaces with a backup if corruption persists. #> param( [Parameter(Mandatory=$true)] [string]$VhdPath, mounts the VHDX read-only