Powolna instalacja aktualizacji systemu Windows w formacie * .msu

Długo to zauważam MSU Pliki aktualizacji Windows pobrane ręcznie z katalogu Windows Update są instalowane znacznie wolniej niż te same aktualizacje otrzymywane przez system za pośrednictwem usługi automatycznych aktualizacji (z witryny WU lub lokalnego serwera WSUS). W jednym z przypadków, które skłoniły mnie do wyszukania przyczyn długiej instalacji aktualizacji, ręczna instalacja wystarczająco dużego pakietu zbiorczego Convenience (SP2) dla systemu Windows Server 2008 R2 z pliku msu zajęła ponad 5 godzin (!!!). Podczas aktualizacji serwerów przez WSUS ta sama aktualizacja została zainstalowana w zaledwie 30-40 minut.

Usługa Windows Auto Update Service pobiera pliki aktualizacji do Kabina format (patrz zawartość katalogu „C: \ Windows \ SoftwareDistribution \ Download”). W przypadku, gdy chcesz ręcznie pobrać określoną poprawkę, tylko pliki aktualizacji * .msu będą dostępne na stronie pobierania katalogu Windows Update. Wbudowane narzędzie służy do instalowania aktualizacji w formacie msu WUSA.exe (Samodzielny instalator Windows Update).

Powolna instalacja aktualizacji * .msu jest obserwowana zarówno podczas ręcznej instalacji pliku aktualizacji (jednym podwójnym kliknięciem), jak i podczas uruchamiania instalacji za pomocą zadania SCCM lub skryptu logowania zasad grupy za pomocą wywołania wusa.exe.

Problem powolnej instalacji aktualizacji jest bardziej charakterystyczny w Windows Server 2008 R2 i Windows 7, ale obserwuje się go także w innych wersjach systemu Windows (choć w mniejszym stopniu)

Spróbujmy w systemie Windows 10 1709 wykryć czas instalacji styczniowej poprawki KB4056892 (w celu ochrony przed lukami w zabezpieczeniach Meltdown i Spectre).

Uruchom instalację aktualizacji za pomocą polecenia

wusa "C: \ Distr \ windows10.0-kb4056892-x64.msu"

Zaczekamy, aż łata zostanie zainstalowana (w systemie Windows 7 instalacja aktualizacji msu trwa jeszcze dłużej, czasem wydaje się, że wusa.exe zawiesza się na kilkadziesiąt minut). Aby uzyskać informacje na temat czasu rozpoczęcia i zakończenia instalacji aktualizacji systemu Windows, zobacz syslog Setup (Instalacja) za pomocą konsoli graficznej Podgląd zdarzeń -> Dzienniki systemu Windows -> Konfiguracja lub takie polecenie PowerShell:

Get-WinEvent -FilterHashTable @ LogName = "Setup" | ? $ _. message -match "4056892"

Jak widać, zespół zwrócił kilka wydarzeń z różnych źródeł Microsoft-Windows-Servicing i Microsoft-Windows-WUSA. Odpowiednio czas rozpoczęcia instalacji (inicjowanie zmian w pakiecie KB4056892) to 10:02:21, czas zakończenia instalacji aktualizacji 10:37 (aktualizacja systemu Windows „Aktualizacja zabezpieczeń dla systemu Windows (KB4056892)” została pomyślnie zainstalowana). Łącznie instalacja aktualizacji zajęła około 35 minut. Oczywiście nie jest to najbardziej ilustracyjny przypadek, ale wciąż dość długi czas.

Szczegółowe informacje na temat wszystkich działań wykonywanych przez system podczas instalowania aktualizacji można uzyskać z pliku Cbs.log (znajduje się w katalogu c: \ windows \ logs \ cbs) Jeśli przyjrzysz się w nim szczegółowo zapisom zdarzeń, zobaczysz, że większość czasu spędza się na inicjowaniu instalacji, poszukiwaniu zależności (wydaje się, że wykonywana jest pewna synchronizacja z serwerem WU / WSUS) i tworzeniu punktu przywracania systemu..

Spróbujemy zainstalować tę samą aktualizację, ale w formacie CAB, po rozpakowaniu pliku MSU zgodnie z instrukcjami z artykułu na temat plików aktualizacji cab i msu.

Rozpakuj plik

rozwiń _f: * „C: \ Distr \ windows10.0-kb4056892-x64.msu” C: \ Distr \ kb4056892

Zainstaluj aktualizację bezpośrednio na obrazie za pomocą DISM (bez użycia wusa):

DISM.exe / Online / Add-Package /PackagePath:"C:\Distr\kb4056892\Windows10.0-KB4056892-x64.cab "

Uwaga. Polecenia DISM.exe / Online / Add-Package można również użyć do bezpośredniej instalacji plików * .msu bez pierwszego rozpakowywania. Jednak z jakiegoś powodu DISM nie działa z aktualizacjami msu dla IE 11 i prawdopodobnie z czegoś innego. Dlatego ta metoda nie będzie uniwersalna.

Sprawdzamy czas instalacji aktualizacji - teraz instalacja zajęła 17 minut, tj. skrócono czas instalacji aktualizacji 2 razy!

Ponadto, jeśli przed instalacją aktualizacji msu za pośrednictwem wusa.exe, wyłącz usługę aktualizacji systemu Windows i usługa kopiowania w tle (służy do tworzenia punktu przywracania systemu Windows), szybkość instalowania aktualizacji jest znacznie zwiększona. Dlatego jeśli nadal chcesz instalować aktualizacje w formacie msu, w celu szybszej instalacji użyj następującego skryptu:

Net Stop Wuauserv
sc config vss start = wyłączone
stop netto vs
start / wait wusa „C: \ Distr \ windows10.0-kb4056892-x64.msu” / quiet / norestart
sc config vss start = auto
start netto vs
start netto wuauserv

Oczywiście konkretna aktualizacja może powodować problemy z systemem, a ze względu na brak rzeczywistego punktu przywracania należy usunąć aktualizację w ten sposób.

Lub musisz rozpakować aktualizacje i zainstalować je w formacie CAB za pośrednictwem DISM, jak opisano powyżej.

Ta metoda pomoże Ci zainstalować aktualizację systemu Windows tak szybko, jak to możliwe, i pozostać w dedykowanym oknie konserwacji (co jest szczególnie ważne w przypadku serwerów produkcyjnych).