web-dev-qa-db-ja.com

hdparmエラー:SG_IO:センスデータの不良/欠落

Kali Liveでhdparmを使用して、Micron M600自己暗号化SSDにATAパスワードを追加しようとしています。次を使用します:hdparm --security-set-pass PASSWORD sda

しかし、私は得ます:

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

なぜこれが起こるのですか?

hdparm -I sda」と入力すると、ドライブが「セキュリティが凍結されています」と表示されます。これは、ATAパスワードの追加を含むセキュリティ設定を変更できないことを覚えていますが、問題ですか。

私のBIOSはATAパスワードをサポートしておらず、これまでに設定したことがありません。

編集: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.

このウェブサイトのフォーマットは常にめちゃくちゃですが、私は定数を読みやすくするために最善を尽くしています。

4
Sam

コメントには長すぎるため、部分的な回答:

与えられたセンスデータは次のとおりです。

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

したがって、エラーは「Illegal Request、Unaligned Write Command」です。 hdparmがATAライトスルーSCSIコマンドを使用している場合、これは特に意味がありません。

なぜこれが起こるのか私にはわかりません。 「セキュリティが凍結された」状態に対する反応である場合、それは本当に奇妙な反応です。おそらく、SCSIからSSDへの変換層の何かが、ATAライトスルーコマンドを好きではありませんか?

Micron M600 SSDがATAパスワードをサポートしていることを確かに知っていますか?

編集:リンクしたマニュアルはこう言っています:

マイクロンのSEDはどちらか TCG Opal 2.0仕様または ATA SECURITY FEATURE SETをサポートしています。 ATAセキュリティモードは、通常、システムBIOSまたはレガシーモードのいくつかのユニバーサル拡張ファームウェアインターフェイス(UEFI)ベースのシステムによって開始されます。関連する業界標準化団体の仕様により、TCG OpalとATAセキュリティは相互に排他的です。つまり、一方が有効になっている場合、もう一方は無効になっています。

そのため、BIOSが有効にしないと機能しません。 「凍結」とは、状態を変更できないことを意味します。

hdparm -ISecurityセクションにある完全な出力で質問を編集してください。

編集

hdparm -Iの出力には、「無効」ではなく「フリーズ」と表示されます。そのため、BIOSはそれを有効にしませんでしたが、フリーズしたため、状態を変更できません。

つまり、SSDはTCG Opalモードであり、Linuxでこれにアクセスする方法がわかりません。

プラグを差し込んだ状態で電源を再投入することは、試す価値があります。

パスワードを設定できる、またはフリーズしないBIOSを備えた別のコンピューターを見つけた場合は、その方法で試すこともできます。

2
dirkt

同じ問題があり、他の場所で読んだところ、デバイスの電源サイクルまたはホットプラグサイクルによってデバイスがフリーズ解除されました。一部の人々はラップトップの場合にはシステムを一時停止することを提案したので、私はそれを試すことにし、それはうまくいった!

したがって、ドライブを「フリーズ解除」するために私がしたことは次のとおりです(それはhetznerホスティング会社のリモートサーバー上にあります):

まず、サーバーをnfsブートのレスキュー環境でブートしました。次に、ログインしてシステムを一時停止しました。

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

この時点で、システムは一時停止され(SSDも同様)、もちろんsshシェルが応答しなくなります。

ホスターのコントロールパネルを使用してWOL(ウェイクオンラン)信号を発行しました(pingでトリックが行われたかどうかはわかりません)。しばらく(20秒ほど)すると、シェルが復活し、SSDが回復しました多くのハウツーで説明されているように、hdparmを使用して--secure-eraseコマンドを発行できるように、フリーズを解除しました。

7
molecular

私はまったく同じフォールトコードで同じ問題に遭遇しました。これはDellシステム上にありました。 Arch wikiをフォローしました https://wiki.archlinux.org/index.php/Solid_state_drive/Memory_cell_clearing

それは明確に述べています:

BIOSで内部HDDパスワードを設定します(キーマップはen_US/qwertyです)。

キーボードのレイアウトが違うので、基本的に、ずっと間違ったパスワードを使っていました...

1
Bart bartbart

上記の答えはどれもうまくいきませんでした。しかし、これはそうしました:

https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase

内蔵SSDを取り外してから、ラップトップがオンのときにラップトップに再度挿入して、フリーズ状態を修正しました。 (DVDから起動していました。)

次に、-secure-erase&--secure-erase-enhancedコマンドを実行するためにセキュリティパスワードを設定する必要がありました。

消去後、パスワードは自動的にクリアされます。

0
Tacony