На эту тему есть несколько сообщений, но исправления, которые отвечали на другие вопросы, не решили мою проблему.
- Windows 10 Профессиональная
- Обновился с W7 Pro, затем сделал «Сброс», так как у меня возникли некоторые проблемы с заставкой, и я хотел сделать более чистую установку без переформатирования.
sfc /scannow
обнаружено повреждение, но не удалось исправитьmalgunbd.ttf
[CBS.log
ниже]- Затем я попробовал различные
DISM
команды, сначала не указывая источник, а затем/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
- Источник выше — это недавно загруженный ISO-образ с сайта MS, и я также попробовал
.cab
файл, загруженный одним из авторов здесь, но он, похоже, не содержал соответствующих файлов шрифтов.
- Источник выше — это недавно загруженный ISO-образ с сайта MS, и я также попробовал
- Я попробовал заменить
malgunbd.ttf
его тем же файлом шрифта с другого компьютера W10, на которомsfc /scannow
он работает без ошибок, но это не помогло.(заставляет меня задуматься, не повреждена ли сама база данных,SFC
используемая для определения допустимости системных файлов)- Я понимаю, что в W10 можно выполнить восстановление/переустановку, которая просто заменит системные файлы, оставив ранее установленные программы, настройки и данные нетронутыми, но это кажется излишним, если проблема заключается всего в одном файле шрифта.
- Затем я попробовал различные
Журналы
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
: (источник не указан)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
: (источник: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 ----->
решение1
Мне наконец удалось восстановить установку Windows таким образом, что SFC
результат оказался нормальным.
Используя свежезагруженный USB-образ W10, я выполнил обновление на месте, как было предложено в magicandre1981
комментариях.
После этого был другой файл, который был поврежден и не подлежал восстановлению.
Опять же, DISM
изначально не исправил это. Однако мне удалось определить, что файл, о котором идет речь, находился в папках C:\windows\winsxs
и также C:\windows\system32
.
Поскольку предыдущая установка не пометила этот файл как поврежденный, я решил, что могу использовать копию этого файла из предыдущей установки в качестве исправного файла.
Перед повторным запуском DISM я выполнил следующее из командной строки с повышенными привилегиями, а затем перезагрузил машину, следуя инструкциям в статье, thewindowsclub.com
которая в настоящее время недоступна. Я не уверен, необходима ли перезагрузка, так как об этом не упоминается в другой статье.
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
Запустив DISM и используя его c:\windows.old\windows\winsxs
в качестве Источника, я смог восстановить хранилище. А затем запуск SFC привел к восстановлению исходного файла.
Почему это происходит, я понятия не имею. На другой машине (и другом интернет-подключении/провайдере) обновленная (с W7) установка W10 также показала поврежденный файл при запуске SFC. На той машине DISM смог восстановить его, используя в качестве источника Центр обновления Windows по умолчанию.
решение2
В DISM.log я вижу такую ошибку:
AddSource failed with HRESULT=0x8007007b!
Error in operation: source for package or file not found, ResolveSource() unsuccessful.
Ошибка 0x8007007b
означает 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"
Убедитесь, что диск D: действительно является вашим DVD/смонтированным ISO-приводом.
Я извлек два пакета в файлы .cab и загрузил их на свой OneDrive.
Загрузите и распакуйте оба в C:\Source:
А теперь выполните эту команду:
dism /online /cleanup-image /restorehealth /source:C:\Source
Это работает?