Die Smartmontools sind eine Sammlung an Werkzeugen rund um das Thema S.M.A.R.T.-Werte von Laufwerken auslesen. Man kann sie installieren oder portable nutzen, zudem gibt es sie für Linux, Mac und Windows.

Ich nutze diese schon lange um via Aufgabe bzw. Batch-Skript diverse Laufwerke unter Windows zu überwachen. Das Vorgehen ist recht einfach:

  • Das aktuelle Setup herunterladen.
  • Entweder installieren oder entpacken. Letzteres ist mit dem Installer oder mit 7-Zip möglich.
  • Für die eigenen Zwecke benötigt man dann die “smartctl.exe”.

In einer Eingabeaufforderung kann man mit wenigen Parametern bereits einiges in Erfahrung bringen:

Verfügbare Laufwerke ermitteln:

smartctl.exe --scan

Beispielergebnis:

/dev/sda -d ata # /dev/sda, ATA device
/dev/sdb -d sat # /dev/sdb [SAT], ATA device

Informationen über ein Laufwerk anzeigen:

smartctl.exe -i /dev/sda

Beispielergebnis:

smartctl 7.2 2020-12-30 r5155 [x86_64-w64-mingw32-w10-20H2] (sf-7.2-1)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Samsung based SSDs
Device Model: Samsung SSD 840 PRO Series
Serial Number: 1234567890
LU WWN Device Id: 5 002538 5a01c9fc0
Firmware Version: DXM06B0Q
User Capacity: 256.060.514.304 bytes [256 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
TRIM Command: Available, deterministic, zeroed
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2, ATA8-ACS T13/1699-D revision 4c
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Fri Mar 19 11:34:00 2021 MZ
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Den Gesundheitszustand eines Laufwerks ermitteln (Gross-/Kleinschreibung beachten!):

smartctl.exe -H /dev/sda

Beispielergebnis:

smartctl 7.2 2020-12-30 r5155 [x86_64-w64-mingw32-w10-20H2] (sf-7.2-1)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

Kurzum: Dieser SSD geht es gut. Ein Vorteil der Smartmontools bzw. von “smartctl.exe” ist der Rückgabewert (Errorlevel), den man Auswerten kann. Alles größer als Null weißt auf ein Problem hin:

smartctl.exe -H /dev/sda
If %Errorlevel% Gtr 0 ...

Zu beachten können allerdings verschiedene Zusätze in der Ausgabe sein. Ein Beispiel:

smartctl 7.2 2020-12-30 r5155 [x86_64-w64-mingw32-2012r2] (sf-7.2-1)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART Status not supported: Incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.

Der Rückgabewert ist in diesem Fall Vier und es handelt sich um eine USB-Festplatte.

Was der Rückgabewert dann genau bedeutet kann man über die möglichen Werte bzw. Bitmuster ermitteln:

Sourceforge.net – S.M.A.R.T. Monitoring Tools – RE: [smartmontools-support]smartctl return value

Als kleines Beispiel-Skript mit einer E-Mail-Benachrichtigung kann das Ganze so aussehen:

@echo off

rem Die S.M.A.R.T.-Abfrage ausfuehren und im Fehlerfall eine E-Mail senden

 Tools\smartctl.exe -H /dev/sda > smart.log
 If %Errorlevel% Gtr 0 (
  Tools\smtpsend.exe -f<Absender> -t<Empfänger> -h<Mailserver> -sSMART-Fehler %Computername% -ismart.log -lu<Anmeldename> -lp<Kennwort>
 )