いしじま☆だい氏による『wipe-out』は FreeBSD を利用したハードディスク消去ツールで、ソースコードが公開されています。記憶媒体を手放す際、どれほどの消去作業をすべきか、ソースコードからある程度判った気がしていた折、NEC製PC-98シリーズのハードディスク消去について相談を受け、98 シリーズで動くUnix系OSがあればなんとかなるのではと思い、まずは素直に、オリジナル『wipe-out』の開発環境である FreeBSD、FreeBSD(98)-4.9R を PC-9821 に用意して wipe-out の移植をしてみました。
多少の調整は必要でしたが、なんとか1.2Mバイトのフロッピー1枚に収まり、とりあえず動作するようなので、紹介したいと思います。
但し、記憶媒体から情報を復元する各種ツールについては、まったく調査しておらず、それらに対する強度比についてはよくわかっておりませんので、消去の仕組みを理解した上で利用することをお勧めします。
オリジナルの『wipe-out』のフロッピー版と同じですが、FDのフォーマットは、「1.2Mバイト, 512バイト/セクタ」とする必要があります。注意点として、PC-98シリーズのMS-DOSでそのままフォーマットした場合、1024バイト/セクタになるようなので、formatコマンドのヘルプでオプション等に配慮する必要はあると思います。
ちなみに、私どもはWindows 2000に3モード対応ドライブを繋げて「1.2Mバイト、512バイト/セクタ」でフォーマット、または、Windows XPだと「format a: /t:80 /n:15」、あるいはFreeBSD(98)で「fdformat /dev/fd0.1200」でフォーマットしました。
オリジナルの『wipe-out』のフロッピー版と同じです。
1.2Mバイトのフロッピーを用意する必要がありますので、作業手順とコンピュータ資源をよく考えて用意しましょう。
フロッピー版で消去対象となるのはFreeBSD(98)で "wd[0-3]" と認識されるデバイスだけです。そのままでは1.2Mに収めるのが少々厳しかったので、kernelの設定や詰め込むファイルを、オリジナルよりも切り詰めています。詳しくはソースコードをご覧下さい。
オリジナルのソースコードは、フロッピー版とCD-ROM版が同梱されており、共通部分はシンボリックリンクで共用されている手前、CD-ROM版の方の配下も、せめてdialog(1)を利用したスクリプトは動作するようにtermcap等を含めて修正してありますが、そちらは全く検証しておりません。
wipe-out(98)のソースコードツリーの用意の仕方は以下の通りです。
% mkdir -p src/wipe-out98/v04; cd src/wipe-out98/v04 … 作業ディレクトリの作成と移動 % tar xvzf wpout04s.tgz … オリジナルのソースコードを展開 % zcat wpo9804s.patch.gz | patch -p0 -b … そこでパッチを適用構築については、FreeBSD(98)のリリースドキュメント及びwipe-outのmakefd.shを読むと解ると思いますが、備忘録として以下を記しておきます。