Где посмотреть отчет проверки диска на ошибки

   
27.05.2019 — 13:22

обсудить
11889+


 размер текста 

Чтобы найти отчёт CHKDSK после перезагрузки Windows 10, придётся заглянуть в системный журнал событий. В ином случае, вы попросту останетесь в неведении о найденных ошибках или битых секторах на системном диске.

Утилита CHKDSK (с англ. checking disk – проверка диска) позволяет в автоматическом режиме протестировать HDD на наличие логических ошибок, а также по возможности исправить битые сектора (с англ. bad sectors) в файловой системе.

Где посмотреть отчёт CHKDSK после перезагрузки Windows 10

Пошаговая инструкция:

  1. Нажмите сочетание клавиш «Win + X”;
  2. Перейдите в «Просмотр событий» в меню;

  3. В списке слева перейдите к «Журналы Windows ? Приложения»;
  4. В панели справа щёлкните опцию «Найти»;
  5. Введите в поле «chkdsk» и нажмите «Найти далее»;
  6. В центральной области щёлкните строку — код события1001 (источник Wininit);
  7. Ниже можно ознакомиться с результатами проверки диска;
  8. В панели справа можно Сохранить выбранное событиев формате text.

Вместо послесловия

Из-за обновления до Windows 10 результаты проверки диска были скрыты от глаз обычных пользователей. Теперь проверка на этапе загрузки системы отражает только лишь общий прогресс в процентном соотношении.

CHKDSK.exe (check disk) — стандартная встроенная утилита Windows для проверки жестких дисков на наличие ошибок. Утилита chkdsk позволяет проверить носитель и файловую систему на физические и логические ошибки, найти поврежденные секторы (bad sectors) и исправить найденные проблемы. В этой статье мы рассмотрим особенности использования утилиты проверки диска chkdsk в Windows 10, а также возможность проверки диска из PowerShell с помощью командлета Repair-Volume.

Содержание:

  • Проверка диска в Windows 10 с помощью утилиты chkdsk
  • Проверка ошибок на жестком диске с помощью PowerShell
  • Просмотр результата (лога) проверки диска Chkdsk в Windows 10

Утилита chkdsk в Windows 10 поддерживает проверку дисков с файловыми системами NTFS, FAT32. Для ReFS томов она не применима, т.к. там используются другие механизмы обеспечения целостности данных.

Проверка диска в Windows 10 с помощью утилиты chkdsk

Чтобы проверить жесткий диск на ошибки, запустите командную строку с правами администратора. Выполните команду:

chkdsk E: /F /R

Данная команда запустит проверку диска E:\, найденные ошибки будут исправлены автоматически (/F), при наличии поврежденных секторов будет выполняться попытка восстановления информации (/R). Полная проверка диска может занять длительное время в зависимости от емкости носителя и количества файлов.

Утилита chkdsk последовательно выполняет четыре прохода, на которых выполняется проверка метаданных тома:

  • Этап 1. Проверка файлов
  • Этап 2. Проверка индексов
  • Этап 3. Проверка дескрипторов безопасности
  • Этап 4. Проверка секторов

После окончания проверки диска вы увидите подробную статистику диска, информацию о поврежденных секторах и файлах, предпринятых действиях по восстановлению.

Если утилита chkdsk не обнаружила проблем, появится надпись:

Windows has scanned the file system and found no problems.
No further action is required.

chkdsk утилита проверки диска на ошибки в windows 10

Вы не сможете выполнить онлайн сканирование и исправление ошибок на системном диске (C:\). При запуске команды
chkdsk C: /F /R
вы увидите, что диск заблокирован и его проверку можно выполнить только при следующей перезагрузке Windows:

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, так как указанный том используется другим процессом. Следует ли выполнить проверку этого тома при следующей перезагрузке системы?

Если вы хотите проверить диск при следующей загрузке компьютера, нажмите
Y
->
Enter
. Появится сообщение “
This volume will be checked the next time the system restarts
”.

chkdsk системный диск заблокирован, запланировать его проверку при следующей перезагрузке

Теперь, если вы перезагрузите Windows, запустится проверка диска. Нужно дождаться ее окончания.

Если вы хотите проверить на ошибки диск в офлайн режиме (пропустить онлайн проверку), используйте опцию offlinescanandfix:

chkdsk E: /f /offlinescanandfix

При использовании опции offlinescanandfix для системного диска будет предложено запланировать проверку при перезагрузке.

Скорость офлайн проверки диска в Windows 10 существенно увеличена по сравнению с предыдущими версиями ОС.

/X — еще один полезный атрибут chkdsk. Он позволяет отключить том перед проверкой, принудительно закрыв все открытые файловые дескрипторы.

Также нужно обратить внимание на новую опцию chkdsk —
/spotfix
. Данный параметр применяется только для томов NTFS. Параметр spotfix позволяет существенно сократить время офлайн проверки диска с нескольких часов до секунд. Вместо полной проверки всего диска выполняется только поиск и исправление ошибок, зафиксированных ранее (во время обычной проверки диска) в файле $corrupt. В этом случае chkdsk сразу исправляет ошибки, не тратя время на сканирование диска. Это особенно полезно при проверке больших томов.

Не рекомендуется прерывать выполнение команды chkdsk. Однако, если вы руками остановите/завершите процесс chkdsk.exe, вы не повредите этим том (он не повредится сильнее, чем он был поврежден изначально). В любом случае через какое-то время рекомендуется выполнить полную проверку диска.

В Windows 10 обслуживание дисков (проверка и дефрагментация) выполняются автоматически по расписанию или во время бездействия компьютера. Информацию о статусе автоматической проверки дисков можно найти в меню Панель управления -> Центр безопасности и обслуживания -> Обслуживание -> Состояние диска (Control Panel -> System and Security -> Security and Maintenance -> Drive status). На скриншоте виден статус
All drives are working properly
.

windows 10 статус заданий обслживания жесткого диска

Задание проверки диска, которое называется ProactiveScan, и запускается в рамках Windows 10 Automatic Maintance Task можно найти в Task Scheduler -> Microsoft -> Windows -> Chkdsk.

Также в современных билдах Windows 10 добавлена утилита диагностики хранилища
StorDiag.exe
(Storage Diagnostic Tool). Данная утилита выполняет сразу несколько операций проверки диска (
chkdsk
,
fsutil
и
fltmc
). Лог можно сохранить в виде ETW трейса. Например:

stordiag.exe -collectEtw -checkfsconsistency -out %userprofile%\desktop

Проверка ошибок на жестком диске с помощью PowerShell

В версии PowerShell 4.0 появился отдельный командлет для проверки диска Repair-Volume. Это командлет является PowerShell аналогом команды chkdsk.

Чтобы из PowerShell выполнить онлайн проверку жесткого диска на ошибки, выполните команду:

Repair-Volume –driveletter C –scan

Если нужно выполнить офлайн проверку и автоматически исправить ошибки, используйте параметр offlinescanandfix:

Repair-Volume –driveletter E –offlinescanandfix

Если ошибок на диске не найдено, вы увидите сообщение NoErrorsFound.

Repair-Volume проверка ошибок на диске с помощью powershell

Также поддерживается быстрое исправление ошибок с помощью параметра spotfix (исправляются только ошибки, найденные при онлайн сканировании):

Repair-volume –driveletter E –spotfix

Можно проверить сразу несколько локальных дисков:

Repair-Volume -DriveLetter EHI –SpotFix

Через CIM сессии проверить диски на удаленных компьютерах:

Repair-Volume –driverletter c -scan –cimsession fs01,fs02,dc01

Также вы можете проверить SMART состояние жестких дисков из PowerShell с помощью командлетов из модуля Storage:

Get-PhysicalDisk | Sort Size | FT FriendlyName, Size, MediaType,SpindleSpeed, HealthStatus, OperationalStatus -AutoSize

powershell: команда получения данных smart о здоровье диска

Просмотр результата (лога) проверки диска Chkdsk в Windows 10

При проверке диска в онлайн режиме, вы видите в консоли полную статистику. Однако, если вы запланировали проверку диска с помощью опции offlinescanandfix, вы не увидите на экране загрузки Windows итоговый отчет chkdk. В Windows 10 на экране загрузки отображается только общий процент выполнения проверки диска.

выполняется проверка диска при загрузке windows 10

В Windows 7 и более ранних версиях Windows, подробная информация о действиях, выполняемых утилитой chkdsk, отображалась прямо на экране загрузки ОС.

В Windows 10 вы можете получить информацию о всех действиях, которые были выполнены процедурой проверки дисков только из журнала событий Windows (Event Viewer).

Откройте Windows Event Viewer (
Eventvwr.msc
).

Windows 10 Event Viewer

В открывшемся окне перейдите в раздел Windows Logs -> Application.

Журнал приложений Windows

Щелкните ПКМ по разделу Application и выберите пункт меню Find. В строке поиска введите chkdsk и нажмите Find next.

Можно искать по источнику событий. Для поиска событий проверки диска при загрузке Windows нужно искать включить фильтр по событиям с источнико Wininit. Для событий проверки диска, инициированных пользователем смотрите источник Chkdsk.

Поиск события chkdsk

Поиск должен перейти на последнее событие с Event ID 1001 и источником Wininit. На вкладке General будет содержаться подробный лог с данными последней проверки системного диска.

wininit 1001 chkdsk

Checking file system on C:
The type of the file system is NTFS.
A disk check has been scheduled.
Windows will now check the disk.
Stage 1: Examining basic file system structure ...
129280 file records processed.                                                         File verification completed.
4917 large file records processed.                                     0 bad file records processed.
Stage 2: Examining file name linkage ...
184834 index entries processed.                                                       Index verification completed.
0 unindexed files scanned.                                           0 unindexed files recovered to lost and found.
Stage 3: Examining security descriptors ...
Cleaning up 799 unused index entries from index $SII of file 0x9.
Cleaning up 799 unused index entries from index $SDH of file 0x9.
Cleaning up 799 unused security descriptors.
Security descriptor verification completed.
27778 data files processed.                                           CHKDSK is verifying Usn Journal...
36727760 USN bytes processed.                                                          Usn Journal verification completed.
Stage 4: Looking for bad clusters in user file data ...
129264 files processed.                                                               File data verification completed.
Stage 5: Looking for bad, free clusters ...
6493921 free clusters processed.                                                       Free space verification is complete.
CHKDSK discovered free space marked as allocated in the volume bitmap.
Windows has made corrections to the file system.
No further action is required.
41428991 KB total disk space.
15154156 KB in 90362 files.
75308 KB in 27779 indexes.
0 KB in bad sectors.
223839 KB in use by the system.
55376 KB occupied by the log file.
25975688 KB available on disk.
4096 bytes in each allocation unit.
10357247 total allocation units on disk.
6493922 allocation units available on disk.
Internal Info:
00 f9 01 00 88 cd 01 00 a9 dd 03 00 00 00 00 00 ................
ad 00 00 00 66 00 00 00 00 00 00 00 00 00 00 00 ....f...........
Windows has finished checking your disk.
Please wait while your computer restarts.

Вы можете получить информацию из событий проверки диска с помощью PowerShell. Следующая команда экспортирует 5 последних результатов проверки диска из журнала событий и сохранит их на рабочий стол в текстовый файл CHKDSK_SCAN.txt.

Get-EventLog -LogName Application -Source chkdsk | Select-Object -Last 5 -Property TimeGenerated,Message | Format-Table -Wrap| out-file "$env:userprofile\Desktop\CHKDSK_SCAN.txt"

Полученный файл можно открыть в любом текстовом редакторе.

powershell получить лог проверки диска chkdsk при загрузке windows 10

Итак, мы получили журнал проверки дисков, выполненной при загрузке Windows 10. Если Windows запускает проверку при каждой загрузке ОС или проверка зависает, возможно стоит временно отключить автоматическую проверку дисков при загрузке Windows.

Очень многие ошибки и глюки Windows связаны с HDD. Для поиска поврежденных секторов и восстановление хранящихся в них данных, системные администраторы используют программу chkdsk с различными параметрами. Например:

chkdsk /R

но данная проверка не может быть произведена “на лету”, т.е. при загруженной Windows. Поэтому программа предлагает произвести проверку при первой перезагрузке. Результат проверки будет выведен на экран. А как быть, если Вы работает с компьютером удаленно и не видите экран. Где найти и посмотреть результаты проверки диска CHKDSK в Windows 7?

Результат будет в Журналах Windows – Приложение – Источник Wininit

В свойствах события будут все подробности проверки диска

chkdsk thumb Где посмотреть результат CHKDSK.EXE /R в Windows 7

Вы тут: Главная Windows Как увидеть результаты проверки диска одной командой PowerShell

Мой читатель Николай выполнил проверку диска утилитой chkdsk и заинтересовался, где хранятся ее результаты. Мои ответы в письмах не столь подробны, как записи блога. Однако в данном случае исчерпывающий ответ уложился в пару строк текста.

Скопируйте код в буфер обмена:

В Windows 8 и новее:

Get-EventLog -LogName Application -Source chkdsk | Select-Object -Last 5 -Property TimeGenerated,Message | Format-Table -Wrap

В Windows 7:

Get-Winevent -FilterHashTable @{logname="Application"; id="1001"; starttime="01/01/2011"}| ?{$_.providername –match "wininit"} | fl timecreated, message

Нажмите клавишу Win, напечатайте PowerShell и нажмите Enter.

PowerShell - Журнал событий
Увеличить рисунок

Вы уже поняли, где посмотреть отчет проверки chkdsk?

Разбор команд

Я не случайно упомянул выше «журнал» — отчет о проверке диска хранится в журнале событий (eventvwr.msc). Из него можно легко извлечь данные с помощью PowerShell.

В Windows 8 изменились источник и номер события (chkdsk, 26226), хотя второе нам даже не понадобилось.

  • Get-EventLog -LogName Application Source chkdsk получает события из журнала «Приложения» с источником chkdsk
  • Select-Object -Last 5 -Property TimeGenerated,Message выбирает последние 5 событий (значение можно указать любое) и отображает дату и сообщения из каждого события
  • Format-Table -Wrap выводит результат в виде таблицу, обеспечивая перенос длинных сообщений, чтобы они не обрезались при выводе

Команда для Windows 7 могла быть короче, но она демонстрирует другой способ извлечения данных из журнала событий с помощью PowerShell:

  • get-winevent –FilterHashTable получает события с помощью хэш-таблицы фильтра
  • @{logname="Application"; id="1001"; starttime="01/01/2011"} | фильтрует журнал «Приложения» (Application), извлекая события 1001 с начала 2011 года, и передает результаты дальше (|)
  • ?{$_.providername –match "wininit"} | ищет в полученных результатах события, где в имени поставщика присутствует wininit, и передает результаты дальше (|)
  • fl timecreated, message – выводит итоговый список, показывая даты и текст событий, соответствующих условиям фильтра
  • >> $env:homedrive$env:homepath\desktop\chkdsk.txt если добавить этот фрагмент кода в конец команды, ее результаты будут сохранены в текстовый файл на вашем рабочем столе

Конечно, я мог объяснить читателю, как открыть нужный журнал событий и настроить там фильтр по источнику и номеру.

PowerShell - Журнал событий
Увеличить рисунок

Но одну команду дать и выполнить можно намного быстрее, не правда ли? 16 примеров извлечения сведений из журнала событий вы можете посмотреть командой:

get-help get-winevent -examples

Кто такой поставщик

В Windows есть служба «Журнал событий Windows» (eventlog), которая записывает события в разные журналы. Поставщик WMI (provider) отвечает за сопоставление данных из журналов событий классам WMI (инструментарий управления Windows), работающих под капотом системы. PowerShell отлично справляется с извлечением и обработкой данных WMI, при этом команды получаются очень компактные.

Поставщиком события chkdsk является Microsoft-Windows-Wininit, и на рисунке выше это хорошо видно. Заметьте, что в столбце «Источник» указан просто Wininit, но в подробностях указано полное имя поставщика.

Интересно, что для многих событий  можно указать поставщика просто в качестве еще одного фильтра хэш-таблицы, исключая третий шаг команды. Но с Microsoft-Windows-Wininit это не сработало по неведомой мне причине.

Как подсчитать среднее время трех последних загрузок системы

Если вы читали мою книгу об ускорении загрузки, то знаете, о чем я говорю :)

PowerShell - Журнал событий
Увеличить рисунок

Диагностический пакет содержит набор скриптов PowerShell. И фрагмент одного из них я хочу вам показать, поскольку он напрямую связан с темой сегодняшнего разговора.

Просто скопируйте код и вставьте его в окно консоли PowerShell.

# Получение трех последних событий о загрузке
$events = Get-WinEvent -maxevents 3 -FilterHashtable @{logname="Microsoft-Windows-Diagnostics-Performance/Operational"; id=100}
# Представление данных каждого события в виде XML
$event = $events[0].ToXml()
$event1 = $events[1].ToXml()
$event2 = $events[2].ToXml()
# Извлечение значений BootTime из элемента Data для каждого события
# и вычисление среднего времени в секундах
$3BootAvg = `
($([int]$event.SelectSingleNode("//*[@Name='BootTime']")."#text")+`
$([int]$event1.SelectSingleNode("//*[@Name='BootTime']")."#text")+`
$([int]$event2.SelectSingleNode("//*[@Name='BootTime']")."#text"))/3000

# Вывод на экран округленного значения
write-host "Среднее время трех последних загрузок системы (с):" $([int]$3bootAvg)

Результат будет примерно таким:

PowerShell - Журнал событий
Увеличить рисунок

В PowerShell можно представить данные события в формате XML, а затем извлекать значения из нужных элементов. XML-файл можно увидеть… правильно, в журнале событий.

PowerShell - Журнал событий

К этому коду я пришел не без помощи активного «гугления» и Василия Гусева. Для неподготовленного человека код выглядит сложно, но сопоставив комментарии в нем с картинкой журнала событий, вы легко увидите общую идею.

Обратите внимание, что вся операция уложилась в 7 строк кода! Согласитесь, что это весьма компактно.


Если у вас есть примеры небольших скриптов, поделитесь ими в комментариях! Если же для вас это темный лес, рекомендую это вводное видео Василия Гусева.

Положа руку на сердце, я в PowerShell не силен, как и вообще в скриптах. А как у вас обстоят дела?

Результаты голосования утеряны в связи с прекращением работы веб-сервиса опросов.

Понравилась статья? Поделить с друзьями:
  • Где находится журнал ошибок sql server
  • Где посмотреть отчет об ошибках windows 10
  • Где найти речевые ошибки
  • Гбо стаг 300 ошибка 255
  • Где найти ошибку синего экрана