Accueil » Blog » Informatique » Windows » DISM /RestoreHealth : réparer l’image Windows quand sfc ne suffit pas

DISM /RestoreHealth : réparer l’image Windows quand sfc ne suffit pas

Quand sfc /scannow répond que des fichiers corrompus n’ont pas pu être réparés, le problème n’est plus dans les fichiers système : il est dans le magasin de composants qui sert de réserve à la réparation. C’est exactement le rôle de DISM /RestoreHealth, qui va rechercher une copie saine des composants et remettre l’image Windows d’aplomb avant de relancer sfc.

Points clés

  • La commande de référence est DISM.exe /Online /Cleanup-Image /RestoreHealth, à lancer dans une invite de commandes ouverte en administrateur.
  • Microsoft recommande d’exécuter DISM avant sfc : DISM fournit les fichiers que le Vérificateur des fichiers système utilisera ensuite pour remplacer les fichiers endommagés.
  • Par défaut, DISM prend ses fichiers sur Windows Update. Si le client Windows Update est cassé, il faut lui donner une source locale avec /Source: et /LimitAccess.
  • Les journaux à lire en cas d’échec : %windir%\Logs\DISM\dism.log et %windir%\Logs\CBS\CBS.log.
  • L’erreur la plus fréquente au retour de la commande est 0x800f081f, « les fichiers sources sont introuvables ».

Pourquoi sfc ne suffit pas

Le Vérificateur des fichiers système compare les fichiers système protégés à des copies de référence stockées dans le magasin de composants, le dossier WinSxS. Tant que ce magasin est intact, sfc répare tout seul. Dès qu’une partie du magasin est elle-même corrompue, sfc n’a plus de modèle sain à recopier et affiche son message d’échec : la réparation devient impossible sans réapprovisionner la réserve.

DISM, pour Deployment Image Servicing and Management, travaille un cran plus bas. Il maintient l’image Windows elle-même. L’opération /Cleanup-Image /RestoreHealth analyse le magasin de composants et lance automatiquement les réparations, en téléchargeant les composants manquants depuis Windows Update.

Schéma comparant CheckHealth, ScanHealth et RestoreHealth de DISM sur Windows
Les trois opérations de /Cleanup-Image : seule RestoreHealth répare réellement l’image.

Les trois commandes DISM, dans l’ordre

Trois options de /Cleanup-Image se suivent logiquement, de la plus rapide à la plus lourde. Ouvrez d’abord une invite de commandes ou un Terminal en tant qu’administrateur.

  1. DISM /Online /Cleanup-Image /CheckHealth : vérifie simplement si l’image a déjà été marquée comme corrompue par un processus qui a échoué, et si la corruption est réparable. Quelques secondes, aucune écriture.
  2. DISM /Online /Cleanup-Image /ScanHealth : analyse réellement le magasin de composants à la recherche d’une corruption. Compter plusieurs minutes.
  3. DISM /Online /Cleanup-Image /RestoreHealth : même analyse, suivie des opérations de réparation automatiques. C’est la seule des trois qui répare.
A lire  E-commerce 4.0 : Comment la technologie redéfinit l'expérience client

/Online désigne le Windows en cours d’exécution. Pour intervenir sur une installation qui ne démarre plus, on remplace ce paramètre par /Image:C:\ depuis un environnement de récupération, en pointant la lettre du volume système tel qu’il est vu à ce moment.

La barre de progression bloquée à 20 %

Le compteur qui reste figé longtemps, souvent autour de 20 %, n’est pas un plantage. L’outil interroge Windows Update et télécharge les composants nécessaires : la durée dépend de la connexion et du volume à réparer. Laissez tourner. Une opération qui dépasse une heure sans le moindre mouvement du disque, en revanche, mérite d’être interrompue et relancée avec une source locale.

Donner une source locale à DISM

Quand le client Windows Update est lui-même en panne, DISM n’a plus de réserve à interroger et échoue. La solution officielle consiste à lui indiquer une installation Windows saine, un dossier côte à côte ou un support d’installation :

DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:C:\RepairSource\Windows /LimitAccess

/Source pointe l’emplacement des versions saines des fichiers, par exemple le dossier Windows d’une image montée. /LimitAccess interdit à DISM de contacter Windows Update, ce qui évite qu’il reparte en boucle sur le service défaillant.

À partir d’une image ISO de la même version de Windows, montez le fichier ISO, repérez sources\install.wim et donnez-le comme source en précisant l’index de l’édition :

DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:D:\sources\install.wim:1 /LimitAccess
Schéma des trois causes de l'erreur DISM 0x800f081f et de leurs solutions
Les trois causes de l’erreur 0x800f081f et la commande correspondante avec une source locale.

Sur les supports récents, le fichier fourni est un install.esd compressé. Il faut alors l’exporter en WIM avant de s’en servir, avec DISM /Export-Image et l’option /Compress:max.

La procédure complète, étape par étape

  1. Sur le clavier, appuyez sur la touche Windows, tapez « Terminal », puis sélectionnez « Exécuter en tant qu’administrateur ».
  2. Tapez DISM /Online /Cleanup-Image /CheckHealth pour savoir si l’image est déjà signalée comme corrompue et réparable.
  3. Lancez ensuite DISM /Online /Cleanup-Image /ScanHealth : l’analyse complète du magasin détecte les composants corrompus que la première étape ne voit pas.
  4. Exécutez DISM /Online /Cleanup-Image /RestoreHealth et laissez l’ordinateur terminer, même si la barre semble figée.
  5. Redémarrez, puis lancez sfc /scannow pour laisser la Protection des ressources Windows remplacer les fichiers endommagés.
  6. Si des erreurs subsistent, ouvrez les journaux et repérez le package ou le fichier introuvable avant d’aller plus loin.
A lire  Périphérique Erreur Code 31 : Les Solutions

Trois messages de fin sont possibles au terme de sfc. « La Protection des ressources Windows n’a trouvé aucune violation d’intégrité » signifie que le problème vient d’ailleurs. « A trouvé des fichiers corrompus et les a réparés » clôt l’incident. « A trouvé des fichiers corrompus mais n’a pas pu en réparer certains » renvoie au journal, et c’est le cas qui justifie une source de réparation locale.

Relancer sfc après DISM

DISM répare l’image, pas les fichiers déjà installés. La séquence complète recommandée par Microsoft est donc : DISM d’abord, puis sfc /scannow. Le second passage de sfc trouve enfin des références saines et remplace les fichiers endommagés par une copie correcte. Si le premier sfc /scannow ne suffit pas non plus après DISM, un redémarrage suivi d’un nouveau passage résout une partie des cas où un fichier était verrouillé.

Lire les journaux quand ça échoue

Deux fichiers portent toute l’information utile. %windir%\Logs\DISM\dism.log détaille l’opération de service et le code d’erreur exact. %windir%\Logs\CBS\CBS.log contient la trace du composant qui gère les réparations. Pour n’extraire que les lignes du Vérificateur des fichiers système, Microsoft indique cette commande, qui dépose un fichier lisible sur le bureau :

findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"

Le fichier obtenu liste les fichiers examinés et surtout ceux que l’outil n’a pas su réparer. C’est souvent là que le vrai coupable apparaît, un pilote tiers ou un composant d’une mise à jour interrompue.

L’erreur 0x800f081f

Ce code signifie que les fichiers sources n’ont pas été trouvés. Trois causes reviennent le plus souvent. La source indiquée ne correspond pas exactement à la version et à l’édition de Windows installée, auquel cas il faut récupérer une ISO de la même build. Le chemin passé à /Source est inaccessible, parce qu’il pointe un partage réseau sans droits ou une lettre de lecteur qui a changé. Enfin, une stratégie de groupe peut imposer une source de réparation qui n’existe plus sur le réseau de l’entreprise.

Un avertissement sur la taille du répertoire de travail apparaît parfois au passage. On le lève avec /ScratchDir en désignant un dossier disposant d’au moins un gigaoctet libre.

A lire  Antimalware service executable : Utilisation CPU/RAM élevée

Quand la corruption revient toujours

Une image qui se recorrompt après chaque réparation ne relève plus de DISM. Vérifiez d’abord le stockage : une commande chkdsk C: /f et un contrôle de l’état SMART du disque éliminent le support défaillant. Une mémoire vive instable produit le même symptôme, avec des écrans bleus à la clé. Ce n’est qu’après ces vérifications que les solutions lourdes se justifient, dans cet ordre : réparation par mise à niveau sur place à partir d’une ISO, puis réinstallation. La mise à niveau sur place conserve fichiers et applications, la réinstallation non : sauvegardez avant.

Nettoyer le magasin de composants ensuite

Après plusieurs mises à jour, WinSxS gonfle. DISM /Online /Cleanup-Image /AnalyzeComponentStore indique si un nettoyage est recommandé, et DISM /Online /Cleanup-Image /StartComponentCleanup l’exécute. L’option /ResetBase supprime en plus toutes les versions remplacées des composants : elle libère de la place, mais empêche de désinstaller les mises à jour déjà appliquées. À réserver aux postes stabilisés.

Questions fréquentes

Faut-il lancer DISM avant ou après sfc ?

Avant. La documentation Microsoft place l’exécution de DISM en étape 1 et sfc en étape 2, précisément parce que DISM fournit les fichiers dont sfc a besoin.

Combien de temps dure /RestoreHealth ?

Microsoft indique simplement plusieurs minutes. Sur un poste très abîmé ou une connexion lente, il faut parfois compter une demi-heure. La progression figée n’est pas un signe d’échec.

DISM peut-il être exécuté sur un PC qui ne démarre plus ?

Oui, depuis l’environnement de récupération, en remplaçant /Online par /Image: suivi de la lettre du volume Windows. Les lettres de lecteur y sont souvent différentes de celles vues en session normale : vérifiez avec diskpart.

La commande efface-t-elle des données ?

Non. /RestoreHealth remplace des composants système, pas des documents. Les opérations destructives restent la réinstallation et le formatage, à garder pour la fin.

Que faire si DISM échoue avec 0x800f0906 ?

Ce code pointe l’impossibilité de télécharger les fichiers sources. Le traitement est le même que pour 0x800f081f : fournir une source locale correspondant à la version installée et ajouter /LimitAccess.

Sur un poste qui accumule les corruptions et les écrans bleus, la réparation d’image n’est qu’une pièce du diagnostic. Le guide des écrans bleus Windows 10 et 11 classe les codes d’arrêt par cause, et deux cas croisent directement DISM : BAD_SYSTEM_CONFIG_INFO, qui touche la base de registre, et une mise à jour Windows bloquée, qui laisse justement le magasin de composants dans un état incohérent.

Photo d’en-tête : capture de Windows Terminal avec PowerShell, Microsoft, licence MIT, via Wikimedia Commons (session PowerShell générique, les commandes visibles ne sont pas celles de l’article).
Sources : Microsoft Learn, options de ligne de commande DISM · Microsoft Learn, Repair a Windows Image · Microsoft Support, Vérificateur des fichiers système

Laisser un commentaire

Pin It on Pinterest