Błąd 0x800f0831 oznacza uszkodzenie magazynu składników systemu Windows, znane jako CBS_E_STORE_CORRUPTION. Najczęściej brakuje manifestu wymaganego pakietu albo poprzednia aktualizacja została zastosowana tylko częściowo. Zacznij od DISM i SFC, a jeśli nie pomogą, znajdź brakujący pakiet w pliku CBS.log i zainstaluj go ręcznie.
Dlaczego pojawia się błąd 0x800f0831?
Kod może pojawić się podczas instalowania aktualizacji przez Windows Update albo autonomiczny instalator MSU. Nie wskazuje przede wszystkim na problem z połączeniem internetowym. System nie potrafi rozpoznać składnika potrzebnego do ukończenia instalacji.
Najczęstsze przyczyny to:
- brakujący manifest pakietu w magazynie składników,
- niepełne zastosowanie wcześniejszej aktualizacji,
- uszkodzone pliki systemowe,
- pozostałości po przerwanej instalacji pakietu.
Dokładną przyczynę znajdziesz w pliku C:\Windows\Logs\CBS\CBS.log. W niektórych przypadkach pomocne może być także sprawdzenie pakietów w kluczu rejestru HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages. Nie modyfikuj jednak rejestru bez kopii zapasowej.
Naprawa za pomocą DISM i SFC
Ta metoda jest pierwszym krokiem, ponieważ korzysta z wbudowanych narzędzi Windows. Otwórz menu Start, wpisz „Wiersz polecenia”, kliknij wynik prawym przyciskiem myszy i wybierz uruchomienie jako administrator. Następnie wykonuj polecenia po kolei:
- Sprawdź, czy magazyn składników został oznaczony jako uszkodzony, wpisując
DISM /Online /Cleanup-Image /CheckHealth. - Uruchom dokładniejsze skanowanie poleceniem
DISM /Online /Cleanup-Image /ScanHealth. - Rozpocznij naprawę magazynu składników za pomocą
DISM /Online /Cleanup-Image /RestoreHealth. - Po zakończeniu DISM uruchom kontrolę plików systemowych poleceniem
sfc /scannow.
DISM może przez pewien czas nie pokazywać postępu, dlatego nie zamykaj okna przed zakończeniem operacji. Po wykonaniu wszystkich poleceń uruchom ponownie komputer i spróbuj zainstalować aktualizację.
| Metoda | Złożoność | Kiedy ją stosować? |
|---|---|---|
| DISM i SFC | Niska | Jako pierwszy krok naprawy magazynu składników |
| Ręczna instalacja pakietu KB | Wyższa | Gdy DISM nie naprawił błędu albo log wskazuje brakujący pakiet |
| Ponowna instalacja systemu | Najwyższa | Gdy naprawa konkretnego pakietu nie przynosi rezultatu |
Jak znaleźć brakujący pakiet w CBS.log?
Jeśli DISM zakończy się błędem albo 0x800f0831 nadal będzie blokować aktualizację, odczytaj dziennik CBS. Najpierw ponownie spróbuj zainstalować problematyczną aktualizację, aby log zawierał świeże wpisy.
- Otwórz Eksplorator plików i przejdź do
C:\Windows\Logs\CBS. - Skopiuj plik
CBS.logna pulpit, ponieważ plik w katalogu systemowym może być zablokowany. - Otwórz kopię w Notatniku i wyszukaj frazę
Store corruptionalbomanifest missing for package. - Odczytaj nazwę pakietu z wpisu podobnego do
manifest missing for package: Package_123_for_KB1234567....
Najważniejszy jest numer KB znajdujący się w nazwie pakietu. Jeśli nie widzisz go przy pierwszym wyszukiwaniu, sprawdź także frazy Failed to resolve package, Missing_Package i 0x800f0831. Gdy log pokazuje tylko nazwę pakietu bez numeru KB, przeanalizuj kilka sąsiednich wpisów. Numer aktualizacji bywa zapisany w poprzedniej lub następnej linii.
Ręczna instalacja brakującego pakietu
Po ustaleniu numeru KB pobierz aktualizację z Microsoft Update Catalog. Wybierz wersję zgodną z edycją Windows, numerem kompilacji i architekturą systemu, na przykład x64 lub ARM64. Zapisz plik MSU w folderze C:\temp.
W dalszych krokach zastąp nazwę przykładową rzeczywistą nazwą pobranego pliku:
- Otwórz Wiersz polecenia jako administrator i przejdź do folderu tymczasowego poleceniem
cd /d C:\temp. - Rozpakuj plik MSU poleceniem
expand -F:* nazwa_pakietu.msu C:\temp\rozpakowany. - Otwórz folder
C:\temp\rozpakowanyi znajdź plik CAB odpowiadający wersji systemu oraz numerowi KB. - Jeżeli log wskazuje pakiet częściowo zainstalowany, usuń go poleceniem
DISM /Online /Remove-Package /PackagePath:C:\temp\rozpakowany\nazwa_pakietu.cab. Ten krok wykonuj tylko wtedy, gdy masz pewność, że pakiet jest już częściowo obecny w systemie. - Zainstaluj właściwy plik CAB poleceniem
DISM /Online /Add-Package /PackagePath:C:\temp\rozpakowany\nazwa_pakietu.cab. - Uruchom komputer ponownie i ponów instalację aktualizacji.
Ścieżka i nazwa pliku CAB muszą odpowiadać rzeczywistym plikom na dysku. Nie wpisuj dosłownie tekstu nazwa_pakietu.cab. Błędna architektura lub pakiet przeznaczony dla innej wersji Windows może zakończyć się kolejnym błędem instalacji.
O czym pamiętać przed naprawą?
Przed użyciem DISM, usuwaniem pakietu lub pracą z plikami systemowymi wykonaj kopię zapasową ważnych danych oraz, jeśli to możliwe, obraz dysku systemowego. Ręczna ingerencja w magazyn składników może pogorszyć stan systemu, gdy zostanie użyty niewłaściwy pakiet.
Przed rozpoczęciem sprawdź:
- czy Wiersz polecenia został uruchomiony z uprawnieniami administratora,
- czy numer KB pochodzi z aktualnego wpisu w CBS.log,
- czy pobrany pakiet pasuje do wersji i architektury Windows,
- czy ścieżka do pliku CAB jest wpisana bez literówek.
Jeśli naprawa DISM, SFC i ręczna instalacja właściwego pakietu nie rozwiążą problemu, system może wymagać naprawy instalacji lub ponownej instalacji Windows. Przed takim krokiem zabezpiecz dane i skorzystaj z dokumentacji dotyczącej używanej wersji systemu.