Skocz do zawartości

Readiness Tool - analiza loga CheckSur.log


Rekomendowane odpowiedzi

Readiness Tool - analiza logów


ARTYKUŁ JEST PRZEZNACZONY WYŁĄCZNIE DLA DOŚWIADCZONYCH UŻYTKOWNIKÓW



Poniższy artykuł może pomóc w rozwiązaniu bardzo wiele błędów Windows Update m.in:

0x80070001,0x80070002,0x80070003,0x80070005,0x8007000D,0x80070026,0x80070057,0x80070246,
0x800703EE,0x80070490,0x800705B9,0x8007065E,0x800706BE,0x800736B3,0x800736CC,0x80073701,0x8007370A,
0x8007370B,0x8007370D,0x80073712,0x8007371B,0x80080005,0x80092003,0x80092004,0x800B0100,0x800B0101,
0x800F080D,0x800F0818,0x800F081F,0x800F0900,0x800F0A05


Artykuł ten jest także przydatny w przypadku wielu problemów Włącz lub wyłącz funkcje systemu Windows.



Wiele błędów dotyczących problemu z aktualizacjami systemu Windows czy też z problemami z włączeniem jakiejś funkcji w systemie w
"Włącz lub wyłącz funkcje systemu Windows" jest spowodowane uszkodzeniami w folderach WinSxS, Packages lub w kluczach CBS czy COMPONENTS. Do diagnostyki i naprawy takich błędów MS stworzył narzędzie Readiness Tool: KB947821. Po uruchomieniu narzędzie stara się wykryć błędy i naprawić je w sposób automatyczny. Niestety w praktyce w większości przypadku narzędzie nie rozwiąże problemu samoczynnie i interwencja uzytkownika jest tu niezbędna. Po zakończeniu swojej pracy narzedzie tworzy log CheckSur.log w folderze C:\Windows\Logs\CBS.

Logi mogą wyglądać bardzo różnie i różna jest skala trudności ich analizy. Przykłady:



Przykład I
Nieco bardziej zaawansowany log z błędem 800B0100. Sekcja "Unavailable repair files" jednoznacznie wskazuje wszystkie uszkodzone komponenty. Tutaj oprócz uszkodzeń w folderze Packages są także uszkodzenia w WinSxS.

=================================
Checking System Update Readiness.
Binary Version 6.1.7600.20593
Package Version 7.0
2010-03-04 06:31

Checking Windows Servicing Packages

Checking Package Manifests and Catalogs
(f) CBS MUM Corrupt 0x800F0900 servicing\Packages\Package_1_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.mum Line 1:
(f) CBS Catalog Corrupt 0x800B0100 servicing\Packages\Package_1_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.cat
(f) CBS MUM Corrupt 0x800F0900 servicing\Packages\Package_2_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.mum Line 1:
(f) CBS Catalog Corrupt 0x800B0100 servicing\Packages\Package_2_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.cat
(f) CBS MUM Corrupt 0x800F0900 servicing\Packages\Package_for_KB978637_RTM~31bf3856ad364e35~amd64~~6.1.1.1.mum Line 1:
(f) CBS Catalog Corrupt 0x800B0100 servicing\Packages\Package_for_KB978637_RTM~31bf3856ad364e35~amd64~~6.1.1.1.cat
(f) CBS MUM Corrupt 0x800F0900 servicing\Packages\Package_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.mum Line 1:
(f) CBS Catalog Corrupt 0x800B0100 servicing\Packages\Package_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.cat

Checking Package Watchlist

Checking Component Watchlist

Checking Packages

Checking Component Store
(f) CSI Manifest All Zeros 0x00000000 winsxs\Manifests\amd64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7600.20602_none_c4f7d8ca09dfa6fb.manifest amd64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7600.20602_none_c4f7d8ca09dfa6fb
(f) CSI Manifest All Zeros 0x00000000 winsxs\Manifests\amd64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7600.16491_none_c40bea82f10bec2c.manifest amd64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7600.16491_none_c40bea82f10bec2c
(f) CSI Manifest All Zeros 0x00000000 winsxs\Manifests\wow64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7600.20602_none_cf4c831c3e4068f6.manifest wow64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7600.20602_none_cf4c831c3e4068f6
(f) CSI Manifest All Zeros 0x00000000 winsxs\Manifests\wow64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7600.16491_none_ce6094d5256cae27.manifest wow64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7600.16491_none_ce6094d5256cae27

Summary:
Seconds executed: 142
Found 12 errors
CSI Manifest All Zeros Total count: 4
CBS MUM Corrupt Total count: 4
CBS Catalog Corrupt Total count: 4

Unavailable repair files:
winsxs\manifests\amd64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7600.20602_none_c4f7d8ca09dfa6fb.manifest
winsxs\manifests\amd64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7600.16491_none_c40bea82f10bec2c.manifest
winsxs\manifests\wow64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7600.20602_none_cf4c831c3e4068f6.manifest
winsxs\manifests\wow64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7600.16491_none_ce6094d5256cae27.manifest
servicing\packages\Package_1_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.mum
servicing\packages\Package_1_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.mum
servicing\packages\Package_2_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.mum
servicing\packages\Package_2_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.mum
servicing\packages\Package_for_KB978637_RTM~31bf3856ad364e35~amd64~~6.1.1.1.mum
servicing\packages\Package_for_KB978637_RTM~31bf3856ad364e35~amd64~~6.1.1.1.mum
servicing\packages\Package_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.mum
servicing\packages\Package_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.mum
servicing\packages\Package_1_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.cat
servicing\packages\Package_1_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.cat
servicing\packages\Package_2_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.cat
servicing\packages\Package_2_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.cat
servicing\packages\Package_for_KB978637_RTM~31bf3856ad364e35~amd64~~6.1.1.1.cat
servicing\packages\Package_for_KB978637_RTM~31bf3856ad364e35~amd64~~6.1.1.1.cat
servicing\packages\Package_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.cat
servicing\packages\Package_for_KB978637~31bf3856ad364e35~amd64~~6.1.1.1.cat



Przykład II
Niemożność otwarcia funkcji "Włącz lub wyłącz funkcje systemu Windows" (fragment loga). Komponenty przy których stoi znaczek (fix) oznacza, że narzędzie naprawiło problem automatycznie.

(f) CSI Missing Deployment Key 0x00000000 microsoft-w..anguagepack_31bf3856ad364e35_6.1.7600.16385_d4c01c6932a42ec3 HKLM\Components\CanonicalData\Deployments
(f) CSI Missing Deployment Key 0x00000000 microsoft-w..anguagepack_31bf3856ad364e35_6.1.7600.16385_99fe045407bd44b1 HKLM\Components\CanonicalData\Deployments
(f) CSI Missing Deployment Key 0x00000000 microsoft-w..anguagepack_31bf3856ad364e35_6.1.7600.16385_fa5e4dffe1e88db4 HKLM\Components\CanonicalData\Deployments
(f) CSI Missing Identity 0x00000000 identity amd64_microsoft-windows-i..iccontent.resources_31bf3856ad364e35_6.1.7600.16385_en-us_06458c544252951f
(fix) CSI Missing Identity CSI Registry Item Repaired amd64_microsoft-windows-i..iccontent.resources_31bf3856ad364e35_6.1.7600.16385_en-us_06458c544252951f
(f) CSI Missing Deployment Key 0x00000000 microsoft-w..anguagepack_31bf3856ad364e35_6.1.7600.16385_8a9c86005f761e26 HKLM\Components\CanonicalData\Deployments
(f) CSI Missing Deployment Key 0x00000000 microsoft-w..anguagepack_31bf3856ad364e35_6.1.7600.16385_506389b6220fd1c7 HKLM\Components\CanonicalData\Deployments
(f) CSI Missing Deployment Key 0x00000000 microsoft-w..anguagepack_31bf3856ad364e35_6.1.7600.16385_b7dc3d9314539d96 HKLM\Components\CanonicalData\Deployments
(f) CSI Missing Deployment Key 0x00000000 microsoft-w..anguagepack_31bf3856ad364e35_6.1.7600.16385_924ea401e9dabd40 HKLM\Components\CanonicalData\Deployments
(f) CSI Missing Deployment Key 0x00000000 microsoft-w..anguagepack_31bf3856ad364e35_6.1.7600.16385_d08b17d43b43dd40 HKLM\Components\CanonicalData\Deployments
(f) CSI Missing Deployment Key 0x00000000 microsoft-w..anguagepack_31bf3856ad364e35_6.1.7600.16385_d11d45ff9c5b8d99 HKLM\Components\CanonicalData\Deployments
(f) CSI Missing Deployment Key 0x00000000 microsoft-w..anguagepack_31bf3856ad364e35_6.1.7600.16385_2bee90910a243965 HKLM\Components\CanonicalData\Deployments
(f) CSI Missing Deployment Key 0x00000000 microsoft-w..anguagepack_31bf3856ad364e35_6.1.7600.16385_c69d3d11fe62fca4 HKLM\Components\CanonicalData\Deployments
(f) CSI Missing Identity 0x00000000 identity amd64_microsoft-windows-i..orybrowse.resources_31bf3856ad364e35_6.1.7600.16385_en-us_bcfe3adf37b82f21
(fix) CSI Missing Identity CSI Registry Item Repaired amd64_microsoft-windows-i..orybrowse.resources_31bf3856ad364e35_6.1.7600.16385_en-us_bcfe3adf37b82f21
(f) CSI Missing Deployment Key 0x00000000 wcf-nonhttp..anguagepack_31bf3856ad364e35_6.1.7600.16385_ad7e47bf75b19e45 HKLM\Components\CanonicalData\Deployments
(f) CSI Missing Deployment Key 0x00000000 microsoft-w..anguagepack_31bf3856ad364e35_6.1.7600.16385_6f32e6840ceb657b HKLM\Components\CanonicalData\Deployments
(f) CSI Missing Deployment Key 0x00000000 microsoft-w..anguagepack_31bf3856ad364e35_6.1.7600.16385_13c68ed0db89a233 HKLM\Components\CanonicalData\Deployments
(f) CSI Missing Deployment Key 0x00000000 microsoft-w..anguagepack_31bf3856ad364e35_6.1.7600.16385_362b9f1a38b9376f HKLM\Components\CanonicalData\Deployments



Przykład III
Tutaj pozostawione puste klucze po jakimś starym wyinstalowanym komponencie. Komunikaty "CBS Watchlist Component Missing 0x80070002" + "Package registry presence failed, possibly an orphaned package on package watchlist" na ogół oznaczają pusty wpis po odinstalowanym komponencie, ale nie zawsze...może to też oznaczać, że klucz jest uszkodzony bądź jego brak.

=================================
Checking System Update Readiness.
Binary Version 6.0.6002.22285
Package Version 7.0
2010-04-07 10:30

Checking Windows Servicing Packages

Checking Package Manifests and Catalogs

Checking Package Watchlist

Checking Component Watchlist
(f) CBS Watchlist Component Missing 0x80070002 amd64_bthmtpenum.inf_31bf3856ad364e35_0.0.0.0_none_7ff053f99479855b Microsoft-Windows-WPD7IP-SKU-Package~31bf3856ad364e35~amd64~~7.0.6002.18112.bthmtpenum Package registry presence failed, possibly an orphaned package on package watchlist
(f) CBS Watchlist Component Missing 0x80070002 amd64_wpdfs.inf_31bf3856ad364e35_0.0.0.0_none_a5e566b2d3236f6d Microsoft-Windows-WPD7IP-SKU-Package~31bf3856ad364e35~amd64~~7.0.6002.18112.wpdfs Package registry presence failed, possibly an orphaned package on package watchlist
(f) CBS Watchlist Component Missing 0x80070002 amd64_wpdmtp.inf_31bf3856ad364e35_0.0.0.0_none_9f92d6d487384aad Microsoft-Windows-WPD7IP-SKU-Package~31bf3856ad364e35~amd64~~7.0.6002.18112.wpdmtp Package registry presence failed, possibly an orphaned package on package watchlist
(f) CBS Watchlist Component Missing 0x80070002 amd64_wpdmtphw.inf_31bf3856ad364e35_0.0.0.0_none_78371ba92ff2a242 Microsoft-Windows-WPD7IP-SKU-Package~31bf3856ad364e35~amd64~~7.0.6002.18112.wpdmtphw Package registry presence failed, possibly an orphaned package on package watchlist

Checking Packages

Checking Component Store

Summary:
Seconds executed: 2230
Found 4 errors
CBS Watchlist Component Missing Total count: 4



Przykład IV
Readiness Tool może także wykrywać problemy z uprawnieniami. W poniższym przykładzie nie ma niczego ani do usuwania ani uzupełniania - wystarczy jedynie zresetować uprawnienia.

=================================
Checking System Update Readiness.
Binary Version 6.1.7600.20667
Package Version 8.0
2010-07-20 05:20

Checking Windows Servicing Packages

Checking Package Manifests and Catalogs

Checking Package Watchlist
(f) CBS Watchlist Package Missing 0x80070005 Microsoft-Windows-Client-Features-Package~31bf3856ad364e35~x86~~0.0.0.0 Package_2_for_KB978542~31bf3856ad364e35~x86~~6.1.1.1 Package registry presence failed, possibly an orphaned package on package watchlist

Checking Component Watchlist
(f) CBS Watchlist Component Missing 0x80070005 x86_microsoft-windows-mail-core-dll_31bf3856ad364e35_0.0.0.0_none_7c58b7336d745ee2 Package_2_for_KB978542~31bf3856ad364e35~x86~~6.1.1.1 Package registry presence failed, possibly an orphaned package on package watchlist
(f) CBS Watchlist Component Missing 0x80070005 x86_microsoft-windows-mail-core-dll_31bf3856ad364e35_0.0.0.0_none_7c58b7336d745ee2 Package_2_for_KB978542~31bf3856ad364e35~x86~~6.1.1.1 Package registry presence failed, possibly an orphaned package on package watchlist

Checking Packages
(f) CBS Registry Error 0x00000005 Package_2_for_KB978542~31bf3856ad364e35~x86~~6.1.1.1 Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\ Failed to open store sub key

Checking Component Store
(f) CSI Corrupt Keyform: Permission Denied 0x00000005 116e2eed80d..b378328db7c_31bf3856ad364e35_6.1.7600.16543_c700b2077690d8b3 HKLM\Components\CanonicalData\Deployments
(f) CSI Corrupt Keyform: Permission Denied 0x00000005 116e2eed80d..b378328db7c_31bf3856ad364e35_6.1.7600.16543_c700b2077690d8b3 HKLM\Components\CanonicalData\Deployments

Summary:
Seconds executed: 156
Found 6 errors
CSI Corrupt Keyform: Permission Denied Total count: 2
CBS Registry Error Total count: 1
CBS Watchlist Package Missing Total count: 1
CBS Watchlist Component Missing Total count: 2




IDENTYFIKACJA

Jest na to kilka sposobów:

I. Porównywanie z innym komputerem. Popularna metoda jednakże należy pamiętać że nie zawsze jest w 100% skuteczna. Nawet dwie maszyny z tą samą wersją systemu, architekturą, wersją językowąmogą się różnić bo:

- są różne stany aktualizacji systemu
- ta sama łata może się inaczej instalować w różnych systemach w zależności np. od wersji języka
- niektóre aktualizacje są przeznaczone specjalne pod dany sprzęt i tak co jest przeznaczone dla komputera X nigdy nie będzie przeznaczone dla komputera Y
- metoda instalacji serwis paków ma wpływ na strukturę WinSxS - tak,tak - system z zainstalowanym SP z Microsoft Download Center modyfikuje inaczej WinSxS niż to robi SP z Windows Update.

II. Porównanie z zawartością z płyty instalacyjnej i identyfikacja komponentów w pliku COMPONENTS. Jest to dość skuteczna metoda (bardziej niż pierwsza) choć żmudna. Najpierw najlepiej sprawdzić czy dany komponent nie znajduje się na płycie. Jeśli tak, to go stamtąd wyciągamy (jak to robić jest opisane już w topiku @Picasso KLIK. Jeśli nie, to musi on pochodzić od jakiejś zainstalowanej aktualizacji

III. Jeśli mamy uszkodzenia także w folderze Packages, to można je najpierw pobrać i wypakować, a nastepnie poszukać uszkodzonych komponentów z WinSxS w wypakowanych paczkach - często jest tak, że dana łata ma zarówno uszkodzenia w Packages jak i w WinSxS. Oczywiście żadna to reguła nie jest i z tym może być różnie. Aby zidentyfikować komponent, musimy odczytać odpowiednie informacje w pliku COMPONENTS należący do uszkodzonego systemu.


W systemie Windows 7 plik COMPONENTS nie jest ładowany domyślnie - system ładuje go do rejestru tylko wtedy gdy jest używane Windows Update lub funkcja "Włącz lub wyłącz funkcje systemu Windows". Jeśli chcemy odczytać zawartość tej gałęzi, plik COMPONENTS musimy załadować ręcznie do rejestru.




Informacje o podfolderach WinSxS oraz plikach *.manifest odnajdziemy w kluczu HKLM\Components\DerivedData\Components. W kluczu tym szukamy klucza który ma dokładnie taką samą nazwę jak nazwa folderu lub pliku (bez rozszerzenia *.manifest). Gdy znajdziemy taki klucz, musimy tam odzukać dowolny ciąg zawierający w nazwie ciąg 31bf3856ad364e35, następnie szukamy klucza w HKLM\Components\CanonicalData\Catalogs zawierający także ten ciąg, odnotujemy jego nazwę i teraz nawigujemy do klucza HKLM\Components\CanonicalData\Deployments i odszukujemy tam ciągu który nazywa się tak samo jak podklucz w kluczu Catalogs i tam zidentyfikujemy hotfix do którego należy dany komponent. Jeśli takiej informacji brak to prawie na pewno jest to natywny niezmodyfikowany komponent i musimy go szukać na płycie instalacyjnej, aczkolwiek istnieje możliwość, że mamy pecha i to należy do jakiejś aplikacji MS <_< .



Przykład:

Chcemy zidentyfikować pochodzenie komponentu C:\Windows\WinSxS\manifests\amd64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7600.20602_none_c4f7d8ca09dfa6fb.manifest

1. Odszukujemy podklucz HKLM\Components\DerivedData\Components\amd64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7600.20602_none_c4f7d8ca09dfa6fb

post-510-1279966928946_thumb.png

Widzimy tam ciąg zawierający w nazwie frazę 31bf3856ad364e35 nazywa się c!15ad33c7794..8bc2ac288b3_31bf3856ad364e35_6.1.7600.20602_a019e7b42992cde3 - zapamiętujemy nazwę

2. Następnie szukamy tego samego ciągu w HKLM\Components\CanonicalData\Catalogs. Widzimy z kolejnego rysunku, że w Catalogs zawiera go podklucz:

post-510-12799669699528_thumb.png

HKLM\Components\CanonicalData\Catalogs\83c9a24d60423e6d7d62e9fe7532d616cd9230c418a5e2bc280d577037eb139a

3. Aby w końcu ostatecznie zidentyfikować komponent, musimy odnaleźć podklucz w HKLM\Components\CanonicalData\Deployments, który zawiera ciąg o tej samej nazwie co podklucz w Catalogs:

post-510-12799670090387_thumb.png

Jak widzimy z rysunku, to pochodzi z komponentu KB978637, czyli w tym przypadku z tego samego co te z Packages.
Jednakże jak wspomniałem wcześniej ogólnie wcale nie musi być tak, że uszkodzone pliki *.manifest pochodzą z tego samego hotfixa co te uszkodzone w Packages. Warto dodać, że możemy także opracować zależności między zawartością folderu C:\Windows\Servicing\Packages i C:\Windows\WinSxS\Catalogs.




WYPAKOWANIE ŁATKI

W tym celu należy użyć konsolowej komendy expand - nie należy używać tutaj archiwizatorów typu 7-zip czy WinRAR, bo one źle / niekompletnie rozpakowują łatki. Komenda jest nastepująca:

expand -f:* <nazwa łaty>.msu <folder docelowy>
expand -f:* <nazwa łaty>.cab <folder docelowy>


np. w celu rozpakowania łaty Windows6.1-KB980302-x86.msu która znaduje się w folderze C:\TEMP a folder gdzie rozpakowujemy plik jest C:\TEMP2 komendy będą wygladać następująco:

expand -f:* C:\TEMP\Windows6.1-KB980302-x86.msu C:\TEMP2
expand -f:* C:\TEMP2\Windows6.1-KB980302-x86.cab C:\TEMP2



Pliki update.cat, update.mum, update-bf.cat, update-bf.mum

Niemal wszystkie wypakowane komponenty mają taką samą nazwę jak te znajdujące się w podfolderach C:\Windows, za wyjątkiem tych plików wymienionych w tym podrozdziale. Jednakże nadanie im prawidłowej nazwy nie jest trudne. Wystarczy porównać go z jednym plików:

Package_<numer>_for_<ID Hotfixa>~31bf3856ad364e35~x86~~6.x.x.x.cat (dla systemu x86)

Package_<numer>_for_<ID Hotfixa>~31bf3856ad364e35~amd64~~6.x.x.x.cat (dla systemu x64)

to plik update.cat będzie nazywał się:

Package_for_<ID Hotfixa>~31bf3856ad364e35~x86~~6.x.x.x.cat (dla systemu x86)

Package_for_<ID Hotfixa>~31bf3856ad364e35~amd64~~6.x.x.x.cat (dla systemu x64)

oczywiście plik update.mum będzie nazywał się:

Package_for_<ID Hotfixa>~31bf3856ad364e35~x86~~6.x.x.x.mum (dla systemu x86)

Package_for_<ID Hotfixa>~31bf3856ad364e35~amd64~~6.x.x.x.mum (dla systemu x64)

W przypadku pliku update-bf.cat musimy go porównywać z plikami o takiej nazwie:

Package_<numer>_for_<ID Hotfixa>_bf~31bf3856ad364e35~x86~~6.x.x.x.cat (dla systemu x86)

Package_<numer>_for_<ID Hotfixa>_bf~31bf3856ad364e35~amd64~~6.x.x.x.cat (dla systemu x64)

i odpowiednio nowa nazwa plików update-bf.cat i update-bf.mum to:

Package_for_<ID Hotfixa>_bf~31bf3856ad364e35~x86~~6.x.x.x.cat /.mum (dla systemu x86)

Package_for_<ID Hotfixa>_bf~31bf3856ad364e35~amd64~~6.x.x.x.cat /.mum (dla systemu x64)


1. Czwarta i trzecia od końca liczba w nazwie plików *.cat, *.mum opisuje wersję jądra systemu - dla Visty to 6.0, dla Windows 7 to 6.1.
2. Ciąg 31bf3856ad364e35 to tzw. Public Key Token, czyli unikalne ID dla MS składające się z 16 liczb w systemie szesnastkowym. Więcej KLIK.




Przykład:

Mamy wypakowany hotfix KB980302 dla systemów 32-bitowych:

post-510-12799670449036_thumb.png

jak widzimy z rysunku mamy tu np. plik:

package_1_for_kb980302~31bf3856ad364e35~x86~~6.1.1.0.cat

czyli należy zmienić nazwę update.cat na:

package_for_kb980302~31bf3856ad364e35~x86~~6.1.1.0.cat

update-bf.cat na:

package_for_kb980302_bf~31bf3856ad364e35~x86~~6.1.1.0.cat

i analogicznie to samo dla plików *.mum:

update.mum -> package_for_kb980302~31bf3856ad364e35~x86~~6.1.1.0.mum
update-bf.mum ->package_for_kb980302_bf~31bf3856ad364e35~x86~~6.1.1.0.mum




WYPAKOWANIE SERWIS PACKA

Serwis paki wypakowuje się inaczej niż reszta łatek. Komenda jest nastepująca:

<pełna nazwa serwice paka> /x:<folder docelowy>

expand -f:* <pełna nazwa service paka>.cab <folder docelowy>

Zamiast drugiej komendy możesz tutaj użyć archiwizatora typu WinRAR czy 7-zip. Dziwne ale tutaj one błędów nie popełniają.

przykład:

Mamy w folderze C:\Temp SP2 dla Visty 32 bit i chcemy rozpakować całą zawartość do folderu C:\Temp2, to komendy będą wygladały następująco:

C:\Temp\Windows6.0-KB948465-X86.exe /x:C:\Temp2
expand -f:* C:\Temp2\Windows6.0-KB948465-X86.cab C:\Temp2


Analogicznie jak w przypadku łat tam też się znajdują pliki update.cat i update.mum którym trzeba zmienić nazwę na:

w przypadku SP1 32bit:

VistaSP1-KB936330~31bf3856ad364e35~x86~~6.0.0.18000.cat
VistaSP1-KB936330~31bf3856ad364e35~x86~~6.0.0.18000.mum


w przypadku SP1 64bit:

VistaSP1-KB936330~31bf3856ad364e35~amd64~~6.0.0.18000.cat
VistaSP1-KB936330~31bf3856ad364e35~amd64~~6.0.0.18000.mum


w przypadku SP2 32bit:

VistaSP2-KB948465~31bf3856ad364e35~x86~~6.0.0.18005.cat
VistaSP2-KB948465~31bf3856ad364e35~x86~~6.0.0.18005.mum


w przypadku SP2 64bit:

VistaSP2-KB948465~31bf3856ad364e35~amd64~~6.0.0.18005.cat
VistaSP2-KB948465~31bf3856ad364e35~amd64~~6.0.0.18005.mum



PODMIANA USZKODZONYCH KOMPONENTÓW


METODA I

//stosować tylko gdy masz uszkodzenia w folderach C:\Windows\Servicing\Packages i C:\Windows\WinSxS\Manifest

1. Skopiuj wszystkie pliki *.cat, *.mum do folderu C:\Windows\Temp\CheckSur\Servicing\Packages, a pliki *.manifest do folderu C:\Windows\Temp\CheckSur\WinSxS\Manifests
2. Uruchom ponownie Readiness Tool.

METODA II

1. Przejmij na własność folder C:\Windows\Servicing\Packages, dodaj swoje konto do uprawnień do tego folderu i nadaj mu pełną kontrolę.
2. Wprowadź do folderu komponenty do wymiany.
3. Przywróć oryginalne ustawienia tj. usuń swoje konto z uprawnień do tego folderu i uczyń TrustedInstaller właścicielem tego folderu (w polu właściciela należy wpisać NT Service\TrustedInstaller).

METODA III

1. Utwórz na dysku C: dowolny folder np.Packs (nazwa dowolna) a w nim podfolder Windows.

2. Odtwórz w C:\Packs\Windows dokładną ściezkę folderów jaka jest oryginalna w C:\Windows do uszkodzonych plików i umieść tam pliki do podmiany. Przykładowo jeśli mamy zaraportowane, że są uszkodzone pliki w C:\Windows\WinSxS\Manifests, to musimy utworzyć w naszym folderze ścieżkę C:\Packs\Windows\WinSxS\Manifests i tam umieścić pliki do podmiany. Jeśli nie ma innych uszkodzeń, to pozostałe podfoldery nas nie interesują.

3. Bootujemy płytę instalacyjną, dostajemy się do wiersza poleceń i wklepujemy komendę:

robocopy C:\Packs C:\ /E /IS

//Powyższa komenda wkłada z naszego folderu pliki do folderu C:\Windows. Jeśli folder docelowy posiadał już taki plik, to ten plik zostanie nadpisany.//

na koniec możemy usunąć przez nas stworzony folder:

RD /S C:\Packs

4. Uruchamiamy system normalnie.

METODA IV

Użyć jakiegoś LiveCD np. Linuxa aby podmienić pliki.


Po naprawieniu uszkodzeń sugeruję instalować łaty, które sprawiały problem, z Microsoft Download Center http://www.microsoft.com/DOWNLOADS/en/default.aspx, nie z Windows Update. Nie wiem dlaczego, ale niekiedy łaty z Windows Update nie chcą się zainstalować i zwracają losowy błąd - te z Microsoft Download Center system na pewno połknie. B)




DODATKOWE UWAGI:

Może się zdarzyć sytuacja, że Readiness Tool nie wykryje od razu wszystkich błędów i po dokonaniu czynności naprawczych narzędzie musimy uruchomić jeszcze raz.

Może być i taka sytuacja, że Readiness Tool zwraca ciągle identyczny log z błędami, mimo że wykonaliśmy opcje naprawcze żądane przez narzędzie. No cóż może być i tak, są zapewne takie błędy, których to narzędzie nie potrafi prawidłowo zdiagnozować i stąd ten problem. W takim przypadku należy odinstalować łatę do której należą uszkodzone komponenty. Dwie metody:

I. "Klasyczna" poprzez Programy i funkcje > Wyświetl zainstalowane aktualizacje.
II. Poprzez wiersz poleceń: KLIK.

Jeżeli żadna z metod nie zadziała, to jedynym rozwiązaniem wydaje się być w takim przypadku reparacja, ewentualnie Przywracanie systemu, jeśli mamy jakiś prawidłowy punkt przywracania.

Reparację/Przywracanie systemu musimy też zrobić, jeśli uszkodzeń w systemie jest zbyt wiele.
Odnośnik do komentarza
Pomoc jest darmowa, ale proszę rozważ przekazanie dotacji na utrzymanie serwisu: klik.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...