沿著這條線有幾篇文章,但回答其他問題的修復並沒有解決我的問題。
- 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
- 上面的來源是最近從MS下載的ISO,我也嘗試了
.cab
這裡的海報下載的文件,但它似乎不包含相關的字體檔案。
- 上面的來源是最近從MS下載的ISO,我也嘗試了
- 我嘗試
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
返回正常結果。
使用新下載的 W10 USB 映像,我按照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導致原始檔案被修復。
為什麼會發生這種情況,我不知道。在另一台電腦(和不同的網路連線/ISP)上,升級的(從 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 光碟機。
我將這 2 個包提取到 .cab 檔案中,並將它們上傳到我的 OneDrive。
下載並解壓縮到 C:\Source:
現在運行這個命令:
dism /online /cleanup-image /restorehealth /source:C:\Source
這有效嗎?