Oporavak trgovinskih komponenti u sustavu Windows 8

Vraćajući se tehnologiji Component Store u sustavu Windows 8, razmotrit ćemo scenarije za njen oporavak. Podsjetimo da je Microsoft počevši od sustava Windows Vista predstavio koncept servisa temeljenog na komponentama. Zahvaljujući strukturi komponenti, bilo je moguće stvoriti stabilniji sustav za instaliranje / deinstaliranje ažuriranja, zakrpa i servisnih paketa SP. Isti sustav podliježe arhitekturi sustava Windows 8. Datoteke za pohranu komponenti sustava Windows na disku nalaze se u direktoriju \Windows\WinSxS, koji ima svojstvo s vremenom znatno povećavati veličinu (za više detalja o tome zašto veličina ove mape raste s vremenom i kako smanjiti veličinu mape WinSxS, pročitajte ovaj članak).

Međutim, u nekim se slučajevima trgovina komponenta može oštetiti, što vodi problemima prilikom instaliranja Windows ažuriranja i drugog Microsoftovog softvera. Microsoft je razvio poseban uslužni program za vraćanje komponentne pohrane u prethodnim verzijama sustava Windows (Windows Vista, Windows 7, Windows Server 2008 / R2) - CheckSUR ili Alat za spremnost ažuriranja sustava (KB947821). Ovaj je alat prilično velike veličine (preko 350 MB), a kako postaju dostupna nova ažuriranja za Windows, redovno se ažurira. To znači da svaki put kad morate ispumpati novu verziju CheckSUR.

vijeće. U jednom od prethodnih članaka već smo ispitali primjer korištenja CheckSUR-a za traženje i oporavak oštećenih komponenti: 0x800F0818 - greška tijekom uloga u sustavu Windows Server 2008 R2.

Što ovaj uslužni program čini? Alat za spremnost ažuriranja sustava provjerava integritet sljedećih resursa:

    Datoteke u mapama:

  • % SYSTEMROOT% \ Servisiranje \ Paketi
  • % SYSTEMROOT% \ WinSxS \ Manifestacije
    Sadržaj podružnica registra:

  • % SYSTEMROOT% \ WinSxS \ Manifestacije
  • HKEY_LOCAL_MACHINE \ Shema
  • HKEY_LOCAL_MACHINE \ Komponente
  • HKEY_LOCAL_MACHINE \ Softver \ Microsoft \ Windows \ CurrentVersion \ Komponentno servisiranje

U slučaju da uslužni program CheckSUR otkrije pogreške ili nedosljednosti, pokušati će ih ispraviti.

Problemi s pohranom komponenata mogu uzrokovati različite pogreške prilikom instaliranja Windows ažuriranja. Slijedi popis uobičajenih kodova grešaka koje bi ovaj program trebao riješiti..

Popis pogrešaka WindowsUpdate uzrokovanih korupcijom u trgovini komponenta

kodgreškaopis
0 × 80070002ERROR_FILE_NOT_FOUNDSustav ne može pronaći specificiranu datoteku.
0x8007000DERROR_INVALID_DATAPodaci nisu valjani.
0x800F081FCBS_E_SOURCE_MISSINGIzvor paketa ili datoteke nije pronađen.
0 × 80073712ERROR_SXS_COMPONENT_STORE_CORRUPTSpremnik komponenata je u nedosljednom stanju.
0x800736CCERROR_SXS_FILE_HASH_MISMATCHDatoteka komponente ne odgovara informacijama za provjeru prisutnima u manifestu komponente.
0x800705B9ERROR_XML_PARSE_ERRORNije moguće raščlaniti tražene XML podatke.
0 × 80070246ERROR_ILLEGAL_CHARACTERNaišao je nevažeći znak.
0x8007370DERROR_SXS_IDENTITY_PARSE_ERRORNiz identiteta nije oblikovan.
0x8007370BERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAMENaziv atributa u identitetu nije unutar valjanog raspona.
0x8007370AERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUEVrijednost atributa u identitetu nije unutar valjanog raspona.
0 × 80070057ERROR_INVALID_PARAMETERParametar nije točan.
0x800B0100TRUST_E_NOSIGNATUREU temi nije bio prisutan potpis.
0 × 80092,003CRYPT_E_FILE_ERRORDošlo je do pogreške dok Windows Update čita ili piše u datoteku.
0x800B0101CERT_E_EXPIREDPotrebna potvrda nije unutar roka valjanosti ako se provjerava u odnosu na trenutni sat sustava ili vremensku oznaku u potpisanoj datoteci.
0x8007371BERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETEJedan ili više potrebnih članova transakcije nisu prisutni.
0 × 80070490ERROR_NOT_FOUNDWindows nije mogao tražiti nova ažuriranja.

U sustavima Windows 8 i Windows Server 2012 funkcionalnost slična CheckSUR-u već je ugrađena u sustav i zove se Ulazni spremnik korupcija popravak (ugrađeni oporavak komponenata). Ugrađeni oporavak komponenata može raditi u dva načina:  pozadina i priručnik. Oporavak pozadine automatski započinje ako se pojave pogreške prilikom pokušaja instalacije Windows Update. Windows u ovom slučaju automatski pokušava popraviti oštećenu komponentu i ponovo instalirati paket Windows Update. U slučaju da automatski oporavak ne može sam riješiti problem, administrator može ručno ispraviti pogreške vraćanjem funkcionalnog stanja u trgovini komponenta. To možete učiniti pomoću uslužnog programa za održavanje DISM slike (naredba Dism / Online / Cleanup-Image)ili pomoću Powershell-a (cmdlet Popravak-WindowsImage).

Da biste provjerili stanje u trgovini komponenta, otvorite naredbeni redak s povišenim povlasticama i pokrenite:

Dism / Online / Cleanup-Image / CheckHealth

Savjet.

  1. DISM, za razliku od većine Windows alata, razlikuje velika i mala slova.
  2. Naredba Dism / Cleanup-Image sprema zapise u direktorije C: \ Windows \ Logs \ CBS \ CBS.log i C: \ Windows \ Logs \ DISM \ dism.log

Slična Powershell naredba:

Popravak-WindowsImage -Online -CheckHealth

Provjera CheckHealth trajat će nekoliko minuta. Kao što vidite, trenutno stanje pohrane komponenata na slici je Zdravo, tj. nije potreban oporavak.

U slučaju da su pronađeni problemi ili pogreške, trebali biste pokrenuti postupak oporavka pohrane naredbom:

Dism.exe / Online / Cleanup-Image / Restorehealth

Slična Powershell naredba:

Popravak WindowsImage -Online -RestoreHealth

U ovom je primjeru oporavak sistemskih datoteka uspješno:

Operacija vraćanja uspješno je završena. Popravljena je korupcija u trgovini komponentama.

U slučaju da sustav sam ne može oporaviti neke komponente u spremištu, možda će vam trebati distribucijski komplet (instalacijski disk) sustava Windows 8. Umetnite ovaj disk u pogon ili montirajte njegov iso image. Pretpostavimo da je slovu pogona dodijeljeno slovo E. Nabavite popis dostupnih verzija sustava Windows 8 na pogonu pomoću naredbe PoSH:

Get-WindowsImage -ImagePath E: \ izvori \ install.wim

U ovom primjeru vidimo da postoji samo jedna slika na disku (Windows 8 Pro) sa indeksom 1 (Index: 1).

Sljedeća naredba započinje oporavak pohrane s oporavkom oštećenih komponenti s izvorne slike sustava Windows 8:

Repair-WindowsImage -Online -RestoreHealth -Source G: \ources \ install.wim: 1

, gdje je 1 indeks verzije slike u raspodjeli dobivenoj ranije.

Nakon što je oporavak dovršen, provjerite je li pohranjivanje komponenata u zdravom stanju (status: zdravo)

Sljedeći (ne uvijek obvezni korak) je provjera integriteta sistemskih datoteka pomoću naredbe:

sfc / scannow
vijeće. Ako ste pribjegli oporavku trgovine komponenta zbog problema s instaliranjem ažuriranja sustava Windows, ponovno pokrenite uslugu Windows Update i resetirajte lokalnu predmemoriju ažuriranja. Da biste to učinili, u naredbenom retku izvedite sljedeće naredbe:
net stop wuauserv net stop bitovi neto stop cryptsvc ren% systemroot% \ Software Distribucija oldSD ren% systemroot% \ System32 \ catroot2 oldCat2 neto start bits kriptivc start start bits net start wuauserv