After move your VHD, parent VHD is missing.

Some virtualization programs (Hyper-V, Virtual Server and Windows VPC) dont permit alter parent VHD.

This script resolve it.

Visual Basic
Edit|Remove
Option Explicit
 
'Constantes para cada tipo de disco
CONST Dinamico = 0
CONST Fixo = 1
CONST Diferencial = 2
 
dim ObjetoVS, VHD, ParentVHD, ParametroVHD, ParametroParentVHD
 
'Le os comandos passados por linha de comando
If WScript.Arguments.Count <> 2 Then
 Wscript.Echo "É necessário 2 parametros: <VHD com problema> e <VHD parent>, sendo os dois com o path completo"
Else
 ParametroVHD = WScript.Arguments.Item(0)
 ParametroParentVHD = WScript.Arguments.Item(1)
 
 'Abre o objeto COM do software instalado
 'VirtualPC.Application - Caso vc tenho o Vitual PC, incluindo do Windows 7
 'VirtualServer.Application - Caso vc tenho o Virtual Server
 Set ObjetoVS = CreateObject("VirtualPC.Application")
 
 'Abre os VHDs
 set VHD = ObjetoVS.GetHardDisk(ParametroVHD)
 set ParentVHD = ObjetoVS.GetHardDisk(ParametroParentVHD)
  
 'Altera a referencia no cabeçalho do VHD
 if VHD.type = Diferencial then
    VHD.Parent = ParentVHD 
    wscript.echo "VHD Parent alterado no " + ParametroVHD + " para " + ParametroParentVHD
 end if
End If