Primeiro tentei copiar e executar o cleanmgr.exe (ferramenta de limpeza de disco), mas ele tem muitas dependências nas DLLs que não estão presentes no servidor Core / Hyper-V.
Então, eu apaguei o diretório manualmente.
Primeiro, removi todos os pontos de junção e links simbólicos. Para fazer isso eu usei junction.exe da SysInternals. Copie o exe em um diretório em seu caminho. Eu corri para obter uma lista de todas as junções:
c:\tools\junction.exe -s -q C:\windows.old > %temp%\junc.txt
Eu abri um PowerShell:
start powershell.exe
e executou o seguinte script para encontrar as linhas relevantes e executar o junction.exe novamente:
foreach ($line in [System.IO.File]::ReadLines("$env:temp\junc.txt"))
{
if ($line -match "^\\")
{
$file = $line -replace "(: JUNCTION)|(: SYMBOLIC LINK)",""
& c:\tools\junction.exe -d "$file"
}
}
Isso removeu todos os pontos de junção e o único link simbólico no meu sistema.
de volta em cmd.exe Agora eu executei três comandos para limpar as permissões e excluir todos os arquivos:
takeown /F C:\windows.old /R /D Y
cacls C:\windows.old /T /G Everyone:F
rd /s /q C:\windows.old
No meu teste, instalei um novo servidor Hyper-V 2012, depois atualizei para o 2012 R2, o Windows.old desapareceu e o sistema está funcionando bem com todos os antigos destinos de junção intactos.