Mam maszynę wirtualną z systemem Windows Azure z systemem Windows Server 2012 R2, która nie była w stanie instalować aktualizacji od kwietnia 2016 r. Ekran „Wyświetl historię aktualizacji” w Panelu sterowania wyświetla setki kolejnych awarii spowodowanych ciągłymi próbami instalowania aktualizacji na każdym komputerze uruchom ponownie.
Okno Szczegóły każdej aktualizacji przypomina:
Aktualizacja systemu Windows Server 2012 R2 (KB3133690)
- Data instalacji: 2016- 04-25 25 10:34
- Status instalacji: Niepowodzenie
- Szczegóły błędu: Kod 800F0922 Uzyskaj pomoc dotyczącą tego błędu
- Typ aktualizacji: zalecany
Zainstaluj tę aktualizację, aby rozwiązać problemy w systemie Windows. Aby uzyskać pełną listę problemów zawartych w tej aktualizacji, zobacz powiązany artykuł z bazy wiedzy Microsoft Knowledge Base, aby uzyskać więcej informacji. Po zainstalowaniu tego elementu może być konieczne ponowne uruchomienie komputera.
Więcej informacji: http://support.microsoft.com/kb/3133690
Pomoc i wsparcie: http://support.microsoft.com
(Jak zwykle link „Uzyskaj pomoc z tym błędem” jest bezużyteczny i otwiera okno Pomocy i obsługi technicznej systemu Windows, które po prostu brzmi „Uzyskiwanie wyników wyszukiwania ... Nie mogliśmy znaleźć żadnych wyników. Oto kilka rzeczy do wypróbowania:”. Ugh
Dziennik zdarzeń systemu Windows jest również pełen takich zdarzeń:
- Nazwa dziennika: System
- Źródło: WindowsUpdateClient
- Identyfikator zdarzenia: 20
- Poziom: błąd
- Użytkownik: SYSTEM
- OpCode: Instalacja Niepowodzenie instalacji: System Windows nie zainstalował następującej aktualizacji z błędem 0x800F0922: Aktualizacja zabezpieczeń dla systemu Windows Server 2012 R2 (KB3159398).
Dziennik zdarzeń aplikacji zawiera bardziej przydatne informacje:
- Nazwa dziennika: aplikacja
- Źródło: Raportowanie błędów systemu Windows
- Identyfikator zdarzenia: 1001
- Poziom: Informacje
- Użytkownik: nie dotyczy Zbiornik błędów, typ 0 Nazwa zdarzenia: WindowsUpdateFailure3 Odpowiedź: Niedostępny Identyfikator kabiny: 0
Podpis problemu: P1: 7.9.9600.18235 P2: 800f0922 P3: BA0F75FF-19C3-4CBD-A3F3-EF5B5C0F88BF P4: Zainstaluj P5: 202 P6: 0 P7: 0 P8: Automatyczna aktualizacja Wupp P9: {7971F918-A847-4452DD277 P10: 0
Załączone pliki: C: \ Windows \ WindowsUpdate.log C: \ Windows \ SoftwareDistribution \ ReportingEvents.log C: \ Windows \ Logs \ CBS \ CBS.log
Te pliki mogą być dostępne tutaj: C: \ ProgramData \ Microsoft \ Windows \ WER \ ReportQueue \ NonCritical_7.9.9600.18235_ (Zredagowane)
Symbol analizy: Ponowne sprawdzenie rozwiązania: 0 Identyfikator raportu: (zredagowany) Status raportu: 4 Mieszane wiadro:
Serwer zrestartuje się, aby zainstalować aktualizacje, a następnie natychmiast zatrzyma się i przywróci, dzięki czemu normalny restart trwa ponad 15 minut.
Plik dziennika C:\Windows\WindowsUpdate.log
nie daje żadnych wskazówek - nie zgłasza żadnych oczywistych błędów ani ostrzeżeń - oprócz nadmiernych komunikatów o niemożności korzystania z interfejsu API połączenia z pomiarem: „OSTRZEŻENIE: Nie można uzyskać informacji o koszcie sieci z NLM, zakładając, że sieć NIE zmierzono, błąd = 0x80240037 ”.
C:\Windows\SoftwareDistribution\ReportingEvents.log
Plik zawiera tylko taki sam tekst jak w panelu sterowania Windows Update: „Failure zawartość strony zainstaluj niepowodzenia instalacji: Windows nie może zainstalować następującej aktualizacji z powodu błędu 0x800f0922. Aktualizacja zabezpieczeń dla systemu Windows Server 2012 R2 (KB3162343)”
Wreszcie C:\Windows\Logs\CBS\CBS.log
jest to plik tekstowy o rozmiarze 180 MB +, który przejrzałem, ale nie mogłem znaleźć niczego oczywistego.
Odpowiedzi:
TL; DR:
Wyczyść swój
C:\Windows\Temp
katalog i inne katalogi Temp, aby zachować dokładność - wtedy powinien poprawnie zainstalować aktualizacje.Wyjaśnienie:
Ponieważ jest to maszyna wirtualna platformy Azure, dostępna jest warstwa pomocy technicznej Microsoft „Basic” - przyznanie jej zajęło 3 dni, ale pracownicy pomocy technicznej mogli znaleźć obejście już dziś.
W
CBS.log
pliku zauważył tę linię (przyciętą i uporządkowaną przeze mnie):Ważny jest ten błąd:
Polecił mi zmienić domyślne zmienne środowiska:
TEMP
aTMP
zarówno w układzie i definicje do użytkownikaC:\TEMP
oraz do zapewnieniaEveryone
mieliśmyFull Access
doC:\TEMP
.Po ponownym uruchomieniu zablokowane aktualizacje są instalowane bez dalszych problemów.
Po prawidłowym zainstalowaniu tych aktualizacji usunąłem wszystkie pliki z oryginalnego katalogu C: \ Windows \ Temp (co trwało ponad 5 minut, było wiele głęboko zagnieżdżonych plików). Następnie resetuję zmienne środowiskowe TMP i TEMP z powrotem do
C:\Windows\Temp
i ponownie uruchamiam.Dwie nowe aktualizacje były następnie gotowe do zainstalowania i instalacja zakończyła się bez żadnych problemów.
Myślę więc, że problemem były złe dane w katalogu Temp, które uniemożliwiły aktualizacje.
Aktualizacja w połowie 2017 r .: Ostatnio miałem podobny incydent na laptopie z systemem Windows 10 z tym samym kodem błędu. Natychmiast poszedłem do
C:\Windows\Temp
katalogu i zobaczyłem, że ma w nim dużo plików (około 16 000 plików i folderów), w tym również głęboko zagnieżdżone foldery. Po usunięciu wszystkiego z katalogu i ponownym uruchomieniu, mogłem ponownie zainstalować aktualizacje.źródło
Udało mi się to rozwiązać, zwiększając rozmiar przydzielony do partycji zarezerwowanej dla systemu.
Szukając wszystkich wystąpień „błędu” w
%windir%\Logs\CBS\CBS.log
pliku, znalazłem następujący wpis:Szukając tego komunikatu o błędzie w Google, znalazłem następujący wątek, w którym zasugerowano, że podstawowym problemem była partycja zarezerwowana przez system, która nie miała wystarczającej ilości wolnego miejsca do zainstalowania aktualizacji, i że można ją zwiększyć za pomocą Kreatora partycji MiniTool za darmo :
źródło