SAT対応のコントローラーは、JMicron JMS580とかJMS851Dとからしい。ASMedia ASM1051E / ASM1153Eの実績も多いけど、Secure Eraseが通るのはまれな感じ、
前にAliexpressで買った手持ちのUSB-eSATAアダプタを確認してみる。
JMicron JMS579っぽい。eSATA接続したドライブを見てみた。
JMS579:
製品ID: 0x0567
製造元ID: 0x152d (JMicron Technology Corp.)
バージョン: 4.04
シリアル番号: 74D7334D24A7659
速度: 最高5 Gb/秒
製造元: JMicron
場所ID: 0x01200000 / 1
利用可能な電流(mA): 900
必要な電流(mA): 8
高負荷時消費電流(mA): 0
Media:
EURX-14T0FY0:
容量: 2 TB(2,000,398,934,016バイト)
リムーバブルメディア: いいえ
BSD名: disk4
Logical Unit: 0
パーティションマップのタイプ: GPT(GUIDパーティションテーブル)
S.M.A.R.T.状況: 検証済み
USB Interface: 0
ボリューム:
EFI:
容量: 209.7 MB(209,715,200バイト)
ファイルシステム: MS-DOS FAT32
BSD名: disk4s1
コンテンツ: EFI
ボリュームのUUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B
disk4s2:
容量: 2 TB(2,000,189,177,856バイト)
BSD名: disk4s2
コンテンツ: Apple_APFS
なんかイケそうな感じじゃん。
macOSからの実行は難しそうね。
動いているPi5につないでみるか。
kinneko@Pi5:~ $ lsusb
Bus 002 Device 002: ID 152d:0567 JMicron Technology Corp. / JMicron USA Technology Corp. JMS567 SATA 6Gb/s bridge
とりあえず見えている。JMS567と出ているのは、VID/PIDの組み合わせから表示しているのかな。
ストレージデバイスの特定。sdaで500GBっぽいね。中はなんか入っている感じ。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 2G 0 loop
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 449.8G 0 part
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 16G 0 part
mmcblk0 179:0 0 28.9G 0 disk
├─mmcblk0p1 179:1 0 512M 0 part /boot/firmware
└─mmcblk0p2 179:2 0 28.4G 0 part /
zram0 254:0 0 2G 0 disk [SWAP]
フォーマットはなんだろう?
$ lsblk -f /dev/sda
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1
│ ext4 1.0 faf72273-ba5c-4ad4-9326-a108348f8413
├─sda2
│
└─sda5
swap 1 e1e13064-9ad2-418c-9a52-cbc83026f815
マウントしてみると、sda1の中身は、2017年6月15日にMinerGateを試していたという感じの中身だった。起動しただけで実際にマイニングが成功したログはなかったし、MinerGateそのものはサービスが終わっているので、ウォレットもそのまま消えている感じ。これは消しても問題なさそう。
あらら、起動しようと思ったら、Pi5にはhdparmがないよ。
kinneko@Pi5:~ $ sudo hdparm -I /dev/sda
sudo: hdparm: command not found
なんかのパッケージに含まれるんだっけ? 単体であったわ。
kinneko@Pi5:~ $ apt-cache search hdparm
blktool - tune low-level block device parameters
hdparm - tune hard disk parameters for high performance
入れる。
kinneko@Pi5:~ $ sudo apt install hdparm
ATA Security の状態を確認する。
kinneko@Pi5:~ $ sudo hdparm -I /dev/sda
/dev/sda:
ATA device, with non-removable media
Model Number: Hitachi HDS721050CLA362
Serial Number: JP1521HN1GTV3A
Firmware Revision: JP2OA3BD
Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6; Revision: ATA8-AST T13 Project D1697 Revision 0b
Standards:
Used: unknown (minor revision code 0x0029)
Supported: 8 7 6 5
Likely used: 8
(snip)
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
116min for SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5000cca35bd4d1f4
NAA : 5
IEEE OUI : 000cca
Unique ID : 35bd4d1f4
Checksum: correct
この結果からわかるのは、以下。
supported → ATA Security対応
not enabled → 現在パスワード未設定
not locked → ロックされていない
not frozen → Security設定変更可能
not supported: enhanced erase → Enhanced Secure Eraseは非対応
116min for SECURITY ERASE UNIT → 通常のSecure Eraseの公称所要時間は116分(約1時間56分)
特に重要なのがnot frozen。これがfrozenだとSecurity Passwordを設定できないので、Secure Eraseできない。
Secure Eraseを実行するために、Security Passwordを設定する。このパスワードは、一時的に設定するもので、SECURITY ERASE UNITが正常完了すると、ATA Securityは無効化され、設定したUser Passwordも無効になる。
ただし、Secure Erase途中で電源断・USB切断・USB-SATAブリッジのエラーなどが起きた場合は、Securityが有効なまま残る可能性がある。そのため、一時パスワードは消去完了を確認するまでは覚えておく必要がある。
ここでは、設定するパスワードはeraseとする。
kinneko@Pi5:~ $ sudo hdparm --user-master u --security-set-pass erase /dev/sda
security_password: "erase"
/dev/sda:
Issuing SECURITY_SET_PASS command, password="erase", user=user, mode=high
ドライブがEnhanced Secure Eraseには対応していないようなので、通常のATA Secure Eraseを実行する。
Enhanced Secure Erase対応ドライブなら以下のように実行する。
sudo hdparm --user-master u --security-erase-enhanced erase /dev/sda
kinneko@Pi5:~ $ sudo hdparm --user-master u --security-erase erase /dev/sda
security_password: "erase"
/dev/sda:
Issuing SECURITY_ERASE command, password="erase", user=user
SG_IO: bad/missing sense data, sb[]: 70 00 01 00 00 00 00 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
なんかエラーが返ってきているけど、プロンプトには戻っていない。実行は継続中かも。
70 00 01 ... 00 1d ...
^^ ^^^^^
│ ASC/ASCQ = 00/1d
└ Sense Key = 01 (RECOVERED ERROR)
ATAコマンド自体にエラーがない場合は"RECOVERED ERROR / 00h/1Dh"を返すのは正常みたい。
JMS579側がfixed-format sense (70h)を返していて、hdparmが期待する形式とうまく合わないので、"SG_IO: bad/missing sense data"という応答になっている模様。sense data形式とhdparmの互換性問題がある感じ。
USB-eSATAコンバーターはLEDをチカチカさせているので、削除中の感じ。ストレージ側にはLEDの点滅はないんだけど。116分待ってみるか。
なんかプロンプト返ってきた。終了した模様。
なんか、消えてないねぇ...
kinneko@Pi5:~ $ lsblk -f /dev/sda
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1
│ ext4 1.0 faf72273-ba5c-4ad4-9326-a108348f8413 418.6G 0% /mnt
├─sda2
│
└─sda5
swap 1 e1e13064-9ad2-418c-9a52-cbc83026f815
ダメっぽい。SATAネイティブな実機でやるかな。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
(snip)
sda 8:0 0 465.8G 0 disk
sdb 8:16 0 465.8G 0 disk
├─sdb1 8:17 0 1G 0 part /boot/efi
└─sdb2 8:18 0 464.7G 0 part /
$ sudo hdparm -I /dev/sda | grep "Model Number"
Model Number: Hitachi HDS721050CLA362
$ sudo hdparm -I /dev/sdb | grep "Model Number"
Model Number: ST3500418AS
sdaがターゲットのようだ。パスワードは解除されている。でも、モードがfrozenになっている。これはブートローダーが勝手にやるみたいだ。めんどくさいな。
$ sudo hdparm -I /dev/sda
(snip)
Security:
Master password revision code = 65534
supported
not enabled
not locked
frozen
not expired: security count
not supported: enhanced erase
116min for SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5000cca35bd4d1f4
NAA : 5
IEEE OUI : 000cca
Unique ID : 35bd4d1f4
ブートドライブだけで起動して、ターゲットは起動後に挿入したらfrozenが外れた。
$ sudo hdparm -I /dev/sdb | sed -n '/Security:/,/Logical Unit/p'
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
116min for SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5000cca35bd4d1f4
パスワードを設定する。
$ sudo hdparm --user-master u --security-set-pass erase /dev/sdb
security_password: "erase"
/dev/sdb:
Issuing SECURITY_SET_PASS command, password="erase", user=user, mode=high
削除を実行する。プロンプトは返ってこない。削除をやっている模様。
$ sudo hdparm --user-master u --security-erase erase /dev/sdb
security_password: "erase"
/dev/sdb:
Issuing SECURITY_ERASE command, password="erase", user=user
116分待ち。
時間がかかるのはddでやるのと同じだなぁ... ddなら進捗状況もわかるのだけど。
終わった。特にメッセージはなし。
$ sudo hdparm -I /dev/sdb | sed -n '/Security:/,/Logical Unit/p'
[sudo] password for kinneko:
Sorry, try again.
[sudo] password for kinneko:
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
116min for SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5000cca35bd4d1f4
not enabledと出ているので、Secure Erase実行前に設定した一時パスワードeraseが解除されている。
ATA Secure Erase は正常完了したようだ。
一応、先頭を読んでみると、ちゃんと消えている。
$ sudo hexdump -C -n 4096 /dev/sdb
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00001000
パーティションやファイルシステムはない。
$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: Hitachi HDS72105
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
既知のファイルシステムやパーティションテーブルのシグネチャも検出されていない。
$ sudo wipefs -n /dev/sdb
オリジナル投稿:
LinuxマシンでATA Secure Erase|kinneko|pixivFANBOX
https://kinneko.fanbox.cc/posts/12423033



