Проверка состояния жесткого диска (SMART) в Windows

Текущие версии Windows собирают информацию о состоянии жестких дисков в компьютере с помощью SMART и могут уведомлять пользователя в случае каких-либо проблем. Давайте посмотрим, как выглядит уведомление Windows о физических проблемах с жестким диском и как получить SMART-информацию о состоянии дисков с помощью встроенных средств (классов WMI, PowerShell и командной строки).

Большинство современных жестких дисков (включая HDD, SSD, NVMe SSD) поддерживают S.M.A.R.T (Self-Monitoring, Analysis, and Reporting Technology). Контроллер диска оценивает физические характеристики диска, и Windows может получить доступ к этим данным через WMI.

Информация SMART доступна только для локальных физических дисков (устройства ATA/SATA). Внешние LUN, подключенные через Fiber Channel, iSCSI, RAID или общие диски, не сообщают о состоянии SMART.

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.

ошибка состояния диска: Windows обнаружила проблему с жестким диском

В журнале 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.

Включите оповещения о состоянии диска SMART в Windows с помощью GPO - Диагностика диска: Настройка уровня выполнения

Чаще всего для получения информации о состоянии дисков в Windows используются инструменты сторонних разработчиков (например, CrystalDiskInfo, HDTune и т. д.). Эти программы предоставляют много информации о ваших дисках.

Отчет о состоянии диска CrystalDiskInfo

Например, я могу получить ресурс 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: Все диски работают правильно

Как мы уже говорили, Windows собирает SMART-информацию с дисков и позволяет получить к ней доступ с помощью WMI.

SMART должен быть включен в настройках BIOS/UEFI.

Запустите поднятую командную строку и используйте приведенную ниже команду, чтобы узнать состояние всех дисков:

wmic diskdrive get status

cmd: wmic diskdrive get status

В этом случае с дисками все в порядке. В противном случае вы увидите Bad, Неизвестный, или Внимание статус.

Если при обращении к WMI возникают ошибки, попробуйте восстановить репозиторий WMI.

Получить информацию о возможном отказе жесткого диска можно с помощью WMI-класса MSStorageDriver_FailurePredictStatus:

wmic /namespace:\\root\wmi path MSStorageDriver_FailurePredictStatus

получить FailurePredictStatus в windows через WMI

Если дисковый контроллер не обнаруживает проблем с диском, то 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 }

Получить счетчики надежности диска - PowerShell - Get-StorageReliabilityCounter

Можно отобразить информацию только о некоторых атрибутах SMART:

Get-PhysicalDisk | Get-StorageReliabilityCounter | Select-Object -Property DeviceID, Wear, ReadErrorsTotal, ReadErrorsCorrected, WriteErrorsTotal, WriteErrorsUncorrected, Temperature, TemperatureMax | FT

Также можно просмотреть общую информацию о дисках с помощью команды Get-PhysicalDisk:

$(Get-PhysicalDisk | Select *)[0]

PhysicalDisk - состояние здоровья powershell

Ранее мы показали, как получить информацию о сбойном диске в Windows Server S2D с помощью Get-PhysicalDisk и заменить его:

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) или использовать свои методы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *