Archiv štítku: sfc

Oprava nefunkčních nebo poškozených Windows pomocí SFC a DISM

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