
Текущие версии Windows собирают информацию о состоянии жестких дисков в компьютере с помощью SMART и могут уведомлять пользователя в случае каких-либо проблем. Давайте посмотрим, как выглядит уведомление Windows о физических проблемах с жестким диском и как получить SMART-информацию о состоянии дисков с помощью встроенных средств (классов WMI, PowerShell и командной строки).
Большинство современных жестких дисков (включая HDD, SSD, NVMe SSD) поддерживают S.M.A.R.T (Self-Monitoring, Analysis, and Reporting Technology). Контроллер диска оценивает физические характеристики диска, и Windows может получить доступ к этим данным через WMI.
Windows обнаружила проблему с жестким диском
По умолчанию в Windows включен мониторинг дисков с помощью диспетчера логических дисков и службы политики диагностики. Если один из дисков возвращает сообщение Прогнозируемый отказ состояние, планировщик заданий запускает программу Microsoft-Windows-DiskDiagnosticResolver (\Microsoft\Windows\DiskDiagnostic), который выводит сообщение об ошибке:
Windows detected a hard disk problem Back up your files immediately to prevent information loss, and then contact the computer manufacturer to determine if you need to repair the disk.
В журнале Event Viewer появляются следующие сообщения:
The driver has detected that device \Device\Harddisk1\DR1 has predicted that it will fail. Immediately back up your data and replace your hard disk drive. A failure may be imminent.
Windows Disk Diagnostic detected a S.M.A.R.T. fault on disk .......... (volumes E:\). This disk might fail; back up your computer now. All data on the hard disk, including files, documents, pictures, programs, and settings might be lost if your hard disk fails. To determine if the hard disk needs to be repaired or replaced, contact the manufacturer of your computer. If you can't back up (for example, you have no CDs or other backup media), you should shut down your computer and restart when you have backup media available. In the meantime, do not save any critical files to this disk.
Статус Predictive Failure означает, что одна из характеристик диска (например, механический износ) не соответствует эталонным значениям и он может выйти из строя.
В этом случае рекомендуется сделать резервную копию данных с диска на отдельный носитель. Затем проверьте диск с помощью стандартного SMART-инструмента производителя (или других инструментов, например CrystalDiskInfo) и используя chkdsk
.
Вы можете показать или скрыть это сообщение с помощью отдельного параметра GPO, Диагностика диска: Настройка уровня выполнения, расположенный в разделе Administrative Templates -> System -> Troubleshooting and Diagnostics -> Disk Diagnostics в GPO.
Например, я могу получить ресурс SSD. Текущее значение Total Host Writes составляет 507 ГБ. Производитель гарантирует, что максимальный ресурс записи (TBW) для моей модели SSD составляет 300 ТБ. Таким образом, износ диска составляет менее 0,2%. Диск используется всего 108 часов.
Проверка SMART-атрибутов жесткого диска с помощью класса WMI и PowerShell
Проверить данные SMART диска можно с помощью встроенных инструментов Windows. Информацию о состоянии диска компьютера можно просмотреть через Панель управления (Control Panel\System and Security\Security and Maintenance). Раздел также содержит информацию о состоянии службы Windows Error Reporting.
В моем случае с дисками все в порядке, поскольку в разделе Состояние диска раздел: OK, All drives are working properly
.
Как мы уже говорили, Windows собирает SMART-информацию с дисков и позволяет получить к ней доступ с помощью WMI.
Запустите поднятую командную строку и используйте приведенную ниже команду, чтобы узнать состояние всех дисков:
wmic diskdrive get status
В этом случае с дисками все в порядке. В противном случае вы увидите Bad, Неизвестный, или Внимание статус.
Получить информацию о возможном отказе жесткого диска можно с помощью WMI-класса MSStorageDriver_FailurePredictStatus:
wmic /namespace:\\root\wmi path MSStorageDriver_FailurePredictStatus
Если дисковый контроллер не обнаруживает проблем с диском, то PredictFailure значение должно быть FALSE.
Этот же класс можно запросить с помощью PowerShell:
Get-WmiObject -namespace root\wmi –class MSStorageDriver_FailurePredictStatus
Если значение PredictFailure = True, обратите внимание на код ошибки, показанный в окне Причина параметр. Значение кода ошибки PredictFailure зависит от поставщика. Информацию о некоторых кодах ошибок можно найти в вики (https://en.wikipedia.org/wiki/S.M.A.R.T.#ATA_S.M.A.R.T._attributes).
Значения некоторых счетчиков надежности можно получить с помощью следующей команды PowerShell:
Get-Disk | foreach { $_ | Get-StorageReliabilityCounter | Format-List }
Можно отобразить информацию только о некоторых атрибутах SMART:
Get-PhysicalDisk | Get-StorageReliabilityCounter | Select-Object -Property DeviceID, Wear, ReadErrorsTotal, ReadErrorsCorrected, WriteErrorsTotal, WriteErrorsUncorrected, Temperature, TemperatureMax | FT
Также можно просмотреть общую информацию о дисках с помощью команды Get-PhysicalDisk:
$(Get-PhysicalDisk | Select *)[0]
Get-PhysicalDisk | Where-Object {$_.HealthStatus -ne 'Healthy'}
Используя эти классы WMI и команды PowerShell, вы можете настроить сбор данных о состоянии диска на пользовательских компьютерах, чтобы проактивно отслеживать их состояние. Можно создавать оповещения для системы мониторинга (например, Zabbix, Nagios, Icinga и т. д.), отчет о соответствии SCCM с помощью Configuration Baseline, PowerShell Desired State Configuration (DSC), запрашивать состояние SMART с удаленных компьютеров с помощью PowerShell Remoting (Invoke-Command cmdlet) или использовать свои методы.