Встроенная утилита CHKDSK.exe (check disk) используется в Windows для проверки диска на ошибки. Сhkdsk проверяет файловую систему на физические и логические ошибки, находит поврежденные секторы (bad sectors) и исправляет найденные проблемы.
Проверка и восстановление диска с помощью команды chkdsk
Чтобы проверить жесткий диск на ошибки, запустите командную строку с правами администратора и выполните:
chkdsk E: /F /R
Данная команда:
- Выполнит проверку диска E:
- Исправит автоматически найденные ошиьки ( /F )
- Попытаться восстановить данные при обнаружении поврежденных секторов, она попытается восстановить информации ( /R ).
Полная проверка диска может занять длительное время в зависимости от емкости носителя и количества файлов. После окончания проверки диска вы увидите подробную статистику диска, информацию о поврежденных секторах и файлах, предпринятых действиях по восстановлению.
Если утилита chkdsk не обнаружила проблем на диске, появится сообщение:
Windows has scanned the file system and found no problems._x000D_No further action is required.
Утилита chkdsk не позволяет выполнить online проверку системного диска ( C: ). При запуске команды chkdsk C: /F /R появится уведомление:
Cannot lock current drive. Chkdsk cannot run because the volume is in use by another process. Would you like to schedule this volume to be checked the next time the system restarts? (Y/N).
Невозможно выполнить команду Chkdsk, так как указанный том используется другим процессом. Следует ли выполнить проверку этого тома при следующей перезагрузке системы?
Чтобы запланировать проверку диска при следующей загрузке Windows, нажмите Y
-> Enter
.
This volume will be checked the next time the system restarts
.
chkntfs /x c:
Чтобы отключить топ перед проверкой, добавьте атрибут /X в команде chkdsk. В этом случае Windows принудительно закрое все открытые файловые дескрипторы , отмонтирует диск и выполнит проверку на ошибки.
Если вам нужно выполнить проверку большого NTFS тома, но вы не хотите блокировать диск, можно сначала просканировать диск на ошибки:
chkdsk E: /f /offlinescanandfix
Утилита найдет ошибки и сохранит их в файл $corrupt для дальнейшего исправления
Чтобы исправить найденные ошибки, не тратя время на полное сканирование тома, выполните:
chkdsk D: /spotfix
Это существенно сократит время недоступности тома для пользователя при исправлении ошибок.
В консоли PowerShell для проверки диска можно использовать командлет Repair -Volume как аналог команды chkdsk:
Repair-Volume -driveletter C -scan
Также рекомендуем перед проверкой проверить SMART состояние жестких дисков с помощью встроенных PowerShell командлетов из модуля управления дисками :
Get-PhysicalDisk | Sort Size | FT FriendlyName, Size, MediaType,SpindleSpeed, HealthStatus, OperationalStatus -AutoSize
Просмотр результатов проверки Chkdsk в Windows
Chkdsk при онлайн сканировании диска выводит результаты прямо в консоль. Если вы запланировали проверку диска при загрузке Windows, то результаты можно получить только из журнала событий Windows (Event Viewer) .
- Откройте консоль Event Viewer (
Eventvwr.msc
) и перейдите в раздел Windows Logs -> Application ; - Щелкните правой клавишей по разделы Application и выберите Filter Current Log . В поле Event Source выберите Chkdsk и Wininit и нажмите ОК;
- Подробные результаты проверки диска содержатся в описании события. Обратите внимание, что у онлайн событий проверки диска будет указан источник Chkdsk . Если выполнялась офлайн проверка диска при загрузке Windows, у такого события будет источник Wininit и EventID 1001 .
Можно получить лог проверки диска с помощью PowerShell командлета Get-WinEvent . Например, чтобы выгрузить результаты последних 5 проверок диска в текстовый файл CHKDSK_SCAN.txt на рабочем столе, выполните команду:
Get-WinEvent -FilterHashTable @{logname="Application"; id="1001"}| ?{$_.providername –match "wininit"} | fl timecreated, message| out-file $homeDesktopCHKDSKResults.txt
Открыть полученный файл с логом chkdsk:
notepad.exe $homeDesktopCHKDSKResults.txt
Если размер лога Chkdks очень большой, журнал событий может обрезать его. В этом случае можно открыть полный лог проверки диск в System Volume Information . Чтобы получить доступ к этой папке, нужно запустить командную строку от имени SYSTEM (проще всего с помощью утилиты psexec):
.PsExec.exe -i -s cmd.exe
После этого можно открыть лог chkdsk:
notepad.exe "c:System Volume InformationChkdskChkdsk20231129072214.log"