Где посмотреть отчет о проверке диска
В этой статье есть ознакомительная информация о утилите CHKDSK и методы первоначальной диагностики диска с помощью данной утилиты.
Здесь мы рассмотрим варианты получения лога,ведь далеко не всегда пользователь успевает запечатлеть итог проверки CHKDSK при загрузке.
Подробности
Внимание !
Всё это касается лицензионной, активированной, прошедmшей проверку подлинности, оригинальной ОС Windows. За работу различного рода сборок, не лицензионной ОС ответственности не несу.
Если прибавить эту команду > "$env:homepath\desktop\chkdsk_history.txt" кода в конец команды fl timecreated, message ( после пробела ),то результаты команды fl timecreated, message будут сохранены в лог с именем chkdsk_history.txt на рабочем столе (для удобства).
Для пользователей OC Windows 8.1 командлет выглядит так
Get-EventLog -LogName Application -Source chkdsk | select -Last 5 -ExpandProperty Message > "$env:homepath\desktop\chkdsk_history.txt"
Итак, проверяем на моём ПК ( ОС Windows 7 домашняя базовая Х 86 ):
1. Меню "Пуск" - все программы - стандартные - Windows PowerShell - Windows PowerShell командная строка ( см. скрин 1 );
2.Вводим команду get-winevent -FilterHashTable @| ? | fl timecreated, message > "$env:homepath\desktop\chkdsk_history.txt" и.
благополучно получаем отчёт в виде текстового файла на рабочем столе ( см. скрин 2 )
В мой заглядывать не стоит, пуст, потому, как CHKDSK я уж давно не запускал, а отчёты Просмотра событий я периодически просматриваю и удаляю.
Всё вышеописанное мы делали для системного раздела С жёсткого диск
Это пример в Windows 7.
Чтобы не быть привязанным к инструментарию WMI (вдруг он поврежден - 1 случай из 100),
можно воспользоваться SQL-подобным запросом через утилиту LogParser . Делает тоже самое - выборка из лога журнала событий.
Для Windows XP всё оказалось гораздо сложнее. Во первых, в ней переменные раскрываются через проценты: "%UserProfile%\Desktop\chkdsk_history.txt"
Во вторых, это не будет работать в русскоязычной XP. Там рабочий стол называется по-русски.
И в третьих, в ХР можно встроить лишь одну из двух давно устаревших версий PowerShell, там командлеты прописывались несколько иначе, рыться как - занятие пустое и не благодарное. Уж больно длинный скрипт получится.
А по сему, дамы и господа, предлагаю универсальный скрипт для всех версий PowerShell и для всех версий ОС Windows ХР ( кроме серверных, не было возможности проверить ):
wmic path win32_NTLogEvent WHERE "Logfile='Application' AND (SourceName='Chkdsk' OR SourceName='Wininit' or SourceName='WinLogon') AND (EventCode=1001 OR EventCode=26214)" get /value > "%~dp0chkdsk_history.txt"
Пользователю всегда лучше давать в виде файла => Запустил, получил лог,
чем рассказывать как запустить ком. строку, как скопировать и выполнить код.
Тогда и определять расположение рабочего стола будет не нужно.
Лог будет сохранен рядом с батником. Поместите батник ( файл с расширением .bat ) на рабочий стол и запустите его от имени админ. И ещё, чтобы постоянно иметь отчёты о состоянии системы в полном объёме, необходимо, чтобы здесь стояла галочка, а службы " Журнал событий Windows " и " Сборщик событий Windows " работали, причём в автоматическом режиме.
P.S.Выражаю огромную благодарность специалистам форума SafeZone за помощь в написании статьи.
Данный вариант статьи не окончателен. В дальнейшем будет дополняться. Подлежит обсуждению.
При выполнении определенных действий или открытии определенных файлов происходит сбой системы или зависают программы.
Решение
Проверка диска в Windows 7
Иногда при доступе к определенным файлам начинает медленно работать компьютер или зависают какие-либо программы. Эта проблема может вызываться ошибками на жестком диске.
Устранить проблему можно с помощью средства проверки диска в Windows 7. Оно позволяет найти и автоматически устранить ошибки файловой системы, чтобы вы могли и дальше вести запись и чтение данных на жестком диске. Средство проверки диска в Windows 7 можно использовать не только для локальных жестких дисков, но и для съемных носителей, например USB-устройств флэш-памяти или карт памяти.
Примечание. Закройте все открытые программы и файлы перед проверкой диска.
1. Щелкните правой кнопкой мыши по значку Пуск Windows.
2. В контекстном меню выберите пункт Открыть проводник.
3. В области переходов выберите пункт Компьютер, чтобы открыть справа список дисков.
4. Щелкните правой кнопкой мыши нуждающийся в проверке жесткий диск.
5. Выберите пункт Свойства.
6. Перейдите на вкладку Сервис.
8. В окне Проверить диск установите флажок Автоматически исправлять системные ошибки.
Примечание. Чтобы провести подробную проверку жесткого диска, установите флажок Проверять и восстанавливать поврежденные сектора. Это следует делать при любых подозрениях на ошибку оборудования. Но учтите, что в этом режиме проверка может занять много времени. Использовать эту функцию для первоначальной проверки не рекомендуется.
10. Если проверяемый диск сейчас используется и является системным, появится диалоговое окно с предупреждением. В этом случае выберите команду Расписание проверки диска.
11. Закройте все открытые программы и перезагрузите компьютер. Проверка начнется автоматически перед запуском Windows. После ее завершения будут показаны результаты.
13. Проверка начнется сразу после этого. По завершении будут показаны результаты.
09.09.2020
itpro
PowerShell, Windows 10, Windows Server 2016
комментариев 7
Утилита chkdsk в Windows 10 поддерживает проверку дисков с файловыми системами NTFS, FAT32. Для ReFS томов она не применима, т.к. там используются другие механизмы обеспечения целостности данных.
Проверка диска в Windows 10 с помощью утилиты chkdsk
Чтобы проверить жесткий диск на ошибки, запустите командную строку с правами администратора. Выполните команду:
Данная команда запустит проверку диска E:\, найденные ошибки будут исправлены автоматически (/F), при наличии поврежденных секторов будет выполняться попытка восстановления информации (/R). Полная проверка диска может занять длительное время в зависимости от емкости носителя и количества файлов.
Утилита chkdsk последовательно выполняет четыре прохода, на которых выполняется проверка метаданных тома:
- Этап 1. Проверка файлов
- Этап 2. Проверка индексов
- Этап 3. Проверка дескрипторов безопасности
- Этап 4. Проверка секторов
После окончания проверки диска вы увидите подробную статистику диска, информацию о поврежденных секторах и файлах, предпринятых действиях по восстановлению.
Если утилита chkdsk не обнаружила проблем, появится надпись:
Вы не сможете выполнить онлайн сканирование и исправление ошибок на системном диске (C:\). При запуске команды chkdsk C: /F /R вы увидите, что диск заблокирован и его проверку можно выполнить только при следующей перезагрузке Windows:
Теперь, если вы перезагрузите 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 .
Задание проверки диска, которое называется 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
Repair-Volume –driveletter E –offlinescanandfix
Также поддерживается быстрое исправление ошибок с помощью параметра 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
Просмотр результата (лога) проверки диска Chkdsk в Windows 10
При проверке диска в онлайн режиме, вы видите в консоли полную статистику. Однако, если вы запланировали проверку диска с помощью опции offlinescanandfix, вы не увидите на экране загрузки Windows итоговый отчет chkdk. В Windows 10 на экране загрузки отображается только общий процент выполнения проверки диска.
В Windows 7 и более ранних версиях Windows, подробная информация о действиях, выполняемых утилитой chkdsk, отображалась прямо на экране загрузки ОС.
В Windows 10 вы можете получить информацию о всех действиях, которые были выполнены процедурой проверки дисков только из журнала событий Windows (Event Viewer).
Откройте Windows Event Viewer ( Eventvwr.msc ).
В открывшемся окне перейдите в раздел Windows Logs -> Application.
Щелкните ПКМ по разделу Application и выберите пункт меню Find. В строке поиска введите chkdsk и нажмите Find next.
Можно искать по источнику событий. Для поиска событий проверки диска при загрузке Windows нужно искать включить фильтр по событиям с источнико Wininit. Для событий проверки диска, инициированных пользователем смотрите источник Chkdsk.
Поиск должен перейти на последнее событие с Event ID 1001 и источником Wininit. На вкладке General будет содержаться подробный лог с данными последней проверки системного диска.
Вы можете получить информацию из событий проверки диска с помощью 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"
Полученный файл можно открыть в любом текстовом редакторе.
Итак, мы получили журнал проверки дисков, выполненной при загрузке Windows 10. Если Windows запускает проверку при каждой загрузке ОС или проверка зависает, возможно стоит временно отключить автоматическую проверку дисков при загрузке Windows.
Мой читатель Николай выполнил проверку диска утилитой chkdsk и заинтересовался, где хранятся ее результаты. Мои ответы в письмах не столь подробны, как записи блога. Однако в данном случае исчерпывающий ответ уложился в пару строк текста.
Скопируйте код в буфер обмена:
В Windows 8 и новее:
В Windows 7:
Нажмите клавишу Win, напечатайте PowerShell и нажмите Enter.
Вы уже поняли, где посмотреть отчет проверки chkdsk?
Разбор команд
В Windows 8 изменились источник и номер события (chkdsk, 26226), хотя второе нам даже не понадобилось.
Команда для Windows 7 могла быть короче, но она демонстрирует другой способ извлечения данных из журнала событий с помощью PowerShell:
Конечно, я мог объяснить читателю, как открыть нужный журнал событий и настроить там фильтр по источнику и номеру.
Но одну команду дать и выполнить можно намного быстрее, не правда ли? 16 примеров извлечения сведений из журнала событий вы можете посмотреть командой:
Кто такой поставщик
Интересно, что для многих событий можно указать поставщика просто в качестве еще одного фильтра хэш-таблицы, исключая третий шаг команды. Но с Microsoft-Windows-Wininit это не сработало по неведомой мне причине.
Как подсчитать среднее время трех последних загрузок системы
Если вы читали мою книгу об ускорении загрузки, то знаете, о чем я говорю :)
Диагностический пакет содержит набор скриптов PowerShell. И фрагмент одного из них я хочу вам показать, поскольку он напрямую связан с темой сегодняшнего разговора.
Просто скопируйте код и вставьте его в окно консоли PowerShell.
Результат будет примерно таким:
В PowerShell можно представить данные события в формате XML, а затем извлекать значения из нужных элементов. XML-файл можно увидеть… правильно, в журнале событий.
Обратите внимание, что вся операция уложилась в 7 строк кода! Согласитесь, что это весьма компактно.
Если у вас есть примеры небольших скриптов, поделитесь ими в комментариях! Если же для вас это темный лес, рекомендую это вводное видео Василия Гусева.
Положа руку на сердце, я в PowerShell не силен, как и вообще в скриптах. А как у вас обстоят дела?
Результаты голосования утеряны в связи с прекращением работы веб-сервиса опросов.
Вадим - владелец этого блога, и почти все записи здесь вышли из-под его пера. Подробности о блоге и авторе здесь. Поддержать автора вы можете тут.
Вас также может заинтересовать:
Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.
комментариев 20
Немного не по теме если можно — давно хотел спросить — применима ли методика описанная здесь в статье а также методика в книге об ускорении загрузки к ОС windows xp?
Ваша оценка: 0
Сергей, PowerShell 2.0 для XP можно загрузить отсюда. Я не пользовался PS на XP, поэтому не могу сказать, сработает ли данная команда.
Описанные в книге методики ускорения загрузки не подходят к XP.
Ваша оценка: +1
Ваша оценка: +3
Еще пример скрипта, может быть полезен админстраторам.
Заведение пользователя посредством скрипта Powershell и csv-файла.
Ваша оценка: +3
equinox, опечатку исправил. Спасибо за примеры — вижу, что хоть кто-то использует PowerShell в работе :)
PowerGUI активно популяризует MVP Дмитрий Сотников, он работает в Quest. Его видео на TechDays тоже интересны — он отличный докладчик.
Ваша оценка: +2
Скрыто по причине низкого рейтинга комментария. Нажмите здесь, чтобы прочесть.
Не ахти! -23
Владимир, ваш комментарий одобрен только потому, что я решил показать интеграцию консолей Windows. На публикацию следующего комментария в таком тоне можете не рассчитывать.
Теперь по сути запуска PowerShell. Откройте командную строку, введите там powershell и нажмите Enter.
Если у вас это тоже не работает, обратитесь в форум за помощью.
Ваша оценка: +3
Скрыто по причине низкого рейтинга комментария. Нажмите здесь, чтобы прочесть.
Но одну команду дать и выполнить можно намного быстрее, не правда ли?
А щелчки мышью проще запомнить.
Не ахти! -7
Виталий, автору вопроса мой ответ в письме понравился. Более того, сегодня он прислал еще одно письмо, поблагодарив за подробный рассказ.
Его реакция сильно отличается от вашей, причем в лучшую сторону. Я уверен, что все сделал правильно.
Ваша оценка: +3
Вадим, спасибо!
Всегда интересно, познавательно и понятно пишите.
Ваша оценка: +2
Если скорость не смущает, то ощущения от консольных Нет программах должны быть аналогичными.
Ваша оценка: -1
Андрей, спасибо за поддержку ;)
Shell, я нечасто использую PowerShell, так что мне трудно оценить скорость. Но думаю, надо рассматривать ее в другом контексте.
PS — это средство управления Windows для администраторов. Думаю, что в первую очередь оно призвано ускорить их работу за счет автоматизации рутинных действий.
Многие административные задачи выполняются через графический интерфейс оснасток. Если задача однократная, вряд ли можно ускорить работу, пытаясь наваять скрипт на PS. Но если задача выполняется регулярно, скрипт сэкономит время неимоверно.
Более того, Microsoft создает графические средства управления, заточенные под создание готовых команд. Посмотрите Создание сценариев в среде управления Exchange: ^Справка по Exchange 2010 SP1.
Вы прошли через мастер, и он показывает вам готовую команду. Даже PS изучать особо не надо :)
Ваша оценка: +2
Извиняюсь за оффтоп…
Уважаемый Вадим! Давно (и всегда с интересом), читаю Ваш блог. Огромное Вам спасибо, что Вы находите время делиться Вашими знаниями с теми, кто до Вашего уровня пока не дотянул! :)
Ну, и со всеми остальными тоже! :)
Ваша оценка: 0
Therion1966, спасибо за отклик! Я постараюсь не разочаровать вас в будущем :)
Ваша оценка: 0
Спасибо, извините за тупость, однако… кхм… у меня не вышло:
Ваша оценка: +1
Странно, имею 8.1 pro – но нет журналов wininit и chkdsk. А команда powershell для 8 выводит:
Журнал WinLogon вообще пуст, хоть и работает.
Ваша оценка: 0
Вариантов ровно два:
1. Проверка диска не выполнялась → выполнить
2. Не функционируют журналы событий → в форум
Ваша оценка: 0
Здравствуйте Вадим !
Вчера проверял весь жёсткий диск командой chkdsk только прямо в свойствах системного диска. И отчёт я смотрел в журнале Просмотр событий- Приложение по коду 1001 по источнику Wininit Но там весь отчёт по английски написан. Я его ниже копировал в разделе Общие и делал перевод в своём почтовом ящике. И сейчас я делаю проверку раз в три месяца. Спасибо вам !
Ваша оценка: 0
Леонид Боярский
Здравствуйте, Вадим.
Попробовал применить описанный Вами метод в Windows 10.
Выполнил в PowerShell с правами админа командлет
Get-EventLog -LogName Application -Source chkdsk | select -Last 5 -ExpandProperty Message
В полученном отчете я заметил, что он не соответствует тем дискам которые я проверял последними.
Поскольку в отчете нет даты проверки диска, то догадаться что это не последний отчет практически невозможно и, следовательно, можно придти к неверным выводам о текущем состоянии диска.
Я решил попробовать предлагаемый Вами метод, но с параметром -First 1, т.е. командлет имеет вид
Get-EventLog -LogName Application -Source chkdsk | select -First 1 -ExpandProperty Message
Все сработало и в результате я получил самый последний отчет о работе chkdsk и состоянии проверяемого диска.
Ваша оценка: 0
Леонид, вообще, у командлета Select-Object свойства Last и First выводят последние и первые элементы массива. Поэтому -First 1 означает самое старое событие из имеющихся. Если вам надо с датами…. да просто адаптируйте команду для 7 — providername заменить на chkdsk, убрать номер события (он менялся в 8 и 10) и все дела.
Читайте также: