Repair-VHD -Path "C:\CorruptedVMs\server01.vhdx" -Path "D:\Backups\healthy_server01.vhdx" -Passthru
Optimize-VHD -Path "C:\VHDX\suspect.vhdx" -Mode Full If a differencing VHDX is corrupt and its parent is healthy: repair vhdx powershell
[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 Repair-VHD -Path "C:\CorruptedVMs\server01
# Get the volume letter (e.g., F:) chkdsk F: /f /r /x For non-structural corruption (e.g., block allocation issues): repair vhdx powershell
Import-Module Hyper-V -Force Copy-Item -Path $VhdPath -Destination $BackupPath -Force Write-Host "Original VHDX backed up to $BackupPath" Step 2: Try Repair-VHD try Write-Host "Attempting Repair-VHD..." $result = Repair-VHD -Path $VhdPath -Path $HealthyCopyPath -Passthru -ErrorAction Stop Write-Host "Repair-VHD succeeded. State: $($result.State)" exit 0