Občas se stává, že Windows se začnou chovat nepředvídatelně. A to je ideální čas na kontrolu a případnou opravu Windows 10/8/7.
Opravu Windows začneme kontrolu systémových souborů pomocí příkazu SFC:
sfc /scannow //zobrazíli se chyba Program Ochrana prostředků systému Windows nemohl spustit službu opravy(Windows Resource Protection could not start the repair service), ověříme jestli běží služba Instalační služba modulů systému Windows. Případně službu spustíme příkazem: sc config trustedinstaller start=demand net start trustedinstaller //pokud služba běží zkontrolujte povrch disku příkazem (v případě vadných sektorů může scandisk zhoršit záchranu dat) chkdsk c: /f /r //další možnosti opravy najdete v článku na https://support.microsoft.com/en-us/help/959077/error-message-when-you-start-the-windows-modules-installer-service-tru
Oprava ze záchraného/instalačního média v tzv. offline režimu.
//pomocí příkazu BCDEdit zjistíme písmenko systémové jednotky BCDEDIT //a spustíme samotnou opravu Windows, disk D je systémová jednotka. SFC /scannow /offbootdir=D:\ /offwindir=D:\windows //pokud dojde k chybě Windows Resource Protection could not start the repair service, zkontrolujte že používáte správnou bitovou verzi média, nebo je možná problém v přístupu do složky Winsxs, to lze opravit příkazem ICACLS D:\Windows\winsxs
Pokud oprava nezabere, lze využít nástroj DISM. Nástroj DISM má mnoho funkcí a dokáže jak Windows opravit, tak při nesprávném použití je kompletně rozhodit. Proto s tímto nástrojem opatrně a před jeho použitím doporučuji systémový disk s Windows zálohovat.
//rychlé zjištění chyb bez zápisu
Dism /Online /Cleanup-Image /CheckHealth
//pokročilé vyhledání poškození, ale neopravuje
Dism /Online /Cleanup-Image /ScanHealth
//hledá a pokusí se opravit poškozené součásti
DISM /Online /Cleanup-Image /RestoreHealth
// oprava offline jednotky, kde D je systémová jednotka zjištěná pomocí BCDEdit
DISM /image:D:\ /cleanup-image /restorehealth
//zrušení čekajících aktualizací
DISM /image:C:\ /cleanup-image /revertpendingactions
//další příkazy
DISM /Online /Cleanup-Image /RestoreHealth /Source:F:\sources\install.wim
DISM /Online /Cleanup-Image /RestoreHealth /Source:E\sources\install.wim /LimitAccess
DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:F:\sources\install.wim:1 /LimitAccess
DISM /Online /Cleanup-Image /RestoreHealth /Source:C:\$Windows.~BT\Sources\Install.esd /LimitAccess
DISM /Online /Cleanup-Image /RestoreHealth /Source:esd:C:\$Windows.~BT\Sources\Install.esd:1 /LimitAccess
DISM /Online /Cleanup-Image /RestoreHealth /Source:D:\Sources\Install.esd
//s použitím parametru scratchdir, adresář musí existovat např. d:\dism
Dism /Online /Cleanup-Image /CheckHealth /scratchdir:d:\dism
Pokud Při opravě pomocí DISM nastane chyba 87, je její nejčastější příčinou:
- chybně zadaný příkaz
- příkaz neběží se zvýšeným oprávněním (správce)
- systém čeká na aktualizaci systému (aktualizovat PC)
- počítač obsahuje jinou verzi DISM (použít správnou verzi DISM)
Odstranění aktualizace pomocí DISM
//zjištění aktualizací dism /image:d:\ /get-packages //najděte si poslední aktualizace, bude vypadat něco jako Package_for_KB978262 ~ 31bf3856ad364e35 ~ x86 ~ ~ 6.1.1.0 a odinstalujte ji dism /image:d:\ /remove-package /packageName:Package_for_KB978262~31bf3856ad364e35~x86~~6.1.1.0
Oprava Windows z USB média
//zjistíme jaké jsou image na disku dism /Get-WimInfo /WimFile:E:\x64\source\install.esd //příkaz nám vypíše něco jako index 1: Home index 2: Education index 3: Pro //oprava z instalačního média, kde E:\source by mělo obsahovat soubory install.esd a install.wim dism /image:d /cleanup-image /restorehealth /source:E:\source /LimitAccess //na disku D vytvoříme adresáč dism, kde E: je označení USB disku, install.esd:1 první index a source: nabývá hodnod ESD nebo WIM, dle typu image souboru dism /image:c /cleanup-image /restorehealth /source:ESD:E:\x64\source\install.esd:1 /LimitAccess /scratchdir:d:\dism logpath:e:\dism-log.log
Vymazání WinSxS
Dism.exe /online /Cleanup-Image /StartComponentCleanup
Ruční instalace aktualizací
Balíček MSU nemůže být instalován online.
//informace o balíčku Dism /Image:C:\test\offline /Get-PackageInfo /PackagePath:C:\packages\package.cab //přidání balíčku cab Dism /Image:C:\test\offline /Add-Package /PackagePath:C:\packages\package1.cab /PackagePath:C:\packages\package2.cab /IgnoreCheck //přidání balíčku msu Dism /Image:C:\test\offline /LogPath:AddPackage.log /Add-Package /PackagePath:C:\packages\package.msu //instalace balíčku MSU online pomocí WUSA c:\windows\system32\wusa.exe C:\packages\package.msu /quiet /norestart //rozbalení msu balíčku do adresáře pro získání cab Expand –F:* C:\packages\package.msu C:\packages\unpackKBpackage
Odkazy a zdroje:
https://support.microsoft.com/cs-cz/help/947821/fix-windows-update-errors-by-using-the-dism-or-system-update-readiness
https://support.microsoft.com/en-us/help/929833/use-the-system-file-checker-tool-to-repair-missing-or-corrupted-system
https://www.windowscentral.com/how-use-dism-command-line-utility-repair-windows-10-image
https://www.minitool.com/backup-tips/dism-error-87.html
https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/clean-up-the-winsxs-folder?view=windows-11
Aktualizace
https://docs.microsoft.com/en-us/archive/blogs/askcore/how-to-use-dism-to-install-a-hotfix-from-within-windows
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/dism-operating-system-package-servicing-command-line-options