Як відновити компоненти windows 7. Як виправити помилки під час інсталяції оновлень Windows за допомогою вбудованого відновлення компонентів. Що таке обслуговування Windows і навіщо воно потрібне

Системні проблеми нерозривно пов'язані з нашим цифровим життям і до них завжди потрібно бути готовими. Багато користувачів прагнуть передбачити і попередити подібні збої, встановлюючи всілякі утиліти, створені для виправлення помилок. Однак, на жаль, навіть подібна передбачливість не завжди допомагає ефективно вирішити питання.

У цій статті ми розглянемо ситуацію, коли на комп'ютері ушкоджується сховище системних компонентів, розташоване в папці WinSxS.

Якщо ви не любитель використовувати стороннє програмне забезпечення і, тим більше, шукати його, то ця стаття обов'язково виявиться для вас корисною і допоможе за короткий час виправити неполадку. Почнемо!

Діагностика DSIM

Перш ніж розпочати відновлення, необхідно визначити стан сховища. Для цього відкрийте командний рядок від імені адміністратора та введіть у ньому наступну команду:

DISM / Online / Cleanup-Image / CheckHealth

Корисні статті


Ця команда призначена для сканування системного сховища на наявність можливих пошкоджень образу і, за наявності помилок, повідомляє, чи можна їх усунути. Слід зазначити, що команда не вносить будь-яких змін у Windows, її завдання входить лише аналіз системи.

Навіть при позитивному результаті перевірки не можна бути повністю впевненими в її достовірності. Адже збій міг статися в пропущеному малогабаритному файлі, який теж робить певний внесок у працездатність системи.

Як бути у цьому випадку? Достатньо лише замінити параметр CheckHealthна ScanHealthщо дозволить провести глибоке сканування сховища. Така перевірка займе дещо більше часу.

Введіть у командному рядку наступну команду:

DISM/Online/Cleanup-Image/ScanHealth

Відновлення системного сховища

Якщо помилок не було виявлено — вітаємо! Це говорить про те, що сховище WinSxS не було пошкоджено і не потребує виправлення. Якщо ж системні збої не перестають вас дошкуляти, першопричину слід шукати в іншому місці.

Виявились помилки? Наприклад:

  • Сховище компонентів підлягає відновленню.
  • Помилка: 1726 Збій під час віддаленого виклику процедури.
  • Помилка 1910 Не вказано джерело експорту об'єкта.

Ці повідомлення говорять нам про те, що сховище тим чи іншим чином пошкоджене та потребує відновлення.

Щоб усунути несправність, введіть у командному рядку наступну команду:

DISM/Online/Cleanup-Image/RestoreHealth

Відновлення сховища компонентів за допомогою завантажувальної флешки

У деяких випадках утиліта DISM може виявитися безсилою допомогти вам без додаткових матеріалів. Про таку ситуацію сигналізують такі повідомлення:

  • 0x800f0906 Неможливо завантажити вихідні файли. Вкажіть розташування файлів, необхідних для відновлення компонента, за допомогою параметра "Джерело".
  • 0x800f081f Не вдалося знайти вихідні файли. Вкажіть розташування файлів, необхідних для відновлення компонента, за допомогою параметра "Джерело".
  • 0x800f0950 Збій DISM. Операцію не виконано.

Щоб вийти з ситуації, вам знадобиться завантажувальна флешка або диск з ISO-образом встановленої операційної системи Windows 10.

Скористайтеся наведеною нижче інструкцією, щоб завершити процес відновлення сховища:

1. Визначте літеру завантажувального пристрою у розділі Мій комп'ютер (Цей комп'ютер).

У нашому випадку це диск F:.

2. Подвійним клацанням відкрийте вміст папки та перейдіть до sources.

3. Знайдіть файл install.

Він може бути у форматі .ESDабо .WIM. Запам'ятайте або запишіть ці дані, надалі вони стануть у нагоді.

На цьому етапі нам потрібно дізнатися індексацію файлу образу системи. Відкрийте командний рядок від імені адміністратора та введіть наступну команду:

DISM /Get-WimInfo /WimFile:F:\Sources\install.esd

Увага!
Вкажіть коректний шлях до диска, на якому зберігається ваша Windows. Закінчення (формат інсталятора) введіть відповідно до того, що написано навпроти вашогофайлу. Він може бути з розширенням .WIM.

Тепер нам відомий індекс операційної системи.

5. Настав час перейти безпосередньо до відновлення операційної системи! Введіть у командному рядку команду:

DISM /Online /Cleanup-Image /RestoreHealth /Source:ESD:F:\Sources\install.esd:1 /LimitAccess

F:- Літера диска, на який був встановлений ISO-образ операційної системи.

install.esd:1- Індекс операційної системи.

LimitAccess— створення заборони доступу до Windows Update.

Тепер ви можете бути спокійними за своє сховище системних компонентів. Воно відновлено та готове до подальшої роботи. Однак не поспішайте покидати нас. Залишилося виконати останню перевірку – перевірку цілісності системних файлів.

Відкрийте командний рядок від імені адміністратора та введіть команду:

sfc /scannow

Тепер введіть команду shutdown /r /t 0та перезапустіть комп'ютер, щоб застосувати та зберегти внесені зміни.

На будь-який випадок, якщо потрібне відновлення інших стертих файлів і папок у Windows, вам допоможуть інструменти Starus Recovery.

Напередодні надходження Windows 8 у продаж Microsoft випустила велике кумулятивне оновлення KB2756872, чого раніше не робила для клієнтських операційних систем. Однак при встановленні оновлення на мене чекав неприємний сюрприз — помилка 80073712.

Сьогодні я розповім про те, як перемогти цю та низку інших помилок при встановленні оновлень Windows за допомогою нової можливості обслуговування – вбудованого відновлення компонентів (in-box corruption repair).

Цей запис відкриває серію статей про нововведення в обслуговуванні Windows. І ні, воно не має нічого спільного з автоматичним обслуговуванням за допомогою планувальника. Спочатку я покажу, як вирішив проблему зі встановленням оновлення, а потім розповім про технологію.

Сьогодні у програмі

Усунення помилок Windows Update, спричинених пошкодженням сховища компонентів

У довідці попередніх ОС Microsoft для помилки 80073712 є опис, з якого випливає, що причиною є пошкодження сховища компонентів. Для Windows Vista та Windows 7 було випущено утиліту System Update Readiness Tool (CheckSUR), покликану усунути низку помилок Windows Update.

80070002 ERROR_FILE_NOT_FOUND 8007000D ERROR_INVALID_DATA 800F081F CBS_E_SOURCE_MISSING 80073712 ERROR_SXS_COMPONENT_STORE_CORRUPT 800730 B9 ERROR_XML_PARSE_ERROR 80070246 ERROR_ILLEGAL_CHARACTER 8007370D ERROR_SXS_IDENTITY_PARSE_ERROR 8007370B ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME 8007 80070057 ERROR_INVALID_PARAMETER 800B0100 TRUST_E_NOSIGNATURE 80092003 CRYPT_E_FILE_ERROR 800B0101 CERT_E_EXPIRED 8007371B ERROR_SXS_00 NOT_FOUND

Для виправлення цих помилок у Windows 8 і новіших ОС утиліта CheckSUR не потрібна, тому що все необхідне вже вбудоване в систему! Ви можете відновити пошкоджені компоненти за допомогою командлета PowerShell (рекомендований спосіб) або утиліти DISM.exe.

Upd. 28-Jul-2015. Microsoft випустила спеціальне оновлення, яке привносить у Windows 7 можливість вбудованого відновлення компонентів за аналогією з Windows 8+.

Етап 1 – відновлення пошкодженого сховища компонентів

Відновлення можна виконати без інсталяційного диска Windows, але в деяких випадках він може знадобитися.

Відновлення без диска

У цьому випадку використовуються файли сховища на локальному диску та Windows Update.

Стан сховища компонентів позначається параметром Image Health State. У нього Healthyозначає, що зі сховищем компонентів все нормально. Для подальшої діагностики переходьте до перевірки цілісності системних файлів трохи нижче ↓ Якщо пошкодження сховища не виправлено, потрібно спробувати зробити це за допомогою інсталяційного диска.

Відновлення за допомогою інсталяційного диска

Коли системі не вдається відновити будь-які компоненти, вам може допомогти оригінальний інсталяційний диск.

  1. Клацніть правою кнопкою миші за ISO-образом та виберіть у меню Підключити. Зверніть увагу на букву диска, яку отримав підключений образ.
  2. У PowerShell виконайте команду: Repair-WindowsImage -Online -RestoreHealth -Source:WIM:Е:\sources\install.wim:1

    Тут буква «E» відповідає букві підключеного образу, а цифра «1» — індексу видання образ (у прикладі використовується образ Windows 8 Enterprise з єдиним виданням).

  3. Після закінчення процедури переконайтеся, що сховище компонентів у порядку (Healthy).

Етап 2 – перевірка цілісності системних файлів

Строго кажучи, цей етап немає відношення до відновлення компонентів. Проте технічна підтримка Microsoft рекомендує після перевірки цілісності сховища компонентів також перевірити цілісність системних файлів. Для цього у командному рядку, запущеному від імені адміністратора, виконайте команду:

Sfc /scannow

У мене один із файлів був пошкоджений, і утиліта SFC успішно відновила його.

Випадки, коли системі не вдалося відновити будь-які файли, виходять за межі цієї статті (я розберу їх в інший раз).

Етап 3 – встановлення оновлення

Отже, дві команди відновили цілісність сховища компонентів та системних файлів. Саме час спробувати інсталювати оновлення заново.

Як бачите, цього разу у мене все спрацювало!

Що таке обслуговування Windows і навіщо воно потрібне

Переваги вбудованого відновлення компонентів Windows

Давайте порівняємо ключові моменти відновлення компонентів у різних операційних системах.

Windows Vista та Windows 7

Мета перевірки (працююча система та образи)

Метою перевірки може бути як встановлена ​​система, і образ у форматі WIM чи VHD.

Перевіряє діючу систему.

Перевіряє підключений автономний образ за вказаним після параметра шляху.

Перевірка та відновлення сховища

Для визначення стану та відновлення компонентів у командлеті Repair-WindowsImage передбачено три параметри, що виконують перевірку сховища. Результатом сканування може бути:

  • відсутність ушкоджень (Healthy)
  • наявність пошкоджень, які можна відновити (Repairable)
  • наявність пошкоджень, які не можна відновити (Not repairable)

Однак, функції параметрів відрізняються.

-CheckHealth

Миттєво перевіряє, чи є у системному реєстрі маркер, що позначає пошкодження. Цей маркер може з'явитися у процесі роботи системи обслуговування.

-ScanHealth

Перевіряє сховище щодо пошкоджень. Ця операція займає більше часу, ніж перевірка маркера.

-RestoreHealth

Перевіряє сховище на предмет пошкоджень та виконує їх відновлення. Ця операція є найдовшою із трьох.

Джерело компонентів для відновлення

Щоб відновити компоненти, їх треба взяти звідкись. Коли джерело не вказано, під час перевірки автоматично використовується локальне сховище компонентів та Windows Update.

Цей момент ніде не задокументований, і ви повинні розуміти, що під час перевірки автономного образу Windows з-під іншого видання чи версії Windows, джерело потрібно вказувати обов'язково.

В обох випадках можна вказати більше одного джерела і навіть блокувати Windows Update при цьому. Наведені нижче параметри призначені лише для відновлення, і тому допустимі лише у зв'язці з -RestoreHealth.

Як джерело можна використовувати шлях до:

  • працюючій системі, до якої є доступ по мережі
  • автономному образу, причому його попереднє підключення необов'язкове

Тут цікава можливість вказати шлях безпосередньо до видання WIM-образі без його попереднього копіювання на локальний диск і подальшого підключення. Це таємне знання, поки не відображене в документації;) Це працює завдяки функції автоматичного підключення WIM, реалізованої на останніх стадіях розробки Windows 8.

Ви можете перерахувати кілька шляхів через кому. Додаткові джерела використовуються лише в тому випадку, якщо в попередніх не знайшлося відповідних компонентів.

Коли в якості джерела використовується WIM-образ, необхідно вказати тип образу та його індекс:

Source:WIM:Е:\sources\install.wim:1

-LimitAccess

Блокує доступ до Windows Update під час перевірки.

Приклади команд PowerShell

Я наведу кілька прикладів практичного використання командлета Repair-WindowsImage з різними цілями та джерелами перевірки. Перші два ви вже бачили на початку статті.

Відновлення сховища працюючої системи, використовуючи локальні файли та Windows Update як джерело:

Repair-WindowsImage -Online -RestoreHealth

Відновлення сховища працюючої системи, використовуючи Windows Update та WIM-образ як джерела:

Repair-WindowsImage -Online -RestoreHealth -Source:WIM:Е:\sources\install.wim:1

Перевіряє сховища автономного VHD-образу. Спочатку він підключається до папки C:\mount (це відбувається дуже швидко), а потім виконується перевірка.

Mount-Windowsimage -ImagePath C:\vhd\Win8.vhd -Index 1 -Path C:\mount Repair-WindowsImage -Path C:\mount -ScanHealth

Відновлення сховища автономного VHD-образу, використовуючи як джерело WIM-образ. Спочатку VHD підключається до папки, потім виконується відновлення образу, після чого VHD відключається зі збереженням змін.

Mount-Windowsimage -ImagePath C:\vhd\Win8.vhd -Index 1 -Path C:\mount Repair-WindowsImage -Path C:\mount -RestoreHealth -Source:WIM:Е:\sources\install.wim:1 Dismount- WindowsImage -path C:\mount -Save

Результати перевірки та відновлення

Крім результатів у консолі ви можете знайти докладний звіт ближче до кінця файлу %WinDir%\Logs\DISM\dism.log

У першій половині наведеного фрагмента видно конкретні компоненти та результат їх відновлення (успіх чи невдача), а у другій – зведення про операцію, включаючи час її виконання.

Checking System Update Readiness.

(p) CSI Manifest Corrupt (Fixed) amd64_microsoft-windows-lpksetup_31bf3856ad364e35_6.2.9200.16384_none_7a23086df63cad13 languagepack_31bf3856ad364e35_6.2.9200.16384_ua-2422e0b40b0ac235 (p) CSI Manifest Corrupt ( Fixed) amd64_microsoft-windows-l..oyment-languagepack_31bf3856ad364e35_6.2.9200.16384_ua-2a982e5d65c9a294 (p) CSI Manifest Corrupt-soft pack_31bf3856ad364e35_6.2.9200.16384_ua-ru_53ea2a36610cb913 (p) CSI Manifest Corrupt ( Fixed) amd64_microsoft-windows-l..oyment-languagepack_31bf3856ad364e35_6.2.9200.16384_ua-879ccd7f3842e229 (p) CSI _31bf3856ad364e35_6.2.9200.16384_ua-ru_8e2bd9e9b9aeac5f (p) CSI Manifest Corrupt ( Fixed) amd64_microsoft-windows-l..oyment-languagepack_31bf3856ad364e35_6.2.9200.16384_ru-ru_c73545896a8993dd .

Total Detected Corruption: 7 CBS Manifest Corruption: 0 CBS Metadata Corruption: 0 CSI Manifest Corruption: 7 CSI Metadata Corruption: 0 CSI Payload Corruption: 0 Total Repaired Corruption: 7 CBS Manifest Repaired: 0 CSI Manifest Repaired: CSI Store Metadata обмежена: True Total Operation Time: 221 seconds.

Як бачите, у мене було пошкоджено 7 маніфестів, які належать мовному пакету, що стало перешкодою до встановлення оновлення Windows. Усі пошкодження було виправлено.

Безумовно, цей матеріал не має на увазі моментального практичного застосування, хоча перевірити стан сховища компонентів Windows ви можете прямо зараз. Більше того, за три роки роботи в Windows 7 у мене жодного разу не виникало проблем із встановленням оновлень.

Я давно планував серію записів про зміни в обслуговуванні Windows, а проблема з встановленням оновлення, що виникла, лише форсувала публікацію, заодно змусивши мене змінити порядок статей у серії.

Вам вистачило технічних тонкощів сьогодні? ;)

Якщо ні, у наступному записі з цієї серії на вас чекає не тільки екскурс в історію інструментів обслуговування ОС Microsoft, але й унікальна можливість спробувати себе в ролі збирача Windows! Але до цього у блозі з'являться записи на інші теми.

Повертаючись до технології сховища компонентів (Component Store) у Windows 8 розглянемо сценарії відновлення. Нагадаємо, що починаючи з Windows Vista Microsoft запровадила концепцію компонентного обслуговування ОС (component based servicing). Завдяки компонентній структурі вдалося створити більш стабільну систему встановлення/видалення оновлень, патчів і пакетів оновлень SP. Ця система лежить в основі архітектури Windows 8. Файли сховища компонентів Windows на диску розташовуються в каталозі \ Windows\ WinSxS, що має властивість з часом значно розростатися в розмірах (докладніше про те, чому розмір цього каталогу з часом зростає і як зменшити розмір папки WinSxS читайте в ).

Однак у деяких випадках сховище компонентів може пошкоджуватися, що призводить до проблем під час інсталяції оновлень Windows та іншого програмного забезпечення Microsoft. Для відновлення сховища компонентів у попередніх версіях Windows (Windows Vista, Windows 7, Windows Server 2008/R2) Microsoft розробила спеціальну утиліту. CheckSURабо System Update Readiness Tool (KB947821). Ця утиліта є досить великою за розміром (понад 350 Мб), і в міру виходу нових оновлень Windows регулярно оновлюється. Це означає, що щоразу доводиться викачувати свіжу версію CheckSUR.

Порада. В одній із попередніх статей ми вже розглядали приклад використання CheckSUR для пошуку та відновлення пошкоджених компонентів: .

Що ж робить ця утиліта? System Update Readiness Tool перевіряє цілісність таких ресурсів:

    Файли у каталогах:
  • %SYSTEMROOT%\Servicing\Packages
  • %SYSTEMROOT%\WinSxS\Manifests
    Вміст гілок реєстру:
  • %SYSTEMROOT%\WinSxS\Manifests
  • HKEY_LOCAL_MACHINE\Schema
  • HKEY_LOCAL_MACHINE\Components
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing

У випадку, якщо утилітою CheckSUR будуть виявлені помилки або невідповідності, вона спробує їх відновити.

Проблеми зі сховищем компонентів можуть викликати різні помилки під час інсталяції оновлень Windows. Нижче наведено список типових кодів помилок, які ця утиліта повинна усунути.

Список помилок WindowsUpdate, спричинених пошкодженням сховища компонентів

Code Error Description
0×80070002ERROR_FILE_NOT_FOUNDСистема неможна виконати файл specified.
0x8007000DERROR_INVALID_DATAThe data is invalid.
0x800F081FCBS_E_SOURCE_MISSINGSource for package or file not found.
0×80073712ERROR_SXS_COMPONENT_STORE_CORRUPTКомпонент store is in an inconsistent state.
0x800736CCERROR_SXS_FILE_HASH_MISMATCHA component's file не match the verification information present in the component manifest.
0x800705B9ERROR_XML_PARSE_ERRORНеналежним чином потрібні XML data.
0×80070246ERROR_ILLEGAL_CHARACTERAn invalid character був нарахований.
0x8007370DERROR_SXS_IDENTITY_PARSE_ERRORAn identity string is malformed.
0x8007370BERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAMEІм'я atribut in identity is not within valid range.
0x8007370AERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUEЗначення атрибуту в identity не є здійсненим.
0×80070057ERROR_INVALID_PARAMETERParameter isincorrect.
0x800B0100TRUST_E_NOSIGNATURENo signature was present in the subject.
0×80092003CRYPT_E_FILE_ERRORAn error occurred while Windows Update reads or writes to a file.
0x800B0101CERT_E_EXPIREDПотрібна оцінка не з'являється в її validity період, коли відправляються до поточної системи годинника, або часу розриву в названому файлі.
0x8007371BERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETEОдин або більше потрібних членів трансакції не існує.
0×80070490ERROR_NOT_FOUNDWindows не може знайти пошук для нових updates.

У Windows 8 та Windows Server 2012 функціонал, аналогічний утиліті CheckSUR, вже вбудований у систему і називається InboxCorruptionRepair(Вбудоване відновлення компонентів). Вбудоване відновлення компонентів може працювати у двох режимах: фоновомуі ручному. Фонове відновлення автоматично запускається у разі виникнення помилок під час спроби інсталювати оновлення Windows Update. Windows у цьому випадку автоматично намагається виправити пошкоджений компонент і повторно інсталювати пакет Windows Update. Якщо автоматичне відновлення не може самостійно виправити проблему, адміністратор може виправити помилки вручну, відновивши працездатний стан сховища компонентів. Зробити це можна за допомогою утиліти обслуговування образу DISM (команда Dism/Online/Cleanup-Image)або за допомогою Powershell (командлет Repair-WindowsImage).

Щоб перевірити стан сховища компонентів, відкрийте командний рядок із підвищеними привілеями та виконайте:

Dism / Online / Cleanup-Image / CheckHealth

Поради.

  1. DISM на відміну більшості утиліт Windows чутлива до регістру символів.
  2. Команда Dism/Cleanup-Image зберігає логи в каталогах C:\Windows\Logs\CBS\CBS.log та C:\Windows\Logs\DISM\dism.log

Аналогічна команда Powershell:

Repair-WindowsImage -Online -CheckHealth

Перевірка CheckHealth займе кілька хвилин. Як бачите, поточний статус сховища компонентів образі – Healthy (Здоровий), тобто. відновлення не потрібне.

У тому випадку, якщо будуть виявлені проблеми або помилки, слід запустити процедуру відновлення сховища командою:

Dism.exe / Online / Cleanup-Image / Restorehealth

Аналогічна Powershell команда:

Repair-WindowsImage -Online -RestoreHealth

У цьому прикладі відновлення системних файлів пройшло успішно:

Залишкова операція виконана успішно. The component store corruption був repaired.

У випадку, якщо система самостійно не змогла відновити деякі компоненти в сховищі, вам може знадобитися дистрибутив (установочний диск) Windows 8. Вставте диск у привід або . Припустимо, диску з дистрибутивом призначено букву E. Отримаємо список доступних версій Windows 8 на диску за допомогою команди PoSH:

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

У цьому прикладі, бачимо, що у диску є лише одне образ (Windows 8 Pro) з індексом 1 (Index: 1).

Наступна команда запустить відновлення сховища з відновленням пошкоджених компонентів із оригінального образу Windows 8:

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

Після завершення відновлення переконайтеся, що сховище компонентів знаходиться у працездатному стані (статус: Healthy)

Наступний (не завжди обов'язковий етап) – перевірка цілісності системних файлів за допомогою команди:

Sfc /scannow

Порада. Якщо для відновлення сховища компонентів ви вдалися через проблеми з інсталяцією оновлень Windows, перезапустіть службу Windows Update і скиньте локальний кеш оновлень. Для цього в командному рядку послідовно виконайте такі команди:

Net stop wuauserv net stop bits net stop cryptsvc ren %systemroot%\SoftwareDistribution oldSD ren %systemroot%\System32\catroot2 oldCat2 net start cryptsvc net start bits net start wuauserv

Чи виникли проблеми з Windows 10 і не можете їх виправити? Пошкоджено системні файли та традиційна команда sfc /scannow не працює? Перегляньте, як використовувати функцію DISM для виправлення пошкоджених системних файлів або відновлення їх з оригінального образу системи без інсталяції Windows 10.

Як правило, у разі виникнення проблем із системними файлами використовують утиліту SFC, яка сканує жорсткий диск на наявність помилок та виправляє їх. Але все ж таки цей засіб першої допомоги не завжди приносить потрібні результати. У системі доступна ще одна утиліта DISM, про яку ми миттєво згадували в попередніх статтях, здатна усунути проблеми з пошкодженими файлами в Windows 10. Цього разу розглянемо повний спектр функцій DISM, опишемо різні варіанти використання та покажемо, як використовувати її для відновлення пошкоджених системних систем. файлів із оригінального образу системи (сховища компонентів).

Ця функція призначена для виправлення та підготовки образів WIndows, таких як завантажувального диска ОС, засобів відновлення системи і т. д. За допомогою цих образів можна перевстановити або відновити систему у разі виникнення проблем. Під час використання утиліти SFC для сканування та відновлення диска проблеми з пошкодженими файлами вирішуються лише за допомогою відповідного образу зі сховища компонентів на жорсткому диску. Коли цей образ пошкоджено, система не може витягти із сховища компонентів системні файли і, отже, не здатна відновити їх за допомогою функції SFC. Саме в цьому випадку нам допоможе утиліта DISM, яка вирішить проблему з образами для відновлення і дозволить функції SFC коректно завершити свою роботу.

Як використовувати утиліту DISM?

Відновити системні файли через утиліту не складно. Цим додатком можна відновити компоненти за тим самим принципом, як за допомогою SFC через командний рядок. Для виклику командного рядка натисніть комбінацію клавіш Windows + X і в меню виберіть пункт «командний рядок (адміністратор). Потім у консолі потрібно ввести команду DISM із відповідними параметрами.

До команди DISM можемо дописати додаткові параметри, за допомогою яких можна виконати перевірку, сканування та відновлення образів у різний спосіб. Розглянемо найважливіші комбінації.

DISM із параметром CheckHealth

У консолі командного рядка введіть наступну команду:

DISM / Online / Cleanup-Image / CheckHealth

За допомогою цього параметра можна швидко перевірити образ та окремі компоненти інсталяції системи, які зберігаються на диску наявність пошкоджень. Ця команда не робить жодних змін – вона є повністю безпечною. CheckHealth надає інформацію про стан пакету операційної системи. Це дуже корисна опція, коли ми хочемо в безпечний спосіб перевірити, чи не відбулися будь-які пошкодження системного файлу в сховищі компонентів.

DISM із параметром ScanHealth

Дія цього параметра схожа на CheckHealth, але займає трохи більше часу за рахунок ретельнішого сканування, але також нічого не виправляє. Його варто використовувати, коли попередня опція / CheckHealth поінформувала, що все гаразд, але ми хочемо переконатися, що це безумовно так. Введіть:

DISM/Online/Cleanup-Image/ScanHealth

Сканування може зайняти набагато більше часу, ніж із попередньою опцією (приблизно 10 хвилин). Якщо сканування зупиняється на 20% або 40%, потрібно почекати – може здатися так, що комп'ютер завис – але насправді виконується сканування.

DISM із параметром RestoreHealth

Якщо перша та друга команди вивантажили повідомлення, що образи пошкоджені, настав час їх відновити. З цією метою використовуємо параметр / RestoreHealth. Введіть наступну команду в консолі командного рядка:

DISM/Online/Cleanup-Image/RestoreHealth

Параметр використовує Windows Update для відновлення пошкоджених файлів у сховищі компонентів. Процедура сканування та автоматичного відновлення може тривати приблизно 20 хвилин (іноді і більше). DISM виявляє збій, створює список пошкоджених файлів, а потім завантажує їх із серверів Майкрософта за допомогою Windows Update.

Як відновити файли із зазначеного джерела за допомогою параметра RestoreHealth

Іноді буває так, що пошкодження операційної системи набагато ширші і торкаються служби оновлення Windows. У цьому випадку не вдасться через параметр RestoreHealth усунути пошкодження в образі, тому що система не може підключитися до серверів Майкрософт. У цій ситуації слід виконати іншу операцію – вкажемо шлях до інсталятора (інсталятора) Windows, з якого будуть завантажені «робочі» файли без використання Інтернету та центру оновлень.

Для цього потрібний інсталятор Windows 10 на DVD-диску, флеш-пам'яті або у форматі ISO. Останній може бути завантажений через програму Media Creation Tool для Windows 10.

Завантажте версію для Windows 10 (32 або 64 біт), запустіть програму і дотримуйтесь вказівок майстра із завантаження ISO на ваш комп'ютер. Після того, як зображення завантажено і збережено, перейдіть у вікно провідника і двічі клацніть на файл ISO з інсталятором, щоб його змонтувати. У вікні "Цей комп'ютер" перевірте, яка літера була присвоєна змонтованому образу (наприклад, літера "E").

Якщо у вас є завантажувальний диск DVD або USB накопичувач з інсталяцією Windows 10, то нічого не треба завантажувати - просто вставте диск або підключіть зовнішній носій, і подивіться, яка літера була присвоєна цьому накопичувачу в розділі "Цей комп'ютер".

Після того, як накопичувач з інсталяцією Windows виявлено системою і нам відома літера настав час використовувати відповідний параметр DISM, який вкаже шлях до цього носія. Для цього введіть наступну команду:


Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:E:\Sources\install.wim:1 /limitaccess

Ще раз зверніть увагу на те, що якщо в нашому випадку, DVD, флеш-пам'яті або образу ISO присвоюється інша літера ніж «Е», то поміняйте її у вищевказаній команді. Після натискання на Enter пошкоджені файли сховища компонентів будуть відновлені з оригінального інсталятора Windows за вказаним шляхом.

Виправлення помилок у Windows

Після того, як ви виконали всі вищезгадані кроки, тепер потрібно знову використовувати утиліту SFC для виправлення помилок у системі з відновлених образів Windows. Введіть у вікні командного рядка:

sfc /scannow

Іноді може виникнути потреба сканувати систему тричі, щоб повністю усунути всі помилки. SFC тепер має доступ до відновлених образів у сховищі компонентів та може повністю відновити пошкоджені системні файли.

Ця документація переміщена до архіву і не підтримується.

Управління сховищем компонентів

Багато користувачів Windows запитують: "Чому папка WinSxS така велика?" Це питання обговорювалося в блогах, але в цьому розділі розглядаються додаткові відомості про принципи, на яких засновано сховище компонентів (зокрема папка WinSxS), а потім даються посилання на розділи, де описуються способи обмеження розміру папки WinSxS.

Якщо відповідати коротко, то розмір папки WinSxS насправді не такий великий, як може здатися з першого погляду, оскільки при обчисленні можуть враховуватися двійкові файли Windows, що розміщуються в інших місцях.

Сховище компонентів Windows та папка WinSxS

Папка WinSxS розташована у папці Windows, наприклад: c:\Windows\WinSxS. Це розташування файлів сховища компонентів Windows. Сховище Windows підтримує виконання функцій, необхідних для налаштування та оновлення Windows. Ось кілька прикладів використання файлів із сховища компонентів Windows.

    Використання Windows Update для встановлення нових версій компонентів. Це забезпечує захист та актуальність систем.

    Увімкнення та вимкнення компонентів Windows.

    Додавання ролей та компонентів за допомогою диспетчера сервера.

    Переміщення систем між різними випусками Windows.

    Відновлення системи після пошкодження чи невдалого завантаження.

    Видалення проблемних оновлень.

    Виконує програми з використанням паралельних збірок.

Сховище компонентів Windows вперше з'явилося у Windows XP для підтримки паралельних збирань. Починаючи з Windows Vista, сховище компонентів було покращено для відстеження та обслуговування всіх компонентів, що становлять операційну систему. Ці компоненти операційної системи відстежують такі об'єкти, як файли, каталоги, розділи реєстру та служби. Конкретні версії компонентів часто об'єднуються у пакети. Пакети використовуються у Windows Update та програмі DISM для оновлення Windows. Компоненти та пакети, що використовуються під час інсталяції Windows, обробляються сховищем компонентів Windows. Визначення розміру сховища компонентів Windows ускладнюється тим, що багато файлів, що використовуються Windows знаходяться в каталогах за межами сховища компонентів Windows із застосуванням методу жорсткого зв'язку. У деяких випадках файли певної версії компонента зустрічаються і в сховищі компонентів Windows, і поза ним. За допомогою жорстких зв'язків Windows може спричинити враження збереження кількох копій одного файлу без витрати фактичного місця на розміщення кількох копій.

Жорсткі зв'язки

Жорсткий зв'язок – це об'єкт файлової системи, який дозволяє двом файлам посилатися одне розташування на диску. Це означає, що кілька файлів можуть посилатися на ті самі дані, а зміни цих даних в одному файлі відбиваються на інших файлах. Це ускладнює підрахунок розміру каталогів, як показано в наведеному нижче прикладі.

    Каталог А містить три файли: 1.txt, 2.txt та 3.txt.

    Каталог містить один файл: 4.txt.

    Файли 1.txt та 2.txt з'єднані жорстким зв'язком і містять 1 МБ даних.

    Файли 3.txt та 4.txt також з'єднані жорстким зв'язком і містять 2 МБ даних.

У цьому прикладі видно, що жорсткі зв'язки дозволяють кільком файлам посилатися на один набір даних.

Який розмір має каталог А?

Відповідь залежить від того, що ви плануєте робити із каталогом А.

    При зчитуванні файлів у каталозі А розмір всіх лічені файли буде сумою розмірів кожного файлу. У цьому прикладі це буде 4 МБ.

    При копіюванні всіх файлів з каталогу А в нове розташування обсяг даних, що копіюються, буде сумою всіх даних, що беруть участь у жорстких зв'язках з файлами. У цьому прикладі це буде 3 МБ.

    При звільненні місця шляхом видалення каталогу А розмір буде зменшено лише обсяг файлів, які беруть участь у жорсткому зв'язку лише у каталозі А. У цьому прикладі можна буде звільнити 1 МБ.

Тепер повернемося до питання, скільки місця займає сховище компонентів Windows, зокрема папка WinSxS. Третя відповідь у прикладі з каталогом А найближче підходить до оцінки додаткового місця. Файли, що жорстко пов'язані з іншою системою, необхідні для системних операцій, тому їх не потрібно рахувати, а для файлів, які беруть участь у жорстких зв'язках з кількома розташуваннями в сховищі компонентів, слід враховувати лише місце, зайняте на диску.