Windows.old mappa törlése

írta: sanzi89, 9 éve

Ha használtunk egy Windows Server 2012 rendszert, amit az idők folyamán frissítettünk Windows Server 2012 R2-re, akkor láthatjuk, hogy a rendszer meghajtón található egy Windows.old mappa. Amennyiben a frissítés után eltelt már valamennyi idő és leteszteltük az R2-es rendszer stabil és hibamentes működését, akkor a továbbiakban erre a Windows.old mappára nincs szükségünk, mely sok gigabyte értékes helyet foglal a hostunkon. Nézzük, miként is kell helyesen eltávolítani. Megjegyzésként más Windows OS esetén is előkerülhet ez a kérdés, elméletileg nem kell, hogy különbség legyen a különböző OS-ek esetén, de én csak Windows Server 2012-őn próbáltam ki a lépéseket.

1. Töltsük le a Junction alkalmazást. Tegyük mondjuk a C gyökerébe, elérés útja így az alábbi lesz miután kicsomagoltuk: C:\junction.exe Ezzel az alkalmazással először eltávolítjuk az NTFS junction point-okat és a symbolik linkeket. Nyissunk egy paranccsort rendszergazdaként és adjuk ki az alábbi parancsot:

c:\junction.exe -s -q C:\windows.old > %temp%\junc.txt

2. Indítsunk egy Windows Powershell ISE szerkesztőt rendszergazdaként.

3. A kódszerkesztő részhez másoljuk be az alábbi kódot:

foreach ($line in [System.IO.File]::ReadLines("$env:temp\junc.txt"))
{
if ($line -match "^\\\\")
{
$file = $line -replace "(: JUNCTION)|(: SYMBOLIC LINK)",""
& c:\junction.exe -d "$file"
}
}

Majd kattintsunk az eszköztár Run Script lehetőségére.

4. Miután ezzel is végeztünk nyissunk újra egy parancssort rendszergazdaként és másoljuk be az alábbi parancsokat:

takeown /F C:\windows.old /R /D Y
cacls C:\windows.old /T /G Everyone:F
rd /s /q C:\windows.old

5. És kész is vagyunk, elvileg. Nálam előfordult egy VM esetén, hogy rd nem tudott bizonyos mappákat törölni. Ilyenkor próbálkozhatunk bármilyen módon, hogy töröljük az egy-két visszamaradt fájlt/mappát, azonban nálam egyik sem hozott sikert. Miután lefuttattam egy Checkdisk-et az említett meghajtón simán Intézőből tudtam törölni az előtte törölhetetlen állományokat.