sfc, chkdsk, DISM: три інструменти цілісності Windows — коли який вибирати
- Усі три команди запускаються від адміна.
chkdsk C: /fна системному диску не запуститься одразу — система запропонує запланувати перевірку на наступне завантаження. Це нормально.DISM /RestoreHealthпотребує інтернет-з'єднання (йде за файлами на Windows Update). Альтернатива —/Source:з локальнимinstall.wim.
Хто за що відповідає
| Інструмент | Що лікує | Як лікує |
|---|---|---|
chkdsk | Файлову систему (NTFS): биті сектори, зламані MFT-записи, втрачені кластери | Ремонтує на рівні диска й файлової системи. Нижче за все у стеку. |
sfc | Системні файли Windows (C:\Windows\System32, SysWOW64): змінені, видалені, пошкоджені exe/dll/sys | Звіряє з «еталоном» у Component Store (WinSxS) і замінює зіпсоване. |
DISM | Component Store (WinSxS) — той самий «еталон», з якого sfc бере файли | Звіряє Component Store з офіційним джерелом (Windows Update / install.wim) і виправляє його. |
Ключова річ, яку треба зрозуміти: sfc ремонтує системні файли, але сам залежить від DISM. Якщо Component Store зіпсований, sfc не матиме звідки брати заміну. Тому при серйозних проблемах класичний порядок — DISM спочатку, sfc потім.
Правильний ланцюг при підозрі на пошкодження системи
DISM /Online /Cleanup-Image /ScanHealth
Швидка перевірка, чи є ознаки пошкодження Component Store. 1-2 хвилини.
DISM /Online /Cleanup-Image /RestoreHealth
Якщо ScanHealth знайшов проблеми — запускаємо RestoreHealth. Ця команда йде у Windows Update і підтягує бракуючі файли. 10-40 хвилин, залежно від інтернету.
sfc /scannow
Тепер, коли Component Store цілий, sfc може з нього ремонтувати системні файли. 10-15 хвилин.
chkdsk C: /f /r
На окрему гілку — перевірка файлової системи. Для системного диска — після reboot, на великих дисках — години. Не робіть паралельно з попередніми трьома — це різні рівні.
Сценарій 1. Windows «дивно поводиться» — пропали іконки, падає Explorer
Задача: на робочій станції періодично падає провідник, зникають піктограми в меню Пуск, деякі вбудовані застосунки не запускаються.
Це класична ознака пошкодження системних файлів. Ланцюг:
DISM /Online /Cleanup-Image /ScanHealth
Якщо вивід — «No component store corruption detected», перетворюємося одразу до sfc:
sfc /scannow
У 70% випадків цього вистачає — sfc знайде і замінить проблемні файли.
Якщо ScanHealth повідомив про corruption:
DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow
Після цього — перезавантаження.
Сценарій 2. Windows Update не встановлює нічого нового
Задача: Windows Update падає з помилками типу 0x800f081f, 0x800f0906, 0x80073712. Жодне оновлення не встановлюється.
Ці коди — майже завжди пошкоджений Component Store. Лікування — саме DISM:
DISM /Online /Cleanup-Image /RestoreHealth
Якщо інтернет повільний або машина у закритій мережі:
DISM /Online /Cleanup-Image /RestoreHealth /Source:WIM:D:\install.wim:1 /LimitAccess
Де install.wim береться з інсталяційного носія тієї самої версії Windows, що й на сервері. /LimitAccess забороняє DISM звертатися до Windows Update як fallback.
Сценарій 3. Після жорсткого вимкнення — файлова система «дивиться косо»
Задача: сервер вимкнувся через пропадання живлення. Після reboot Windows завантажився, але деякі файли на D: читаються з помилкою, у Event Log купа записів від Ntfs.
Тут sfc і DISM не допоможуть — проблема нижче. Потрібен chkdsk:
chkdsk D: /f
Якщо є підозра на фізичні биті сектори — /r:
chkdsk D: /f /r
/r додатково сканує кожен сектор і переносить дані з дефектних. На 2 ТБ HDD — кілька годин. На SSD /r зазвичай зайвий (SSD сам керує bad blocks).
/rНа невеликих SSD /r створює додаткове write-навантаження й зменшує ресурс NAND. Для NTFS-corruption без підозри на фізику — достатньо /f. /r — коли реально підозрюєте, що SMART починає показувати bad sectors.
Сценарій 4. Offline-ремонт — коли Windows не завантажується
Задача: після crash'у Windows у завантажувальному циклі. Потрапити в систему неможливо. Але треба ремонтувати.
Завантажуєтесь з Windows Install USB, вибираєте «Repair» → «Command Prompt». Літера системного розділу в WinRE зазвичай не C:, а D: — перевірте через diskpart → list volume.
Для DISM у offline-режимі:
DISM /Image:D:\ /Cleanup-Image /RestoreHealth /Source:WIM:E:\sources\install.wim:1 /LimitAccess
Для sfc:
sfc /scannow /offbootdir=D:\ /offwindir=D:\Windows
Для chkdsk:
chkdsk D: /f /r
install.wim на сучасних ISO лежить у E:\sources\install.wim. Якщо там install.esd — його треба спершу конвертувати у wim (DISM /Export-Image), бо /Source:ESD: рідко підтримується «як є». Зазвичай простіше скачати окремо install.wim від ADK.
Як читати виводи
sfc:
- «Windows Resource Protection did not find any integrity violations» — все добре.
- «...found corrupt files and successfully repaired them» — знайшов і виправив.
- «...found corrupt files but was unable to fix some of them» — Component Store зіпсований, йдіть до DISM.
Детальний лог: C:\Windows\Logs\CBS\CBS.log. Витягти тільки рядки sfc:
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log > %userprofile%\Desktop\sfc-details.txt
DISM:
- «No component store corruption detected» — все добре.
- «The component store is repairable» — проблема є, запустіть RestoreHealth.
- «The restore operation completed successfully» — ремонт пройшов.
chkdsk: підсумок у кінці показує скільки секторів перевірено, скільки проблем знайдено. Якщо у рядках «File verification completed. X files processed. KB occupied by bad sectors» — бад-сектори є, плануйте заміну диска.
Типові помилки інтерпретації
Якщо Component Store (WinSxS) зіпсований, sfc не матиме звідки брати заміну, і тільки відзвітує «unable to fix». Люди тоді повторюють sfc знову і знову. Правильний порядок при серйозних симптомах: DISM ScanHealth → DISM RestoreHealth → sfc.
chkdsk працює з файловою системою як структурою (MFT, journal, allocation). Він не знає, що саме лежить у файлах. Якщо svchost.exe підмінений вірусом — chkdsk цього не побачить. Для ремонту вмісту системних файлів — sfc.
StartComponentCleanup /ResetBaseКоманда DISM /Online /Cleanup-Image /StartComponentCleanup /ResetBase прибирає усі попередні версії компонентів у WinSxS. Після неї ви більше не зможете видалити уже встановлені оновлення (rollback буде неможливий). Використовуйте коли впевнені, що оновлення стабільні, а місце на C: важливіше за rollback.
Коротка пам'ятка — коли що викликати
- Провідник падає / system files пошкоджені:
DISM /RestoreHealth→sfc /scannow - Windows Update не працює:
DISM /RestoreHealth - Після power loss / BSOD файлова система дивна:
chkdsk X: /f - Бад-сектори підозрюються:
chkdsk X: /f /r(для SSD зайве) - Windows не завантажується, треба offline-ремонт: WinRE → DISM з
/Image:і/Source:WIM: - Звільнити місце на C: після довгих оновлень:
DISM /Cleanup-Image /StartComponentCleanup(без/ResetBase, якщо хочете зберегти rollback)
Пов'язане
- ← Назад до Атласу команд Windows.
- Windows не завантажується (майбутній цикл) — там детально про offline-ремонт, 0xc000000f, WinRE.
- Windows Update: розбір (майбутній цикл) — там детальніше про ClearCache, WSUS, KB rollback.
sfc, chkdsk, DISM — як три рівні діагностики. Не запускайте їх паралельно. Виконуйте по-черзі й спостерігайте. У 90% випадків вистачає одного.