1 votes

Windows 10 : sfc et dism ne peuvent pas réparer la corruption

Il y a plusieurs messages dans ce sens, mais les corrections qui ont répondu à d'autres questions n'ont pas résolu mon problème.

  • Windows 10 Pro
    • J'ai effectué une mise à jour depuis W7 Pro, puis j'ai fait une "réinitialisation", car j'avais des problèmes avec un économiseur d'écran et je voulais obtenir une installation plus propre sans reformater.
  • sfc /scannow corruption trouvée trouvée, mais ne pouvait pas réparer malgunbd.ttf [ CBS.log ci-dessous]

    • J'ai ensuite essayé plusieurs DISM en spécifiant d'abord aucune source, puis une commande /Source :

      Dism /Get-ImageInfo /ImageFile:"D:\sources\install.wim"
      
        Deployment Image Servicing and Management tool
        Version: 10.0.10240.16384
      
        Details for image : d:\sources\install.wim
      
          Index : 1
          Name : Windows 10 Pro
          Description : Windows 10 Pro
          Size : 13,736,528,128 bytes
      
        The operation completed successfully.
      
      Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:"D:\sources\install.wim":1 /LimitAccess
      
         Deployment Image Servicing and Management tool
         Version: 10.0.10240.16384
      
         Image Version: 10.0.10240.16384
      
         [==========================100.0%==========================]
      
           Error: 0x800f081f
             The source files could not be found.
      
             Use the "Source" option to specify the location of the files that are required to restore the feature.
             For more information on specifying a source location, see http://go.microsoft.com/fwlink/?LinkId=243077
      
         The DISM log file can be found at C:\WINDOWS\Logs\DISM\dism.log
      • La source ci-dessus est un ISO récemment téléchargé à partir de MS, et j'ai également tenté un .cab téléchargé par l'un des posters ici, mais il ne semblait pas contenir les fichiers de police pertinents.
    • J'ai essayé de remplacer malgunbd.ttf avec le même fichier de police provenant d'un autre ordinateur W10 sur lequel sfc /scannow fonctionne sans erreur, ce qui n'a rien donné (je me demande si la base de données SFC utilisé pour déterminer si les fichiers système sont valides est lui-même corrompu)
      • Je comprends qu'avec W10, il est possible d'effectuer une réparation/réinstallation qui ne remplacera que les fichiers système, laissant les programmes, paramètres et données précédemment installés intacts, mais cela semble exagéré si le problème ne concerne qu'un seul fichier de police.

Bûches

  • cbs.log :

    2015-09-23 21:00:12, Info  CSI   000050ad [SR] Cannot repair member file [l:24{12}]"malgunbd.ttf" of Microsoft-Windows-Font-TrueType-MalgunGothicBold, Version = 10.0.10240.16384, pA = amd64, nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35} in the store, hash mismatch
    2015-09-23 21:00:12, Info  CSI   000050b0 [SR] Cannot repair member file [l:24{12}]"malgunbd.ttf" of Microsoft-Windows-Font-TrueType-MalgunGothicBold, Version = 10.0.10240.16384, pA = amd64, nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35} in the store, hash mismatch
    2015-09-23 21:00:12, Info  CSI   000050b1 [SR] This component was referenced by [l:252{126}]"Microsoft-OneCore-Fonts-DesktopFonts-windows-Package~31bf3856ad364e35~amd64~~10.0.10240.16384.aa769378d5daebe8af8c9f1c3efdd70e"
    2015-09-23 21:00:12, Info  CSI   000050b2 [SR] This component was referenced by [l:346{173}]"Microsoft-Windows-Client-Features-Package-AutoMerged-windows~31bf3856ad364e35~amd64~~10.0.10240.16384.Microsoft-Windows-Client-Features-Package-AutoMerged-windows-Deployment"
    2015-09-23 21:00:12, Info  CSI   000050b5 [SR] Could not reproject corrupted file [ml:42{21},l:40{20}]"\??\C:\WINDOWS\fonts"\[l:24{12}]"malgunbd.ttf"; source file in store is also corrupted
    2015-09-23 21:00:12, Info  CSI   000050b8 [SR] Repair complete
    2015-09-23 21:00:12, Info  CSI   000050b9 [SR] Committing transaction
    2015-09-23 21:00:12, Info  CSI   000050be [SR] Verify and Repair Transaction completed. All files and registry keys listed in this transaction  have been successfully repaired
  • dism.log : (aucune source spécifiée)

    13:00:07, Info      DISM   DISM.EXE: <----- Starting Dism.exe session ----->
    13:00:07, Info      DISM   DISM.EXE:
    13:00:07, Info      DISM   DISM.EXE: Host machine information: OS Version=10.0.10240, Running architecture=amd64, Number of processors=8
    13:00:07, Info      DISM   DISM.EXE: Dism.exe version: 10.0.10240.16384
    
    13:00:07, Info      DISM   DISM.EXE: Executing command line: "C:\WINDOWS\system32\Dism.exe" /Online /Cleanup-Image /RestoreHealth
    
    13:00:08, Warning   DISM   DISM OS Provider: PID=1912 TID=9724 Unable to set the DLL search path to the servicing stack folder. C:\Windows may not point to a valid Windows folder. - CDISMOSServiceManager::Final_OnConnect
    
    13:00:08, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Provider has not previously been encountered.  Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider
    13:00:08, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Loading Provider from location C:\Users\Ron\AppData\Local\Temp\D205D094-AE23-4DDE-9CF0-828A4790B1F2\PEProvider.dll - CDISMProviderStore::Internal_GetProvider
    13:00:08, Warning   DISM   DISM Provider Store: PID=1912 TID=9724 Failed to Load the provider: C:\Users\Ron\AppData\Local\Temp\D205D094-AE23-4DDE-9CF0-828A4790B1F2\PEProvider.dll. - CDISMProviderStore::Internal_GetProvider(hr:0x8007007e)
    13:00:08, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Failed to get and initialize the PE Provider.  Continuing by assuming that it is not a WinPE image. - CDISMProviderStore::Final_OnConnect
    13:00:08, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Finished initializing the Provider Map. - CDISMProviderStore::Final_OnConnect
    13:00:08, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Getting Provider DISMLogger - CDISMProviderStore::GetProvider
    13:00:08, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
    
    13:00:08, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Getting Provider OSServices - CDISMProviderStore::GetProvider
    13:00:08, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
    
    13:00:09, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Provider has not previously been encountered.  Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider
    13:00:09, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Loading Provider from location C:\Users\Ron\AppData\Local\Temp\D205D094-AE23-4DDE-9CF0-828A4790B1F2\Wow64provider.dll - CDISMProviderStore::Internal_GetProvider
    13:00:09, Warning   DISM   DISM Provider Store: PID=1912 TID=9724 Failed to get the IDismObject Interface - CDISMProviderStore::Internal_LoadProvider(hr:0x80004002)
    13:00:09, Warning   DISM   DISM Provider Store: PID=1912 TID=9724 Failed to Load the provider: C:\Users\Ron\AppData\Local\Temp\D205D094-AE23-4DDE-9CF0-828A4790B1F2\Wow64provider.dll. - CDISMProviderStore::Internal_GetProvider(hr:0x80004002)
    13:00:09, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Provider has not previously been encountered.  Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider
    13:00:09, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Loading Provider from location C:\Users\Ron\AppData\Local\Temp\D205D094-AE23-4DDE-9CF0-828A4790B1F2\SmiProvider.dll - CDISMProviderStore::Internal_GetProvider
    13:00:09, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Connecting to the provider located at C:\Users\Ron\AppData\Local\Temp\D205D094-AE23-4DDE-9CF0-828A4790B1F2\SmiProvider.dll. - CDISMProviderStore::Internal_LoadProvider
    13:00:09, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Encountered a servicing provider, performing additional servicing initializations. - CDISMProviderStore::Internal_LoadProvider
    13:00:09, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Provider has not previously been encountered.  Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider
    13:00:09, Info      DISM   DISM Provider Store: PID=1912 TID=9724 Loading Provider from location C:\Users\Ron\AppData\Local\Temp\D205D094-AE23-4DDE-9CF0-828A4790B1F2\EmbeddedProvider.dll - CDISMProviderStore::Internal_GetProvider
    13:00:09, Warning   DISM   DISM Provider Store: PID=1912 TID=9724 Failed to Load the provider: C:\Users\Ron\AppData\Local\Temp\D205D094-AE23-4DDE-9CF0-828A4790B1F2\EmbeddedProvider.dll. - CDISMProviderStore::Internal_GetProvider(hr:0x8007007e)
    
    13:00:09, Info      DISM   DISM Package Manager: PID=1912 TID=9724 CBS session options=0x48100! - CDISMPackageManager::Internal_Finalize
    13:03:08, Info      DISM   DISM Package Manager: PID=1912 TID=1900  Error in operation: source for package or file not found, ResolveSource() unsuccessful. (CBS HRESULT=0x800f081f) - CCbsConUIHandler::Error
    13:03:08, Error     DISM   DISM Package Manager: PID=1912 TID=9724 Failed finalizing changes. - CDISMPackageManager::Internal_Finalize(hr:0x800f081f)
    13:03:08, Error     DISM   DISM Package Manager: PID=1912 TID=9724 The source files could not be found; their location must be specified using the /source option to restore the feature. - GetCbsErrorMsg
    13:03:08, Error     DISM   DISM Package Manager: PID=1912 TID=9724 Failed processing package changes with session option CbsSessionOptionRepairStoreCorruption - CDISMPackageManager::RestoreHealth(hr:0x800f081f)
    13:03:08, Error     DISM   DISM Package Manager: PID=1912 TID=9724 The source files could not be found; their location must be specified using the /source option to restore the feature. - GetCbsErrorMsg
    13:03:08, Error     DISM   DISM Package Manager: PID=1912 TID=9724 Failed to restore the image health. - CPackageManagerCLIHandler::ProcessCmdLine_CleanupImage(hr:0x800f081f)
    13:03:08, Error     DISM   DISM Package Manager: PID=1912 TID=9724 Failed while processing command cleanup-image. - CPackageManagerCLIHandler::ExecuteCmdLine(hr:0x800f081f)
    13:03:08, Info      DISM   DISM Package Manager: PID=1912 TID=9724 Further logs for online package and feature related operations can be found at %WINDIR%\logs\CBS\cbs.log - CPackageManagerCLIHandler::ExecuteCmdLine
    
    13:03:08, Info      DISM   DISM.EXE: Image session has been closed. Reboot required=no.
    13:03:08, Info      DISM   DISM.EXE:
    13:03:08, Info      DISM   DISM.EXE: <----- Ending Dism.exe session ----->
  • dism.log : (source : install.wim )

    13:06:20, Info      DISM   DISM.EXE: <----- Starting Dism.exe session ----->
    13:06:20, Info      DISM   DISM.EXE:
    13:06:20, Info      DISM   DISM.EXE: Host machine information: OS Version=10.0.10240, Running architecture=amd64, Number of processors=8
    13:06:20, Info      DISM   DISM.EXE: Dism.exe version: 10.0.10240.16384
    
    13:06:20, Info      DISM   DISM.EXE: Executing command line: "C:\WINDOWS\system32\Dism.exe" /Online /Cleanup-Image /RestoreHealth /Source:C:\users\ron\downloads\Microsoft-Windows-Client-Features-Package-AutoMerged-base~31bf3856ad364e35~amd64~~10.0.10240.16384.cab
    
    13:06:21, Warning   DISM   DISM OS Provider: PID=12608 TID=11328 Unable to set the DLL search path to the servicing stack folder. C:\Windows may not point to a valid Windows folder. - CDISMOSServiceManager::Final_OnConnect
    
    13:06:21, Info      DISM   DISM Provider Store: PID=12608 TID=11328 Attempting to initialize the logger from the Image Session. - CDISMProviderStore::Final_OnConnect
    13:06:21, Info      DISM   DISM Provider Store: PID=12608 TID=11328 Provider has not previously been encountered.  Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider
    13:06:21, Info      DISM   DISM Provider Store: PID=12608 TID=11328 Loading Provider from location C:\Users\Ron\AppData\Local\Temp\BD1F1F9B-95B3-41C0-9336-5F3CD9D0A587\LogProvider.dll - CDISMProviderStore::Internal_GetProvider
    13:06:21, Info      DISM   DISM Provider Store: PID=12608 TID=11328 Connecting to the provider located at C:\Users\Ron\AppData\Local\Temp\BD1F1F9B-95B3-41C0-9336-5F3CD9D0A587\LogProvider.dll. - CDISMProviderStore::Internal_LoadProvider
    13:06:21, Info      DISM   DISM Provider Store: PID=12608 TID=11328 Found and Initialized the DISM Logger. - CDISMProviderStore::Internal_InitializeLogger
    13:06:21, Info      DISM   DISM Provider Store: PID=12608 TID=11328 Provider has not previously been encountered.  Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider
    13:06:21, Info      DISM   DISM Provider Store: PID=12608 TID=11328 Loading Provider from location C:\Users\Ron\AppData\Local\Temp\BD1F1F9B-95B3-41C0-9336-5F3CD9D0A587\PEProvider.dll - CDISMProviderStore::Internal_GetProvider
    13:06:21, Warning   DISM   DISM Provider Store: PID=12608 TID=11328 Failed to Load the provider: C:\Users\Ron\AppData\Local\Temp\BD1F1F9B-95B3-41C0-9336-5F3CD9D0A587\PEProvider.dll. - CDISMProviderStore::Internal_GetProvider(hr:0x8007007e)
    13:06:21, Info      DISM   DISM Provider Store: PID=12608 TID=11328 Failed to get and initialize the PE Provider.  Continuing by assuming that it is not a WinPE image. - CDISMProviderStore::Final_OnConnect
    13:06:21, Info      DISM   DISM Provider Store: PID=12608 TID=11328 Finished initializing the Provider Map. - CDISMProviderStore::Final_OnConnect
    
    13:06:21, Info      DISM   DISM Provider Store: PID=12608 TID=11328 Provider has not previously been encountered.  Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider
    13:06:21, Info      DISM   DISM Provider Store: PID=12608 TID=11328 Loading Provider from location C:\Users\Ron\AppData\Local\Temp\BD1F1F9B-95B3-41C0-9336-5F3CD9D0A587\UnattendProvider.dll - CDISMProviderStore::Internal_GetProvider
    13:06:21, Info      DISM   DISM Provider Store: PID=12608 TID=11328 Connecting to the provider located at C:\Users\Ron\AppData\Local\Temp\BD1F1F9B-95B3-41C0-9336-5F3CD9D0A587\UnattendProvider.dll. - CDISMProviderStore::Internal_LoadProvider
    13:06:21, Info      DISM   DISM Provider Store: PID=12608 TID=11328 Encountered a servicing provider, performing additional servicing initializations. - CDISMProviderStore::Internal_LoadProvider
    13:06:21, Info      DISM   DISM Provider Store: PID=12608 TID=11328 Provider has not previously been encountered.  Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider
    13:06:21, Info      DISM   DISM Provider Store: PID=12608 TID=11328 Loading Provider from location C:\Users\Ron\AppData\Local\Temp\BD1F1F9B-95B3-41C0-9336-5F3CD9D0A587\Wow64provider.dll - CDISMProviderStore::Internal_GetProvider
    13:06:21, Warning   DISM   DISM Provider Store: PID=12608 TID=11328 Failed to get the IDismObject Interface - CDISMProviderStore::Internal_LoadProvider(hr:0x80004002)
    13:06:21, Warning   DISM   DISM Provider Store: PID=12608 TID=11328 Failed to Load the provider: C:\Users\Ron\AppData\Local\Temp\BD1F1F9B-95B3-41C0-9336-5F3CD9D0A587\Wow64provider.dll. - CDISMProviderStore::Internal_GetProvider(hr:0x80004002)
    
    13:06:22, Info      DISM   DISM Package Manager: PID=12608 TID=11328 Processing the top level command token(cleanup-image). - CPackageManagerCLIHandler::Private_ValidateCmdLine
    13:06:22, Info      DISM   DISM Package Manager: PID=12608 TID=11328 Attempting to route to appropriate command handler. - CPackageManagerCLIHandler::ExecuteCmdLine
    13:06:22, Info      DISM   DISM Package Manager: PID=12608 TID=11328 Routing the command... - CPackageManagerCLIHandler::ExecuteCmdLine
    13:06:22, Warning   DISM   DISM Package Manager: PID=12608 TID=11328 CBS AddSource failed with HRESULT=0x8007007b! - CDISMPackageManager::Internal_Finalize
    13:06:22, Info      DISM   DISM Package Manager: PID=12608 TID=11328 CBS session options=0x48100! - CDISMPackageManager::Internal_Finalize
    13:08:52, Info      DISM   DISM Package Manager: PID=12608 TID=11404  Error in operation: source for package or file not found, ResolveSource() unsuccessful. (CBS HRESULT=0x800f081f) - CCbsConUIHandler::Error
    13:08:52, Error     DISM   DISM Package Manager: PID=12608 TID=11328 Failed finalizing changes. - CDISMPackageManager::Internal_Finalize(hr:0x800f081f)
    13:08:52, Error     DISM   DISM Package Manager: PID=12608 TID=11328 The source files could not be found; their location must be specified using the /source option to restore the feature. - GetCbsErrorMsg
    13:08:52, Error     DISM   DISM Package Manager: PID=12608 TID=11328 Failed processing package changes with session option CbsSessionOptionRepairStoreCorruption - CDISMPackageManager::RestoreHealth(hr:0x800f081f)
    13:08:52, Error     DISM   DISM Package Manager: PID=12608 TID=11328 The source files could not be found; their location must be specified using the /source option to restore the feature. - GetCbsErrorMsg
    13:08:52, Error     DISM   DISM Package Manager: PID=12608 TID=11328 Failed to restore the image health. - CPackageManagerCLIHandler::ProcessCmdLine_CleanupImage(hr:0x800f081f)
    13:08:52, Error     DISM   DISM Package Manager: PID=12608 TID=11328 Failed while processing command cleanup-image. - CPackageManagerCLIHandler::ExecuteCmdLine(hr:0x800f081f)
    13:08:52, Info      DISM   DISM Package Manager: PID=12608 TID=11328 Further logs for online package and feature related operations can be found at %WINDIR%\logs\CBS\cbs.log - CPackageManagerCLIHandler::ExecuteCmdLine
    
    13:08:52, Info      DISM   DISM Manager: PID=11312 TID=9104 Closing session event handle 0x190 - CDISMManager::CloseImageSession
    13:08:52, Info      DISM   DISM.EXE: Image session has been closed. Reboot required=no.
    13:08:52, Info      DISM   DISM.EXE:
    13:08:52, Info      DISM   DISM.EXE: <----- Ending Dism.exe session ----->

1voto

Ron Rosenfeld Points 7038

J'ai finalement réussi à réparer mon installation Windows de telle sorte que SFC a retourné un résultat normal.

En utilisant une image USB de W10 fraîchement téléchargée, j'ai effectué une mise à niveau sur place comme suggéré dans le document suivant magicandre1981 Les commentaires de la Commission.

Ensuite, un autre fichier a été corrompu et n'a pas pu être réparé.

Encore une fois, DISM n'a pas initialement réparé cela. Cependant, j'ai pu déterminer que le fichier en question se trouvait dans le répertoire C:\windows\winsxs et aussi le C:\windows\system32 les dossiers.

Puisque l'installation précédente n'a pas signalé ce fichier comme étant corrompu, j'ai pensé que je pouvais utiliser la copie de l'installation précédente de ce fichier comme un bon fichier.

Avant d'exécuter DISM à nouveau, j'ai exécuté la commande suivante à partir d'une invite de commande élevée, puis j'ai redémarré la machine, conformément aux instructions d'un article publié sur le site suivant thewindowsclub.com qui n'est pas accessible actuellement. Je ne suis pas sûr que le redémarrage soit nécessaire, car cela n'est pas mentionné dans un autre article.

net stop wuauserv
cd %systemroot%\SoftwareDistribution
ren Download Download.old
net start wuauserv
net stop bits
net start bits
net stop cryptsvc
cd %systemroot%\system32
ren catroot2 catroot2old
net start cryptsvc

En exécutant DISM, et en utilisant c:\windows.old\windows\winsxs comme la Source, j'ai pu réparer le magasin. Puis, en exécutant SFC, le fichier d'origine a été réparé.

Je n'ai aucune idée de la raison pour laquelle cela se produit. Sur une autre machine (et une connexion internet/ISP différente), l'installation W10 mise à niveau (de W7) a également montré un fichier corrompu lors de l'exécution de SFC. Sur cette machine, DISM a pu le réparer en utilisant la mise à jour Windows par défaut comme source.

0voto

magicandre1981 Points 94338

Dans le DISM.log, je vois cette erreur :

AddSource failed with HRESULT=0x8007007b! 
Error in operation: source for package or file not found, ResolveSource() unsuccessful.

Erreur 0x8007007b signifie ERROR_INVALID_NAME :

C:\>err 0x8007007b
# for hex 0x8007007b / decimal -2147024773
  STIERR_INVALID_DEVICE_NAME                                     stierr.h
# as an HRESULT: Severity: FAILURE (1), FACILITY_WIN32 (0x7), Code 0x7b
# for hex 0x7b / decimal 123
  ERROR_INVALID_NAME                                             winerror.h
# The filename, directory name, or volume label syntax is
# incorrect.
# 2 matches found for "0x8007007b"

Assurez-vous que le lecteur D : est bien votre lecteur DVD/ISO monté.

J'ai extrait les 2 paquets en fichiers .cab et les ai téléchargés sur mon OneDrive.

Téléchargez et extrayez les deux dans C:\Source :

https://www.dropbox.com/s/ijpex5tax011ved/Microsoft-Windows-Client-Features-Package-AutoMerged-Windows~31bf3856ad364e35~amd64~~10.0.10240.16384.cab?dl=0

https://www.dropbox.com/s/588ka8pv7uai2he/Microsoft-OneCore-Fonts-DesktopFonts-Windows-Package~31bf3856ad364e35~amd64~~10.0.10240.16384.cab?dl=0

Et maintenant, lancez cette commande :

dism /online /cleanup-image /restorehealth /source:C:\Source

Est-ce que ça marche ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X