web-dev-qa-db-ja.com

組み込みツールを使用して、Win 3.1 / DOS6.22システムの空のディスク領域を安全に消去します

私は1994年のレトロなラップトップであるIBMThinkpad 340を持っています。これをプレゼントしたいのですが、最初に削除したファイルを安全に消去したいと思います。

システムには、GUIとCLI undeleteアプリケーションの両方が含まれています。このアプリケーションには、以前に削除されたファイルと、そのままのクラスターの数に応じたそれぞれの回復の可能性が一覧表示されます。

新しいWindowsシステムでciphersdeleteのようなソリューションを探しており、DOS6.22を搭載した標準のWindows3.1に組み込まれているツールを使用して、空のディスク部分を複数のゼロ/ランダム書き込みパスで上書きします。

手元にあるレトロなデバイスへの簡単なデータインターフェイスがないため、余分なものをインストールしたり、フロッピーディスクからメンテナンスOSを起動したりする必要はありません。レトロなラップトップにはネットワークがなく、現在のデバイスにはフロッピーディスクがありません。 USBフロッピードライブの購入は避けたい。

ソフトウェアソリューションやUSBフロッピードライブがない場合は、ハードウェアソリューションに頼る必要があります。レトロなラップトップを分解します。ハードディスクドライブを取り出します。 USB-ATA/IDEブリッジ(アダプター/コンバーター)を介してハードディスクドライブを、選択したツールを使用してホストコンピューターに接続します。しかし、幸運にも機能しているレトロなラップトップでは、このような侵襲的な操作は避けたいと思います。

Googleは、これらのレガシーのWWW以前のシステムに関する有用なソフトウェアユーティリティ情報を提供していません。その古いシステム/デバイスの経験がある人からのヒントをいただければ幸いです。


これが私の問題を実際に解決した方法です

1)ランダムデータで上書き:ファイルマネージャーを使用して、c:\windows\systemコンテンツをダミーディレクトリc:\aaに数回複製しました。 File Manager0KB freeに対してc:\を表示するまでのデータ。次に、delete-duplicate-cyclesを繰り返して、合計で約7回の完全な上書きを実現します。最後に偽のディレクトリを削除しました。 —への賛辞 @ KodyBrown

2)ゼロで上書き:現代のラップトップ用のUSBフロッピー(6€、中古)を購入し、 で起動可能なフロッピーディスクを作成しましたKillDisk for DOS v4.1 (2008年の最終バージョン、これ以上の開発はありません)。 KillDiskを起動し、未使用のディスク領域をゼロで消去しました。このようにして、将来起こりうるデータ復旧の試みは、偽のデータではなく有効なデータを見つける可能性が高くなります。確認のために、生のディスクデータを確認しましたが、空の部分は実際にnullデータ(0x00)で適切に埋められていました。

それにもかかわらず、私はまだ元の理論的な問題に興味があります

フロッピードライブを持たないオタクのプライドやその他の関心のあるユーザー向け。いくつかのランダムデータパスと最後のnullデータパスでディスクの残りを適切に埋めることができる、動作するDOS6.22シェルスクリプトを引き続きいただければ幸いです。それをテストし、フィードバックを与えることを申し出ています。ユースケースでは、レトロデバイスへのデータインターフェイスがないため(ネットワークもフロッピーもありません)、手動で入力する必要があります。コンピュータ雑誌のソースコードで1980年代のマイクロコンピュータの時代を思い出させます。チャーミング! ;-)

3
porg

これを実現する簡単な方法は、Windowsディレクトリを何度もコピーし、スペースがなくなるまでコピーを追加することです。作成したコピーを削除します。次に、必要に応じて何度でも繰り返します(合格)。

これにより、ディスク上のすべての空き領域が事実上上書きされます。

更新:

これは、プロセスを自動化するためのバッチファイルです。 VMwareゲストで実行されている古いバージョンのFreeDOSでテストしました。 DOS5以降で動作するはずだと思います。

このファイルをC:ドライブのルート(例:C:\CLEAN.BAT)に置き、そこから実行します。

実行されるたびに、1回「上書き」されます。次に、C:\TMPディレクトリ内のすべてのファイルを削除して、スペース(C:\TMP>DEL *.*)を解放する必要があります。 (万が一の場合に備えて、バッチファイルでファイルを単独で削除したくありませんでした。)

必要に応じて何度でも実行できます。実行するたびに1回の上書きになるため、安全のために2、3回実行することをお勧めします。

CLEAN.B​​AT

@ECHO OFF

IF "%1"=="" GOTO :INIT

:PARSE
  SET ARG1=%1
  SET ARG2=%2
  SET ARG3=%3
  SET ARG4=%4

  IF NOT "%4"=="" GOTO :LAST
  IF NOT "%3"=="" GOTO :LOOP4
  IF NOT "%2"=="" GOTO :LOOP3
  IF NOT "%1"=="" GOTO :LOOP2

:INIT
  C:
  CD\
  IF NOT EXIST "C:\TMP\" MKDIR C:\TMP >NUL
  CHDIR C:\TMP

  COPY C:\WINDOWS\SETUP.EXE SETUP.EXE >NUL
  COPY SETUP.EXE+SETUP.EXE FILE.0 >NUL

:LOOP1
  FOR %%E IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0) DO CALL C:\CLEAN.BAT %%E
  GOTO :END

:LOOP2
  FOR %%F IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0) DO CALL C:\CLEAN.BAT %ARG1% %%F
  GOTO :END

:LOOP3
  FOR %%G IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0) DO CALL C:\CLEAN.BAT %ARG1% %ARG2% %%G
  GOTO :END

:LOOP4
  FOR %%H IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0) DO CALL C:\CLEAN.BAT %ARG1% %ARG2% %ARG3% %%H
  GOTO :END

:LAST
  COPY FILE.0 F%ARG1%%ARG2%%ARG3%%ARG4%.0
  IF NOT "%ERRORLEVEL%"=="0" EXIT
  GOTO :END

:END

Windows3.1ディレクトリのSETUP.EXEファイルは500KB弱です。プロセスを少しスピードアップするために、それを(2回)新しいファイルにコピーして使用します。これにより、プロセスはドライブの約950KBを除くすべてを効果的にワイプします。より小さなファイルを選択してより細かくすることもできますが、1つのディレクトリにファイルが多すぎると問題が発生する可能性があります。

また、FreeDOSは、コピー操作が失敗したときにerrorlevelを変更しません。 MSDOSは常にerrorlevel応答に優れているので、それにぶつかってはいけません。ディスク容量が原因で一時ファイルのコピーに失敗したと表示され始めた場合は、プロセスを安全に停止(Ctrl+C)できます。

2
Kody Brown