Macで外付けHDDを暗号化したら大変に時間がかかった

FileVaultで暗号化

MacにはFileVaultというディスクの暗号化機能が標準で搭載されている。これを利用すれば内蔵SSDから外付けHDDまで手軽に暗号化できる。接続時にはパスワードを求められるようになり、パスワードが分からなければ読み書きできないので盗難対策に有効だ。

とはいえ安全になる反面パスワードを忘れた日には、自分ですらデータを取り出せなくなる怖さがある。それにアクセス速度が若干低下するというデメリットも。そんな訳で出先で使用する機会の多い MacbookやポータブルHDDでしか使ってこなかったが、ふと思い立ち手持ちのHDDを全て暗号化してみることにした。

作業に取り掛かると空のHDDは暗号化形式でフォーマットするだけと簡単だ。問題は使用中のHDDで、これはフォーマットする訳にはいかない。調べると使用中であってもドライブアイコンの右クリックメニューにある「暗号化」を実行すれば暗号化できるそうで、これは簡単だと早速やってみた。

右クリックメニューの暗号化を実行

実行するとまずパスワードの設定ダイアログが表示される。ここで設定したパスワードはHDD接続時に入力を促される。うっかり入力ミスをすると大変なことになるので慎重に設定。

HDDのパスワードを設定する

さてパスワードを設定したらいよいよ暗号化が開始される。まだかまだかと待つがいつまで待っても終わらない。延々とHDDのアクセスランプが点滅しているので作業はしているようだが一体いつ終わるのかが分からずストレスが溜まる。仕方がないので一晩放置してみたが朝になってもまだアクセスランプが点滅していた。

おかしいなと再度右クリックメニューを開いてみると「暗号化中…」の文字があり、どうやら正常に暗号化作業中のようではある。そして暗号化を取り消す項目もなければ進捗状況の表示もないので、いつ終わるともしれないこの作業をただ待つしかないようだ。せめて進捗率が何パーセントとか、あと何時間で終わるとか表示されればいいのに不親切な仕様である。

暗号化作業中の右クリックメニュー

さらに待ち続けるが変化はなく、何とかならないのかと調べているとdiskutilコマンドで進捗率を調べることができるそう。これはありがたいと早速ターミナルでコマンドを実行。

$ diskutil cs list

すると接続されたディスクと、ディスクごとの容量やボリューム名といった詳細情報がずらずらと表示される。その中にあるConversion Statusという項目が状況、Conversion Progressという項目が進捗率らしい。

それによると一晩放置したというのに、わずか14%しか進んでいないということに驚く。このペースでは数日間はかなりそうな速度である。

・・・(省略)・・・
---------------------------------------------------
Encryption Type:       AES-XTS
Encryption Status:     Unlocked
Conversion Status:     Converting (forward)
・・・(省略)・・・
---------------------------------------------------
Disk:                  disk3
Status:                Online
Size (Total):          2999877763072 B (3.0 TB)
Conversion Progress:   14%
・・・(省略)・・・

まあ進捗率は分かるようになった事だし気長にやるかと放置していると、突如としてHDDのアクセスランプの点滅が止まった。

もしかして全く進まないプログレスバーが一気に100%まで移動する、あのパターンかと思って再びコマンドを叩く。すると完了しているどころか進捗状況がPausedになっているではないか。何の操作をした訳でもないのに停止ってなんだ…。

別にエラー表示などはないし、右クリックメニューでは相変わらず「暗号化中…」になっている。意味がわからないが何かトラブルでも発生しているのだろうか?

$ diskutil cs list
・・・(省略)・・・
Conversion Progress:   Paused
・・・(省略)・・・

これはもうダメだとこのHDDは暗号化形式でフォーマットすることにした。幸いにして取ってあったバックアップからデータを戻せばいい。そう思い準備をしていると突如としてまたアクセスランプの点滅が始まり、確認するとまた動き出しているではないか。何だか遊ばれてるような感じである。

幸いなのは暗号化途中であってもMacのスリープやHDDの取り外しが可能なことで、その場合はまた途中から再開される。つまるところ進捗率が表示されないのは、普通に使用していればそのうち終わるから細かいことは気にするなってことなのだろう。

そんな訳でちびちびと何日かかけてようやく完了した。diskutilコマンドで確認すると状況も進捗率もCompleteに変わっていた。

$ diskutil cs list
・・・(省略)・・・
Conversion Status: Complete
・・・(省略)・・・
Conversion Progress: Complete
・・・(省略)・・・

そんな訳で常時稼働させているHDDなら、放置しておけば時間はかかるものの、そのうち暗号化は完了するようである。

一方でデータを読み書きする時にだけ接続するようなHDDの場合は、一旦別のHDDにデータを避難させておいてから暗号化形式でフォーマット、それからデータを戻した方が圧倒的に早くて楽だ。さすがに次からはそうしようと思った。