Recherche sur le blog

lundi 14 décembre 2015

[Mémo] Réparer les fichiers système corrompus

Sur Windows il peut arriver que vous vous retrouviez avec des fichiers système corrompus (par exemple après une infection), et cela peut rendre votre système instable ou entrainer des comportements étranges. Microsoft a eu la bonne idée d'intégrer au système un utilitaire qui s'appelle SFC. Sous XP il est nécessaire d'insérer le CD d'installation afin de réparer les éventuelles erreurs. Sous Windows 8 et supérieur, le fonctionnement est un peu différent. 

Analyser et réparer les fichiers système

La première commande appelle donc l'utilitaire SFC. On lui donne le paramètre "scannow". Ce paramètre va indiquer à l'outil d'analyser immédiatement tous les fichiers système protégés et de remplacer les versions incorrectes par les versions appropriées. 
sfc /scannow
L'opération peut prendre un certain temps. Si vous possédez un SSD cela varie entre 5 et 10 minutes. Sur un disque dur il faut compter facilement 15 voire 20 minutes, notamment en fonction de ce qui est à remplacer ou non.

En cas d'erreur d'exécution de la commande, réessayez en mode sans échec. Si vous ne savez pas comment faire, les liens suivants peuvent vous aider. Récupération et mode minimal sous Windows 8 et 8.1, démarrage en mode sans échec (Windows XP et Vista).

Analyser et réparer le magasin de composants

Dans certains cas, l'utilitaire SFC peut ne pas réussir pas à remplacer un ou plusieurs fichiers. Cela peut provenir d'une erreur dans le magasin de composants Windows. Sous Windows 7, Server 2008 et Vista, il existe l'utilitaire CheckSUR (KB947821) afin de le réparer. Sous Windows 8 et Windows Server 2012, le fonctionnement est différent et il n'est pas nécessaire de télécharger d'outils supplémentaires. En effet, Microsoft a introduit la fonctionnalité "Inbox Corruption Repair". En temps normal il y a un processus qui, de manière invisible, va vérifier l'état des fichiers système lors d'une installation de mise à jour et remplacer les fichiers corrompus en ré-téléchargeant les versions adéquates depuis Windows Update. Pour le faire manuellement on utilise l'utilitaire DISM "Deployment Imaging and Servicing Management".

Pour exécuter les commandes suivantes, vous devez ouvrir une invite de commandes avec les privilèges administrateur.
Dism /Online /Cleanup-Image /CheckHealth
Cette commande va vous retourner le dernier état qui a été attribué à l'image. Cela signifie que même si l'image a été marquée comme étant en bon état, elle pourrait tout à coup être corrompue. Aucun fichier journal (log) n'est généré lors de l'appel à la commande.
Dism /Online /Cleanup-Image /ScanHealth
La commande ci-dessus va scanner le magasin de composants afin de voir s'il y a des éléments corrompus ou non. Cette opération prend un peu plus de temps. Pour chaque élément corrompu, un enregistrement est affiché au fichier journal (log). Cette opération peut prendre de 5 à 10 minutes et peut sembler bloquée aux alentours de 20%. Il faut juste laisser aller et prendre un café en attendant.
Dism /Online /Cleanup-Image /RestoreHealth
Si corruption il y a, le paramètre "RestoreHealth" va permettre de lancer une réparation automatique. Ce processus est bien plus long (il faut compter entre 15 et 20 minutes). Comme pour la commande précédente, le processus peut sembler bloqué aux alentours de 20%. Il ne faut pas s'inquiéter, il faut juste patienter et manger un bout.

Si vous ne possédez pas d'accès à internet pour permettre de récupérer les fichiers de remplacement, vous pouvez spécifier le paramètre "Source:wim" dans la commande précédente. La valeur "INSTALL_PATH" doit être remplacée par le chemin complet vers le fichier "install.wim" qui contient les fichiers de remplacement. Sachez que ce fichier est présent sur le DVD original de Windows 8.1, dans le dossier "Sources".
Dism /Online /Cleanup-Image /RestoreHealth 
 /Source:wim:INSTALL_PATH:1
Une fois le magasin de composants réparé, lancez à nouveau l'utilitaire SFC et observez le résultat.
  
Sources

Eight Forums
Malekal

Aucun commentaire: