2015年1月6日火曜日

【Linux】HDD を完全消去する.

明けましておめでとうございます.2015年,最初の更新です.

年末に大掃除をした際に,古いデスクトップPC( Windows2000搭載のメモリが 256MB という化石みたいなパソコン )を廃棄することになり,それにあたって HDD 内のデータを完全消去してやろう!

ってことで,おなじみの /dev/zero を書き込むやつを初めて実践してみました.


まずはドライブに Linux のライブ DVD を挿入して,Linux を立ち上げる.

スペック的に GUI は厳しいので,速攻で仮想端末に切り替え( Ctrl + Alt + F1 ).

一応,HDD のパーティションを確認.

$ ls /dev/sd*

(実行結果)
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1 /dev/sdb5 /dev/sdb6
思ったよりたくさん切られている模様.


まあ,どうせ消去するので中身には興味無し.いざ消去開始!
$ sudo dd if=/dev/zero of=/dev/sda


しかし,このままでは速度や経過が全くわからないので,すぐさま隣の仮想端末に移る.( Ctrl + Alt + F2 )

そして,以下のコマンドを実行して,前の仮想端末に戻る.( Ctrl + Alt + F1 )
$ while true; do killall -USR1 dd; sleep 5; done


これで,5秒に一回,dd の書き込み状況を確認できる.

そして表示された速度が,毎秒8MB

いや,流石に遅すぎるでしょ.いくら古いパソコンって言っても,一応 HDD の容量 40GB あるよ?(ちなみに,/dev/sdb は後から増設したらしく 160GB あった)

つーわけで,いったん中断( Ctrl + c ) .

解決策を探ると,dd コマンドに bs オプションを追加すれば良さげ.
$ sudo dd if=/dev/zero of=/dev/sda bs=4096


改めて killall コマンドを試してみると,今度は 毎秒46MB.これなら申し分ない.


あとは,sda と sdb を一気に終わらせる.
$ for i in sda sdb ; do sudo dd if=/dev/zero of=/dev/${i} bs=4096; done

これにて作業終了.

0 件のコメント:

コメントを投稿