먼저 cleanmgr.exe (디스크 정리 도구)를 복사하여 실행하려고했지만 Core / Hyper-V Server에없는 DLL에 너무 많은 종속성이 있습니다.
대신 디렉토리를 수동으로 삭제했습니다.
먼저 모든 접합점과 심볼릭 링크를 제거했습니다. 이를 위해 SysInternals의 junction.exe 를 사용했습니다 . exe를 경로의 디렉토리에 복사하십시오. 모든 정션 목록을 얻기 위해 실행했습니다.
c:\tools\junction.exe -s -q C:\windows.old > %temp%\junc.txt
PowerShell을 열었습니다.
start powershell.exe
다음 스크립트를 실행하여 관련 줄을 찾아 junction.exe를 다시 실행하십시오.
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"
}
}
이로 인해 시스템의 모든 연결 지점과 단일 심볼릭 링크가 제거되었습니다.
cmd.exe로 돌아가서 권한을 지우고 모든 파일을 삭제하는 세 가지 명령을 실행했습니다.
takeown /F C:\windows.old /R /D Y
cacls C:\windows.old /T /G Everyone:F
rd /s /q C:\windows.old
테스트에서 새 Hyper-V 서버 2012를 설치 한 다음 2012 R2로 업그레이드하면 Windows.old가 사라지고 모든 기존 정션 대상이 그대로 유지되면서 시스템이 제대로 실행됩니다.