Zum Inhalt springen

Hdparm/Anwendung

Aus Foxwiki

Hdparm/Anwendung

Erweiterte Funktionen

Warnung

Folgende Befehle können auch bei richtiger Anwendung einen kompletten Datenverlust oder gar Hardware-Schaden verursachen!

Hinweis

Hdparm verlangt bei jeder potentiell gefährlichen Operation ein "--yes-i-know-what-i-am-doing"-Flag, um zu vermeiden, solch ein Kommando aus versehen abzusetzen

Eine kleine Sammlung nützlicher Hdparm-Anwendungen
-z
Zwingt den Kernel, die Partitionstabelle des gegebenen Gerätes neu einzulesen. Erfüllt die gleiche Aufgabe wie "sfdisk -R", "blockdev --rereadpt" oder "blktool <device> reread-part". Kann nützlich sein, um eine manuell geänderte Partitionstabelle ohne Neustart zu aktualisieren (Beispielsweise MBR mit dd überschrieben oder Partitionstabelle zurück gespielt).
-w
Führt einen Laufwerksreset durch. Diese Funktion ist sehr gefährlich, da sie das ganze System gefährden kann.


Funktion freischalten

--dco-freeze
--dco-identify
--dco-restore

Seit ATA/ATAPI 6 gibt es das Device Configuration Overlay (DCO). Damit haben OEM Hersteller die Möglichkeit, bestimmte, in den Identify-Informationen gelisteten Werte, zu deaktivieren. Mit hdparm lassen sich diese anzeigen.

Abschaltbare Funktionen anzeigen
# hdparm --dco-identify /dev/sdj

/dev/sdj:
DCO Revision: 0x0001
The following features can be selectively disabled via DCO:
       Transfer modes:
                mdma0 mdma1 mdma2
                udma0 udma1 udma2 udma3 udma4 udma5 udma6(?)
       Real max sectors: 312581808
       ATA command/feature sets:
                SMART self_test error_log security HPA 48_bit
       SATA command/feature sets:
                (?): NCQ interface_power_management SSP}}

Anschließend würde man die Ausgabe mit den Identify "-I" Werten vergleichen. Ist dort eine deaktivierte aber gewünschte Funktion dabei, kann man laut Manpage versuchen, diese auf Werkseinstellung zurück zu setzen:

# hdparm --yes-i-know-what-i-am-doing --dco-restore /dev/sdj

/dev/sdj:
issuing DCO restore command
HDIO_DRIVE_CMD(dco_restore) failed: Input/output error }}

... wie gesagt, mit etwas Glück.

Mit einem "--dco-freeze" ließe sich die aktuelle, vielleicht vollwertige Konfiguration, bis zum nächsten Start/Reset einfrieren.