Tatsu still writes something... Fourth season

これからも私はなにかをしてなにかを書く

復活、VAIO X(のSSD)

以前のエントリ「セキュアイレースミスった。でマスタパスワードをセットせずにユーザパスワードだけをかけた結果、スリープできなくなったうちのVAIO Xの完全復旧(SSDのパスワード解除、スリープを可能にする。)に成功した。

最後は
Ubuntu Linux 14.04でhdparm --user-master u --security-disable 'パスワード' /dev/sda
(/dev/sdaはSSD)でIDE接続SSDのセキュリティ機能を無効にして元に戻したのだが、そこまでが長かった。

1.パスワード解除不能!

前回のエントリの時点でfrozen状態になってhdparmでセキュリティ関係の設定を行えない状態になっていたのだが、一旦スリープして復帰するか、ホットプラグを行うことでfrozen状態をリセットできることが分かったので、Linuxでやってみた。
Ubuntu 11.04のインストール用USBメモリではスリープを行えなかったのだが、Ubuntu 14.04のインストール用USBメモリで起動するとスリープができたので、一旦スリープしてからスリープを解除し、パスワードを解除すべく、
hdparm --user-master u --security-set-pass '' /dev/sda
と打ってパスワードを解除しようとしたが、これがまずかった。起動時のパスワード入力画面がまだ出るどころか、何も入力しないでEnterキーを押すとパスワード違いのエラーとなり、起動できない状態になってしまった。

2.とりあえず、Linuxで運用する

ホニャララが基本的に好き。(仮):「VAIO Xシリーズ」を分解してSSDを換装してみる(前編)を参考にVAIO X底面のふたを開け、SSDのコネクタを抜き、SSDをなかったことにした。
この状態で何かLinuxを入れて運用しようということで、Ubuntu 14.04は重いのでUSBにLubuntu 14.04を入れて運用してみた。軽い環境ということもあり、USB 2.0上のUSBメモリという環境の割には割と使えるという印象を受けた。

3.強制ホットプラグで復旧

5年使ってもう壊れてもいいやというマシンだから踏み切れたことではあるが、そうでない場合は機器の破損の可能性があるのでマネしないように。

まず、ふたを開けた状態でLubuntu 14.04のインストール用USBメモリを使って起動し、デスクトップ環境が立ち上がった状態にしておいた。
次に、SSDを接続する。この段階ではまだ認識されていない状態である。
そこで、再起動せずに SCSI デバイスの再スキャン・追加・削除を行うを参考に、
echo - - - > /sys/class/scsi_host/host0/scan
(host0の部分はhost1だったかもしれない。)として、デバイスを再スキャンしたところ、SSDを操作できるようになったのですかさず
hdparm --user-master m --security-set-pass '空でないパスワード' /dev/sda
hdparm --user-master u --security-set-pass '空でないパスワード' /dev/sda
を打ち込み、パスワードを設定した。
これで、パスワードを入力すれば起動する状態になった。

4.パスワード削除

パスワードが必要な状態ではWindowsでスリープができなくて、不便なのでパスワードを削除することにした。
軽いLubuntuを使おうと思ったが、うまくスリープできなかったのでまた、Ubuntu 14.04を使い、スリープから復帰後に
hdparm --user-master u --security-disable 'パスワード' /dev/sda
を実行してセキュリティ機能を無効にすることで無事パスワードの削除に成功し、スリープもできるようになった。

5.おまけ

復旧方法が分かったので、当初の目的であったセキュアイレースを行おうとしたが、エラーが出てセキュアイレースを行うことはできなかった。
結局、VAIO XのpSSD-P2はそういうものという結論に達した。

6.最後に

ここまでのことを通して、Linuxのhdparmコマンドの強力さと危険性、IDE HDDのパスワードの有用性と不具合があった時の危険性、スリープを通したUbuntu 14.04のインストールディスクの本家としての出来の良さを感じた次第である。
セキュアイレースができないVAIO XのpSSD-P2に対してはもう寿命を気にしてもしょうがないので古いSSDにしか意味のないdefragglerの空き領域のデフラグを行ったところ効果が出たのでこれでいいかという感じである。