sfc, chkdsk, DISM — коли який використовувати — IT-Wiki

[IT-FORMAT]
Новий формат бізнесу

» » » sfc, chkdsk, DISM: три інструменти цілісності Windows — коли який вибирати

sfc, chkdsk, DISM: три інструменти цілісності Windows — коли який вибирати

Цикл: IT-Wiki / Атлас команд Windows Переглядів: 3
Перед стартом
  • Усі три команди запускаються від адміна.
  • 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) і замінює зіпсоване.
DISMComponent 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» — бад-сектори є, плануйте заміну диска.

Типові помилки інтерпретації

Помилка 1: запускати sfc перед DISM

Якщо Component Store (WinSxS) зіпсований, sfc не матиме звідки брати заміну, і тільки відзвітує «unable to fix». Люди тоді повторюють sfc знову і знову. Правильний порядок при серйозних симптомах: DISM ScanHealth → DISM RestoreHealth → sfc.

Помилка 2: очікувати від chkdsk ремонту системних файлів

chkdsk працює з файловою системою як структурою (MFT, journal, allocation). Він не знає, що саме лежить у файлах. Якщо svchost.exe підмінений вірусом — chkdsk цього не побачить. Для ремонту вмісту системних файлів — sfc.

Нюанс: після StartComponentCleanup /ResetBase

Команда DISM /Online /Cleanup-Image /StartComponentCleanup /ResetBase прибирає усі попередні версії компонентів у WinSxS. Після неї ви більше не зможете видалити уже встановлені оновлення (rollback буде неможливий). Використовуйте коли впевнені, що оновлення стабільні, а місце на C: важливіше за rollback.

Коротка пам'ятка — коли що викликати

Діагностичне дерево
  • Провідник падає / system files пошкоджені: DISM /RestoreHealthsfc /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% випадків вистачає одного.

Теги:
  • Коментарі


Привіт, незнайомець
Опитування

Якою програмою обліку ви користуєтесь?