Nettoyage de disque dans Windows Server
Au fil du temps, à mesure que votre serveur Windows s’allonge, de plus en plus d’espace disque est consommé. Tout simplement disparu! L’étude de l’utilisation du disque vous laisse désemparé; il n’y a pas de gros fichiers journaux, de vidages sur incident ou de logiciel à supprimer. Où est passé cet espace ?
La réponse : Mises à jour Windows, Service Pack et installations de correctifs.
Protip: cet article vous montre également comment déplacer le dossier SoftwareDistribution de Windows Server et le dossier Documents de l’utilisateur vers une partition différente.
Nettoyage WinSxS dans Windows Server – utilisation de DISM et PowerShell #
L’utilitaire de nettoyage de disque Windows cleanmgr n’est pas disponible dans Windows Server 2012 si la fonctionnalité Expérience de bureau n’est pas installée. Cela rend le nettoyage de l’espace disque utilisé un peu plus difficile. Vous pouvez utiliser votre ligne de commande cmd.exe
ou PowerShell, et utiliser le Service et la gestion des images de déploiement (DISM) pour nettoyer le magasin de composants Windows (WinSxS) dans Windows Server 2012 et versions ultérieures.
Le dossier WinSxS se trouve dans le dossier Windows, par exemple C:\Windows\WinSxS . C’est l’emplacement des fichiers du magasin de composants Windows.
Le magasin de composants Windows contient tous les fichiers requis pour une installation Windows. Et, toutes les mises à jour de ces fichiers sont également conservées dans le magasin de composants au fur et à mesure que les mises à jour sont installées (source: KB 2795190 – et lisez Gérer le magasin de composants). Le dossier WinSxS deviendra volumineux
Nettoyons WinSxS !
Récupérez l’espace disque utilisé avec le Service et la gestion des images de déploiement (DISM) #
Dism disk cleanup: Deployment Image Servicing and Management (DISM) est un outil en ligne de commande qui vous permet d’installer, de désinstaller, de configurer et de mettre à jour les fonctionnalités, les packages, les pilotes et les paramètres internationaux de Windows. Le paramètre /Cleanup-Image
de dism.exe
fournit aux utilisateurs avancés plus d’options pour réduire davantage la taille du dossier WinSxS.
Le Dism.exe /Online /Cleanup-Image
a quelques paramètres supplémentaires (ou commutateurs) :
/AnalyzeComponentStore
/StartComponentCleanup
-
/ResetBase
avec/StartComponentCleanup
-
/SPSuperseded
Tout au long de cet article, je suppose que vous lirez les options d’aide, ajoutez simplement /?
, comme: dism.exe /Online /Cleanup-Image /?
div>.
Si vous avez apprécié cela, vous pourriez également profiter du post suivant résumant 5 façons supplémentaires de nettoyer l’espace disque dans Windows Server!
Analysez le dossier WinSxS (Magasin de composants) avec /AnalyzeComponentStore #
Vous pouvez d’abord utiliser le paramètre /AnalyzeComponentStore
. Cela analyse la taille du magasin de composants dans Windows. L’option AnalyzeComponentStore est disponible dans Windows 8.1 Windows Server 2012 R2, et elle vous avertira si un nettoyage du magasin de composants est recommandé ou non.
Code language: PowerShell (powershell)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.
Code language: PowerShell (powershell)dism.exe /Online /Cleanup-Image /StartComponentCleanup
Il existe également une tâche planifiée enregistrée appelée StartComponentCleanup. Vous pouvez démarrer cette tâche à partir de la ligne de commande :
Code language: PowerShell (powershell)schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
Le paramètre /StartComponentCleanup
est pris en charge sur Windows 8, Windows Server 2012 et versions ultérieures.
En utilisant le paramètre /StartComponentCleanup de Dism.exe sur Windows 10 vous donne des résultats similaires à l’exécution de la tâche StartComponentCleanup dans le planificateur de tâches, sauf que les versions précédentes des composants mis à jour seront immédiatement supprimées (sans délai de grâce de 30 jours) et vous n’aurez pas de limitation de délai d’attente de 1 heure.
À partir d’une invite de commande élevée, tapez ce qui suit:Copiez
Code language: PowerShell (powershell)Dism.exe /online /Cleanup-Image /StartComponentCleanup
/Commutateur de base de réinitialisation avec le paramètre /StartComponentCleanup #
En utilisant le commutateur /ResetBase
avec le paramètre /StartComponentCleanup
de dism.exe
, toutes les versions remplacées de chaque composant du magasin de composants sont supprimées.
Code language: PowerShell (powershell)dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Tous les service packs et mises à jour existants ne peuvent pas être désinstallés une fois cette commande terminée. Cela ne bloquera pas la désinstallation des futurs service packs ou mises à jour.
Le paramètre /ResetBase
est pris en charge sur Windows 8.1 et Windows Server 2012 R2.
/SPSuperseded parameter#
Le paramètre /SPSuperseded
supprime tous les composants de sauvegarde nécessaires à la désinstallation d’un service pack. Le service pack ne peut pas être désinstallé une fois cette commande terminée.
Code language: PowerShell (powershell)dism.exe /Online /Cleanup-Image /SPSuperseded
Le Service Pack ne peut pas être désinstallé une fois cette commande terminée.
Le paramètre /SPSuperseded
est pris en charge sur Windows 7 ou Windows Server 2008 R2 Service Pack 1, 2012, 2012 R2.
L’option
/AnalyzeComponentStore
est disponible dans Windows 8.1 et Windows Server 2012 R2. Utilisez cette option pour analyser la taille du magasin de composants (dossier WinSxS) dans Windows.
L’outil de nettoyage de disque est disponible sur Windows Server 2012 mais pas Windows Server 2012 R2#
Comme indiqué au début de cet article, l’outil de nettoyage de disque est disponible dans Windows Server 2012, si vous installez la fonction Expérience de bureau.
Dans certaines versions de Windows Server, vous pouvez simplement copier cleanmgr.exe
et cleanmgr.exe.mui
vers C:\Windows\system32
et C:\Windows\system32\en-Us
à partir d’un ancien serveur Windows 2008 R2, si vous vous ne souhaitez pas installer la fonctionnalité Expérience de bureau.
Les étapes suivantes pour installer (copier) cleanmgr peuvent ne pas fonctionner sur toutes les versions de Windows Server. Essayez par vous-même.
Addon de l’Assistant de nettoyage de disque sur Windows Server 2008 R2
Microsoft KB2852386 ajoute une option de nettoyage de disque sur Windows Server 2008 R2, similaire à la mise à jour de Windows 7. J’ai testé cela sur Windows Server 2012. Il peut ne pas tout nettoyer, mais au moins beaucoup.
Voici comment rendre cleanmgr.exe
disponible sur Windows Server 2012 Standard (version Windows 6.2.9200), sans installer la fonctionnalité d’expérience de bureau:
Code language: PowerShell (powershell)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>
Malheureusement, cela ne fonctionne plus sur Windows Server 2012 R2 (6.3.9600), probablement à cause de KB2821895. Comme Aaron l’a souligné dans les commentaires, la solution ci-dessus pour copier les fichiers cleanmgr.exe
et cleanmgr.exe.mui
ne fonctionne pas toujours bien. Par conséquent, j’ai supprimé ces informations pour Windows Server 2012 R2.
Heureusement, la fonctionnalité de nettoyage de disque est de retour dans Windows Server 2016 (au moins TP5).
Après avoir nettoyé le disque, un redémarrage du serveur est nécessaire. N’oubliez pas de redémarrer votre ordinateur – ou votre serveur – par la suite ! Le nettoyage réel du répertoire WinSxs se produit lors du prochain redémarrage.
Erreur 0x800f0906 avec DISM/Online/Cleanup-Image, PowerShell Install-WindowsFeature et SFC/scannow #
Certains rapports sont disponibles expliquant le bulletin de sécurité Microsoft MS14-046 cassé DISM/Online/Cleanup-Image/RestoreHealth, PowerShell Install-WindowsFeature avec le paramètre -Source
, et
SFC /scannow
. Oui, ça a beaucoup cassé
Une mise à jour est mise à disposition par Microsoft : KB3005628
Mise à jour pour le .NET Framework 3.5 sur Windows 8, Windows 8.1, Windows Server 2012 et Windows Server 2012 R2. Cette mise à jour résout un problème qui empêche l’activation de la fonctionnalité facultative de Microsoft .NET Framework 3.5 après l’installation de la mise à jour de sécurité 2966827 ou 2966828 (décrite dans le bulletin de sécurité Microsoft MS14-046) pour Microsoft .NET Framework 3.5.
Déplacer le dossier de distribution de logiciels Windows Server #
Au fil du temps, votre dossier de distribution de logiciels de mises à jour Windows dans c:\Windows\SoftwareDistribution
peut devenir assez volumineux, par exemple lorsque plusieurs mises à jour n’ont pas été installées avec succès.
Les fichiers Windows Update sont téléchargés dans ce dossier et supprimés après une installation réussie. Lorsque vous vous trouvez dans une situation où votre partition C:
est plutôt petite et que le dossier SoftwareDistribution consomme trop d’espace disque, procédez comme suit pour déplacer le dossier SoftwareDistribution vers un emplacement différent.
Tout dans un shell cmd.exe
(Démarrez > Exécutez >cmd
et appuyez sur entrée). Dans cet exemple, le nouvel emplacement est D:\Windows-SoftwareDistribution
.
- Arrêtez le service de mise à jour Windows :
net stop wuauserv
- Renommez le dossier
c:\Windows\SoftwareDistribution
enc:\Windows\SoftwareDistribution.old
rename c:\windows\SoftwareDistribution SoftwareDistribution.old
- Créez un lien en utilisant la jonction Windows Sysinternals, ou Windows mklink
- Créez le nouveau répertoire :
mkdir D:\Windows-SoftwareDistribution
- Créez la jonction :
c:\>junction C:\Windows\SoftwareDistribution "D:\Windows-SoftwareDistribution"
, ou:c:\>mklink /J C:\Windows\SoftwareDistribution "D:\Windows-SoftwareDistribution"
- Créez le nouveau répertoire :
- Redémarrez le service de mise à jour Windows:
net start wuauserv
Lorsque, après un certain temps, tout semble fonctionner et se mettre à jour correctement, supprimez votre distribution logicielle.ancien dossier.
Déplacer le dossier de documents utilisateur #
Une autre façon pour vous de gagner de l’espace libre supplémentaire est de déplacer le dossier de Documents utilisateur (et d’autres, comme les Téléchargements), par exemple de C:\Users\$USER$\Documents
vers D:\User\$USER$\Documents
(remplacezUSERUSER with par le nom d’utilisateur dont vous souhaitez déplacer le dossier de Documents). Voici les étapes à suivre (captures d’écran prises à partir de Windows Server 2016 TP5):
- Ouvrez l’Explorateur et faites un clic droit sur le dossier Documents, puis Propriétés
- Choisissez l’emplacement
- Modifiez l’emplacement où les fichiers sont stockés
- Lorsque la destination n’existe pas, Windows vous demande de créer le dossier pour vous
- Une fois terminé, les fichiers sont déplacés vers leur nouvel emplacement.
Conclusion #
Oui, le magasin de composants Windows (dossier WinSxS) peut devenir grand, très grand. Mais heureusement, Microsoft nous fournit les outils pour surveiller, gérer et nettoyer le dossier WinSxS pour retrouver cet espace disque utilisé.
Si vous êtes à l’aise avec l’installation de la fonctionnalité Windows de l’expérience de bureau sur votre système, vous pouvez avoir l’utilitaire de nettoyage de disque sur votre système. Sinon, vous pouvez utiliser la commande DISM (Deployment Image Servicing and Management) pour diverses tâches de nettoyage.
Pour gagner un peu d’espace libre supplémentaire, vous pouvez également déplacer le dossier Windows SoftwareDistribution vers une autre partition.
Leave a Reply