Articles

Limpieza de disco en Windows Server

Con el tiempo, a medida que el servidor de Windows se ejecuta durante más tiempo, se consume cada vez más espacio en disco. ¡Simplemente se fue! Investigar el uso del disco le deja sin idea; no hay archivos de registro grandes, volcados de fallos o no hay software que eliminar. ¿A dónde fue ese espacio?

La respuesta: Actualizaciones de Windows, Service Pack e instalaciones de revisiones.

Protip: esta publicación también muestra cómo mover la carpeta de distribución de software de Windows Server y la carpeta de documentos del usuario a una partición diferente.

Limpieza de WinSxS en Windows Server-mediante DISM y PowerShell #

La utilidad de limpieza de disco de Windows cleanmgr no está disponible en Windows Server 2012 si la función Experiencia de escritorio no está instalada. Esto hace que limpiar el espacio de disco usado sea un poco más difícil. Puede utilizar la línea de comandos cmd.exe o PowerShell, y usar Administración y mantenimiento de imágenes de implementación (DISM) para limpiar el almacén de componentes de Windows (WinSxS) en Windows Server 2012 y versiones posteriores.

La carpeta WinSxS se encuentra en la carpeta de Windows, por ejemplo C:\Windows\WinSxS. Es la ubicación de los archivos del almacén de componentes de Windows.

El almacén de componentes de Windows contiene todos los archivos necesarios para una instalación de Windows. Además, las actualizaciones de esos archivos también se guardan en el almacén de componentes a medida que se instalan las actualizaciones (fuente: KB 2795190 – y lea Administrar el almacén de componentes). La carpeta WinSxS se volverá grande

¡Limpiemos WinSxS!

Recupere el espacio de disco utilizado con el Servicio y Administración de Imágenes de implementación (DISM)#

Rituales de limpieza después del desfile
Rituales de limpieza después del desfile. Imagen a través de Flickr de Pabak Sarkar

Dism Disk cleanup: Administración y servicio de imágenes de implementación (DISM) es una herramienta de línea de comandos que le permite instalar, desinstalar, configurar y actualizar características, paquetes, controladores y configuraciones internacionales de Windows. El parámetro /Cleanup-Image de dism.exe proporciona a los usuarios avanzados más opciones para reducir aún más el tamaño de la carpeta WinSxS.

El Dism.exe /Online /Cleanup-Image tiene un extra de unos pocos parámetros (o interruptores):

  • /AnalyzeComponentStore
  • /StartComponentCleanup
  • /ResetBase/StartComponentCleanup
  • /SPSuperseded

a lo Largo de este artículo, supongo que te voy a leer las opciones de ayuda, sólo tiene que añadir /?, por ejemplo: dism.exe /Online /Cleanup-Image /?.

Si disfrutó de esto, también puede disfrutar de la siguiente publicación que resume 5 formas adicionales de limpiar el espacio en disco en Windows Server.

Analizar la carpeta WinSxS (Almacén de componentes) con /AnalyzeComponentStore#

Primero puede usar el parámetro /AnalyzeComponentStore. Esto analiza el tamaño del Almacén de componentes en Windows. La opción AnalyzeComponentStore está disponible en Windows 8.1 Windows Server 2012 R2 y le notificará si se recomienda o no una Limpieza del almacén de componentes.

dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Code language: PowerShell (powershell)
dism.exe /online /Cleanup-Image /AnalyzeComponentStore
dism.exe /online /Cleanup-Image /AnalyzeComponentStore

In the above image, AnalyzeComponentStore recommends a Component Store Cleanup. Let’s do so.

/StartComponentCleanup parameter#

Dism.exe removes superseded and unused system files from a system with the /StartComponentCleanup parameter.

dism.exe /Online /Cleanup-Image /StartComponentCleanup
Code language: PowerShell (powershell)
dism.exe /online /Cleanup-Image /StartComponentCleanup
dism.exe / online /Cleanup-Image/StartComponentCleanup

También hay una tarea programada registrada llamada StartComponentCleanup. Usted puede comenzar esta tarea desde la línea de comandos:

schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
Code language: PowerShell (powershell)

El /StartComponentCleanup parámetro es compatible con Windows 8, Windows Server 2012 y hasta.

Usando el parámetro / StartComponentCleanup de Dism.exe en Windows 10 le da resultados similares a ejecutar la tarea StartComponentCleanup en el Programador de tareas, excepto que las versiones anteriores de los componentes actualizados se eliminarán inmediatamente (sin un período de gracia de 30 días) y no tendrá una limitación de tiempo de espera de 1 hora.

Desde un símbolo del sistema con privilegios elevados, escriba lo siguiente:Copiar

Dism.exe /online /Cleanup-Image /StartComponentCleanup
Code language: PowerShell (powershell)

/conmutador ResetBase con el parámetro /StartComponentCleanup#

Usando el /ResetBase conmutador con el /StartComponentCleanup parámetro de dism.exe, se eliminan todas las versiones reemplazadas de cada componente en el almacén de componentes.

dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Code language: PowerShell (powershell)
dism.exe / online / Cleanup-Image / StartComponentCleanup / ResetBase
dism.exe / online /Cleanup-Image /StartComponentCleanup/ResetBase

Todos los service packs y actualizaciones existentes no se pueden desinstalar después de completar este comando. Esto no bloqueará la desinstalación de futuros service packs o actualizaciones.

El parámetro/ResetBase es compatible con Windows 8.1 y Windows Server 2012 R2.

/ parámetro SPSuperseded #

El parámetro/SPSuperseded elimina todos los componentes de copia de seguridad necesarios para la desinstalación de un service pack. El service pack no se puede desinstalar después de completar este comando.

dism.exe /Online /Cleanup-Image /SPSuperseded
Code language: PowerShell (powershell)

El Service Pack no se puede desinstalar después de completar este comando.

El parámetro /SPSuperseded es compatible con Windows 7 o Windows Server 2008 R2 Service Pack 1, 2012, 2012 R2.

La opción /AnalyzeComponentStore está disponible en Windows 8.1 y Windows Server 2012 R2. Utilice esto para analizar el tamaño del Almacén de componentes (carpeta WinSxS) en Windows.

La herramienta de limpieza de disco está disponible en Windows Server 2012, pero no en Windows Server 2012 R2#

Como se mencionó al principio de este artículo, la Herramienta de limpieza de disco está disponible en Windows Server 2012, si instala la función Experiencia de escritorio.

En algunas versiones de Windows Server, usted puede simplemente copiar cleanmgr.exe y cleanmgr.exe.mui a C:\Windows\system32 y C:\Windows\system32\en-Us de un viejo servidor Windows 2008 R2, si usted no desea instalar la característica Experiencia de Escritorio.

Es posible que los siguientes pasos para instalar (copiar) cleanmgr no funcionen en todas las versiones de Windows Server. Inténtalo tú mismo.

Complemento Asistente de Limpieza de disco en Windows Server 2008 R2 Microsoft KB2852386 agrega una opción de Limpieza de disco en Windows Server 2008 R2, similar a la actualización de Windows 7. He probado esto en Windows Server 2012. Puede que no limpie todo, pero al menos mucho.

Aquí le mostramos cómo hacer que cleanmgr.exe esté disponible en el estándar Windows Server 2012 (versión de Windows 6.2.9200), sin instalar la función de experiencia de escritorio:

Microsoft Windows (c) 2012 Microsoft Corporation. All rights reserved.PS C:\Users\jan> $osversion = ::OSVersion.VersionPS C:\Users\jan> write-host $osversion6.2.9200.0C:\Windows\System32>cd ..C:\Windows>copy WinSxS\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.2.9200.16384_en-us_b6a01752226afbb3\cleanmgr.exe.mui \Windows\system32\en-US 1 file(s) copied.C:\Windows>copy WinSxS\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.2.9200.16384_none_c60dddc5e750072a\cleanmgr.exe \Windows\system32 1 file(s) copied.C:\Windows>system32\cleanmgr.exeC:\Windows>
Code language: PowerShell (powershell)

Desafortunadamente, esto ya no funciona en Windows Server 2012 R2 (6.3.9600), probablemente debido a KB2821895. Como Aaron señaló en los comentarios, la solución anterior para copiar sobre los archivos cleanmgr.exe y cleanmgr.exe.mui no siempre funciona bien. Por lo tanto, eliminé esta información para Windows Server 2012 R2.

Afortunadamente, la funcionalidad de Limpieza de disco está de vuelta en Windows Server 2016 (al menos TP5).

Limpieza de disco en Windows Server 2016 TP5
Limpieza de disco en Windows Server 2016 TP5

Después de limpiar el disco, un servidor es necesario reiniciar. ¡No olvide reiniciar su computadora, o servidor, después! La limpieza real del directorio WinSxS se produce durante el siguiente reinicio.

Error 0x800f0906 con DISM /Online /Cleanup-Image, PowerShell Install-WindowsFeature y SFC /scannow#

Hay disponibles algunos informes que explican que el Boletín de seguridad de Microsoft MS14-046 rompió DISM /Online /Cleanup-Image /RestoreHealth, PowerShell Install-WindowsFeature con -Source y SFC /scannow. Sí, se rompió mucho

Microsoft ofrece una actualización: KB3005628

Actualización para. NET Framework 3.5 en Windows 8, Windows 8.1, Windows Server 2012 y Windows Server 2012 R2. Esta actualización resuelve un problema que impide que se habilite la función opcional Microsoft. NET Framework 3.5 después de instalar la actualización de seguridad 2966827 o 2966828 (descrita en el Boletín de seguridad de Microsoft MS14-046) para Microsoft.NET Framework 3.5.

Mover la carpeta de distribución de software de Windows Server#

Con el tiempo, la carpeta de distribución de software de actualizaciones de Windows en c:\Windows\SoftwareDistribution puede llegar a ser bastante grande, por ejemplo, cuando varias actualizaciones no se instalaron correctamente.

Los archivos de Windows Update se descargan en esta carpeta y se eliminan después de la instalación correcta. Cuando te encuentras en una situación donde su C: partición es más bien pequeño, y el nombre de la carpeta SoftwareDistribution come demasiado espacio en disco, siga estos pasos para mover la carpeta SoftwareDistribution a una ubicación diferente.

Todo en un cmd.exe shell (Inicio > Ejecutar >cmd y pulse enter). En este ejemplo, la nueva ubicación es D:\Windows-SoftwareDistribution.

  1. Detener el servicio de Actualización de Windows: net stop wuauserv
  2. cambiar el nombre de la carpeta c:\Windows\SoftwareDistribution a c:\Windows\SoftwareDistribution.oldrename c:\windows\SoftwareDistribution SoftwareDistribution.old
  3. Crear un vínculo con Windows Sysinternals Unión, o Windows mklink
    • Crear el nuevo directorio:
      mkdir D:\Windows-SoftwareDistribution
    • Crear la Unión:
      c:\>junction C:\Windows\SoftwareDistribution "D:\Windows-SoftwareDistribution" o:
      c:\>mklink /J C:\Windows\SoftwareDistribution "D:\Windows-SoftwareDistribution"
  4. Reinicie el Servicio de Actualización de Windows: net start wuauserv

Cuando, después de un tiempo, todo parece correr y actualización de la multa, eliminar su SoftwareDistribution.carpeta vieja.

Mover carpeta de documentos de usuario #

Otra forma de obtener espacio libre adicional es mover la carpeta de documentos de usuario (y otras, como Descargas), por ejemplo de C:\Users\$USER$\Documents a D:\User\$USER$\Documents (sustituir USER USER with por el nombre de usuario cuya carpeta de documentos desea mover). Estos son los pasos que debe seguir (capturas de pantalla tomadas de Windows Server 2016 TP5):

  1. Abra el explorador y haga clic con el botón derecho en la carpeta Documentos y, a continuación, Propiedades
  2. Elija Ubicación
  3. Cambie la ubicación donde se almacenan los archivos
  4. Cuando el destino no existe, Windows pide que se cree la carpeta para usted
Mover una Carpeta de Documentos de Usuario de Windows, paso 01
Mover una carpeta de Documentos de Usuario de Windows, paso 01
Mover una Carpeta de Documentos de Usuario de Windows, paso 02
Mover una carpeta de documentos de usuario de Windows, paso 02
Mover una Carpeta de Documentos de Usuario de Windows, paso 03
Mover una carpeta de Documentos de Usuario de Windows, paso 03

Conclusión#

Sí, el almacén de componentes de Windows (carpeta WinSxS) puede volverse grande, muy grande. Pero afortunadamente, Microsoft nos proporciona las herramientas para monitorear, administrar y limpiar la carpeta WinSxS para recuperar el espacio en disco utilizado.

Si se siente cómodo con la instalación de la función de Experiencia de escritorio de Windows en su sistema, puede tener la utilidad de Limpieza de disco en su sistema. De lo contrario, puede usar el comando DISM (Administración y Mantenimiento de imágenes de implementación) para varias tareas de limpieza.

Para obtener espacio libre adicional, también puede mover la carpeta de distribución de software de Windows a una partición diferente.