hdparm-Fehler: SG_IO: fehlerhafte/fehlende Sense-Daten

hdparm-Fehler: SG_IO: fehlerhafte/fehlende Sense-Daten

Ich versuche, mit hdparm in Kali Live ein ATA-Passwort zu meiner selbstverschlüsselten Micron M600 SSD hinzuzufügen. Ich verwende:hdparm --security-set-pass PASSWORD sda

Aber ich verstehe:

sda:  Issuing SECURITY_SET_PASS command, password="PASSWORD",
user=user, mode=high SG_IO: bad/missing sense data, sb[]:  70 00 05 00
00 00 00 0a 04 51 60 00 21 04 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00

Warum also passiert das?

Wenn ich eingebe hdparm -I sda, wird angezeigt, dass die Sicherheit meines Laufwerks eingefroren ist. Ich erinnere mich, dass das bedeutet, dass ich keine Sicherheitseinstellungen ändern kann, auch kein ATA-Passwort hinzufügen kann. Ist das das Problem?

Mein BIOS unterstützt kein ATA-Passwort und ich habe noch nie zuvor eins festgelegt.

BEARBEITEN: Der Sicherheitsteil von hdparm -I:

Security: 

    Master password revision code = 65534
            supported
    not     enabled
    not     locked
            frozen
    not     expired: security count
            supported: enhanced erase
    2min for SECURITY ERASE UNIT. 
    2min for ENHANCED SECURITY ERASE UNIT.

Das Format dieser Website ist immer durcheinander, aber ich versuche mein Bestes, den Inhalt lesbar zu halten.

Antwort1

Teilantwort, da es für einen Kommentar zu lang ist:

Die angegebenen Sinnesdaten lauten:

70  response code=Current information (about the error etc.)
00
05  sense code=Illegal Request
00 00 00 00 (not valid)
0a  additional 10 bytes
04 51 60 00  (command specific)
21 04 additional sense code=Unaligned Write Command
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Der Fehler lautet also „Unzulässige Anforderung, nicht ausgerichteter Schreibbefehl“. Das ergibt keinen besonderen Sinn, wenn hdparmein ATA-Writethrough-SCSI-Befehl verwendet wird.

Ich habe keine Ahnung, warum das passiert. Wenn es die Reaktion auf den Zustand „Sicherheit eingefroren“ ist, ist es eine wirklich seltsame Reaktion. Möglicherweise mag etwas in den SCSI-zu-SSD-Übersetzungsschichten den ATA-Schreibbefehl nicht?

Wissen Sie sicher, dass die Micron M600 SSD ATA-Passwörter unterstützt?

Bearbeiten: In dem Handbuch, das Sie verlinkt haben, steht:

Microns SEDs unterstützenentwederdie TCG Opal 2.0 Spezifikationoderder ATA SECURITY FEATURE SET. Die ATA-Sicherheitsmodi werden im Allgemeinen vom System-BIOS oder von einigen auf der Universal Extensible Firmware Interface (UEFI) basierenden Systemen im Legacy-Modus initiiert. Gemäß den Spezifikationen der zugehörigen Industriestandardorganisationen schließen sich TCG Opal und ATA-Sicherheit gegenseitig aus. Mit anderen Worten: Wenn einer aktiviert ist, ist der andere deaktiviert.

Wenn Ihr BIOS es also nicht aktiviert, funktioniert es nicht. „Eingefroren“ bedeutet lediglich, dass Sie den Status nicht ändern können.

Bitte bearbeiten Sie Ihre Frage mit der vollständigen Ausgabe imSicherheitAbschnitt von hdparm -I.

Bearbeiten

Die hdparm -IAusgabe lautet eindeutig „nicht aktiviert“, sondern „eingefroren“. Ihr BIOS hat es also nicht aktiviert, sondern eingefroren, sodass Sie den Status nicht ändern können.

Das bedeutet, dass sich Ihre SSD im TCG Opal-Modus befindet, und ich habe keine Ahnung, wie ich unter Linux darauf zugreifen kann.

Es ist einen Versuch wert, das Gerät im eingesteckten Zustand aus- und wieder einzuschalten.

Wenn Sie einen anderen Computer mit einem BIOS finden, bei dem Sie das Kennwort festlegen können oder das nicht einfriert, können Sie es auch auf diese Weise versuchen.

Antwort2

Hatte das gleiche Problem und habe an anderer Stelle gelesen, dass ein Power- oder Hotplug-Zyklus des Geräts es wieder auftauen würde. Einige Leute schlugen vor, bei Laptops das System in den Ruhezustand zu versetzen, also beschloss ich, das zu versuchen, und es funktionierte!

So habe ich vorgegangen, um das Laufwerk „aufzutauen“ (es befindet sich auf einem Remote-Server bei der Firma Hetzner Hosting):

Zuerst habe ich den Server in einer NFS-gebooteten Rettungsumgebung gebootet. Dann habe ich mich angemeldet und das System angehalten:

local $> ssh root@server    
server #> apt-get install pm-utils
server #> pm-suspend

An diesem Punkt ist das System angehalten (auch die SSD), meine SSH-Shell reagiert natürlich nicht.

Ich habe über die Systemsteuerung des Hosts ein WOL-Signal (Wake on LAN) gesendet (bin nicht sicher, ob ein Ping geholfen hätte oder nicht). Nach einer Weile (ungefähr 20 Sekunden) erwachte die Shell wieder zum Leben und die SSD wurde aktiviert, sodass ich den Befehl --secure-erase mit hdparm senden konnte, wie in vielen Anleitungen beschrieben.

Antwort3

Seit diese Frage vor 5 Jahren gestellt wurde, wurde es in keiner einzigen Antwort oder keinem Kommentar erwähnt, aber es gibt tatsächlich eine äußerst einfache Möglichkeit, eine Sense-Fehlermeldung lokal auf Ihrem Computer zu dekodieren:

Verwenden Sie den Befehl, der sg_decode_senseauf allen wichtigen Linux-Distributionen verfügbar ist (z. B. im Paket sg3_utilsvon Arch Linux), und übergeben Sie ihm die hexadezimale Fehlermeldung, um sie in eine für Menschen lesbare Form umzuwandeln:

user@host$ sg_decode_sense 70 00 05 00 00 00 00 0a 04 51 60 00 21 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Fixed format, current; Sense key: Illegal Request
Additional sense: Unaligned write command

PS: Da der Fragentitel die allgemeine Meldung ist, die immer ausgegeben wird, wenn hdparmein Sense-Fehler ausgegeben wird, glaube ich, dass dies den Leuten helfen wird, die vorbeikommen und nicht genau diese Hexa-Sense-Fehlermeldung erhalten.

Antwort4

Ich bin auf das gleiche Problem gestoßen, mit genau demselben Fehlercode. Dies war auf einem Dell-System. Ich bin dem Arch-Wiki gefolgthttps://wiki.archlinux.org/index.php/Solid_state_drive/Memory_cell_clearing

Darin heißt es eindeutig:

Legen Sie das interne Festplattenkennwort im BIOS fest (Vorsicht, die Tastenbelegung ist en_US/qwerty).

Ich habe ein anderes Tastaturlayout und habe daher im Grunde die ganze Zeit das falsche Passwort verwendet ...

verwandte Informationen