He instalado Hyper-V Server 2012 R2 en un servidor que tenía Hyper-V Server 2012. Cuando hice esto, Windows.old
se creó la carpeta estándar . Ahora me gustaría eliminar esa carpeta de forma segura. La forma estándar de hacerlo con una GUI completa sería usar el Liberador de espacio en disco, pero, por supuesto, no tengo esa opción en el servidor Hyper-V.
¿Hay alguna forma formal de eliminar esa carpeta en este escenario? Sé que si se tratara de Server Core, podría instalar la GUI completa, incluida Desktop Experience, pero eso sería una gran tontería solo para eliminar limpiamente una carpeta.
Mi razón principal para preguntar, en lugar de solo hacer rmdir /s
o algo así, es que la Windows.old
carpeta tiene muchas uniones, y no quiero romper nada en la copia del sistema operativo de producción como parte de esto.
fuente
Respuestas:
Primero intenté copiar y ejecutar cleanmgr.exe (herramienta de limpieza de disco), pero tiene demasiadas dependencias en DLL que no están presentes en el servidor Core / Hyper-V.
Entonces, en su lugar, eliminé el directorio manualmente.
Primero eliminé todos los puntos de unión y enlaces simbólicos. Para hacer esto, utilicé junction.exe de SysInternals. Copie el exe en un directorio en su ruta. Lo ejecuté para obtener una lista de todos los cruces:
Abrí un PowerShell:
y ejecuté el siguiente script para encontrar las líneas relevantes y ejecutar junction.exe nuevamente:
Esto eliminó todos los puntos de unión y el enlace simbólico único en mi sistema.
De vuelta en cmd.exe ahora ejecuté tres comandos para borrar los permisos y eliminar todos los archivos:
En mi prueba, instalé un nuevo servidor Hyper-V 2012, luego actualicé a 2012 R2, Windows.old ahora desapareció y el sistema funciona bien con todos los viejos objetivos de unión intactos.
fuente
takeown
existe, lo cual me da un poco de vergüenza admitir que no sabía.Utilicé la respuesta de Peter H y confirme que funciona, sin embargo, necesitaba hacerlo en varios servidores, por lo que modifiqué su código en un script de PowerShell que se puede ejecutar localmente o mediante comunicación remota de PS desde otra máquina. Este es el archivo .ps1:
fuente