web-dev-qa-db-ja.com

ごみ箱はどのように機能しますか?

Windowsのごみ箱は実際に何をしますか?それはただの栄光のフォルダであり、すぐに削除されるファイルの保管場所ですか、それとも特定のことをしますか?具体的には、ごみ箱に「移動」されたファイルは実際にハードディスク上で移動されますか、それともファイルへのポインタだけが移動されますか?私はかなり経験豊富なユーザーです。ごみ箱についてもっと詳しく説明したかっただけです。

29
Jonathon

参照が削除され、メタデータファイルがごみ箱に保持されて、元の場所がわかります。

初期の頃、Windows 95および98では、これは\RECYCLEDにありました。 Windows 2000以降では、名前が\RECYCLERに変更されました。 Windows Vista以降、\$Recycle.Binという特別なフォルダになりました。

Process Monitor を使用して、内部のI/Oを確認し、Recycle.Binにフィルターを設定してアクセスします。 :)

たとえば、これを行うと:

notepad \$RECYCLE.BIN\S-1-5-21-0192837465-987654321-0123456789-1000\$EXAMPL5

注:長いフォルダ名は ユーザーSID です。最後のフォルダ名は、メタデータに基づくハッシュです。

次のようなメタデータ情報を含むファイルを取得します。

                Ö¸ÌC : \ P a t h \ T o \ S o m e \ E x a m p l e . t x t

ファイルパスの間にスペースがある理由は、特定の言語の特殊文字やUnicodeなどをサポートするために、ワイドバイト文字で格納されているためです。以前のシンボルはバイナリであり、ファイルサイズやアクセス許可などの情報、およびファイルデータへのポインタが含まれています。本質的に、元の参照を再構築するのに十分な情報が含まれています...

Windows Internalsの本がこれをカバーしていないのは悲しいことです。さもないと、もっと参考になります。これについて詳しく説明している記事は見つかりませんでした。Microsoftもサードパーティの人々もそうです。それらはおそらく存在しますが、メインコンセプトに行ってリバースエンジニアリングする方が簡単だと思いました...

32
Tamara Wijsman