• 締切済み

削除ファイル復活の仕組み

削除、フォーマットしたディスクの復活ソフトはたくさんありますが、 これらのしくみを教えてください。 FAT/NTFSを初期化した場合ファイルの情報は失われるハズですよね。 0x00で埋められる? ファイル削除の場合は先頭1文字不明。 データ部分は消えませんがクラスタスキャンして、JPEG,XLSなどメジャー ファイルの場合は、そのヘッダやフッタを分析してファイルサイズやファイルの種類 を特定するのでしょうか? フッタが特定できない場合は、ファイルサイズをアロケーションユニットサイズにて切り上げ? クイック/通常フォーマットされたディスクの復活の仕組みを教えてください。

  • 5S6
  • お礼率59% (1504/2542)

みんなの回答

  • Donotrely
  • ベストアンサー率41% (537/1280)
回答No.1

各社色々ノウハウはあるんでしょうけど、NTFSでは例えば http://pc.nikkeibp.co.jp/article/NPC/20070628/276173/?ST=print_leaf&P=2 に単純な場合の説明があります。 ファイルが削除されるとは、ファイルの管理テーブルであるMFTにある管理情報に”削除扱い”が記録されることみたいです。 だからファイルデータ本体がワイプされる訳ではありません。 この”削除扱い”をファイルが存在している時の情報に戻してやれば復元されるようです。 またフォーマットすると、MFT自体は初期化されますけど、MFTにはコピーが存在し、 そのコピーはフォーマットしてもやっぱりワイプされずに残るみたいですね。 もちろんファイルデータもワイプされる訳ではありません。 このコピーされたMFTを正規のMFTとして復活させると、フォーマット前にあったファイルが読めるようになるようです。 フォーマットの方は分かりやすい資料が見つかりませんでした。

5S6
質問者

お礼

この辺の知識まではあるのですが、クラスタスキャンしたときの復活方法が知りたかったです。 ありがとうございました

関連するQ&A

  • リムーバブルのファイルを誤って削除したので復活

    windows7です。 外付けのリムーバブルディスクです。4Gタイプです。 リムーバブルディスクのファイルを,誤って削除しました。 今まで,マイドキュメントのファイルを消すと,消したファイルがゴミ箱にあります。 ファイルが復活できます。 しかし,リムーバブルディスクのファイルを誤って削除したら,ゴミ箱にありません。 どこにあるのでしょうか。困っています。 リムーバブルディスクに,削除したファイルを,復活させることはできないのでしょうか。 大変に困っています。 教えてください。よろしくお願い致します。

  • 削除ファイルを復活させないようにしてみたけど・・

    OSの入ったCドライブで ゴミ箱で削除したファイルを 復元ソフトで全く復元出来ないようにする ソフトがありましたらご教授お願い致します。 先日、Disk FreeSpace Cleanerで ”3回書き込み”を実施しました。 その後、一応ファイルが復活できないか、 Glary Undelete(復元ソフト)を実施してみると、 復活出来そうなファイル(”優良”)や、ファイル名 がごっぞり残っていました。 やはり、フォーマットしか無いんでしょうか?

  • FDフォーマットを自動化するバッチファイル

    こんにちわ、ちゃりをです。 (1)FDフォーマットを自動化するバッチファイルをつくりましたが、 「準備ができたら Enter キーを押してください」でとまって しまいます。これを回避しバッチ処理を進めるコマンドはある でしょうか? (2)また、「準備ができたら Enter キーを押してください」で(Y/N)? となるのですが、自動的にYにして処理をすすめるコマンドは何 でしょう? よろしくお願いいたします。 参考: C:\>format a: /fs:FAT /q /v:ini_flp 新しいディスクをドライブ A: に挿入してください 準備ができたら Enter キーを押してください...<-----(1) ファイル システムの種類は FAT です。 クイック フォーマットしています 1.44M バイト ファイル アロケーション テーブル (FAT) を初期化しています... フォーマットは完了しました。 1,457,664 バイト : 全ディスク領域 1,457,664 バイト : 使用可能ディスク領域   512 バイト : アロケーション ユニット サイズ   2,847 個 : 利用可能アロケーション ユニット   12 ビット : FAT エントリ ボリューム シリアル番号は 8EC0-07A2 です 別のディスクをクイック フォーマットしますか (Y/N)?<---(2)

  • 削除したファイルを復活【させない】方法

    度々お世話になります。 タイトルの通り、削除したファイルを復活【させない】方法を 教えてください! ・ゴミ箱から削除した程度のファイルを復活させるソフト ・復活させないようにファイルを削除するソフト はよく見かけますが、既に普通に削除してしまったファイルを 復活させないようにすることは可能ですか? 要するに空き領域のみをフォーマットするようなイメージです。 デフラグすれば良いかな?と思いましたが、あくまで使用領域を 整えるだけなので、空き領域に関しては完璧ではないと思います。 以上、宜しくお願いします。

  • FAT12ファイルシステムに関する問題。

    タイトルに問題と書きましたが、課題や何かじゃないので咎めないでください。 FAT12でフォーマットしたFDにファイルを直接ディスクに書き込もうと思っています。 しかし、FAT16と違ってFATにクラスタ番号を書き込むのが難しいわけです。 環境はC言語で、アルゴリズムだけなので必要は無いかと思いますが、 Win32APIを使用できる環境です。 1.クラスタ番号は12bit長で 0x003 0x004 0x005 0x006 0xFFFをFATに書き込むと 03 40 00 05 60 00 FF 0F と記録されます。 2.ディスクへの書き込みは実装してあるためバッファへの書き込みが出来ればよい。 3.ディスクは初期化された状態で、0番と1番のテーブルは予約済み。2番からクラスタ番号を書き込むこととする。 4.一つのファイルを整列された状態で書き込むこと。初期化されているため、2番から後のテーブルは全て未使用。 5.クラスタサイズは1セクタ(512バイト)である。 6.書き込まれるファイルサイズは規定していないため、ループによる処理が望ましい。 7.ファイルサイズより必要なクラスタ数は求めてある。 typedef unsigned char byte; typedef unsigned short word, *pword; typedef unsigned long dword; byte fat[512];//FATへの書き込みバッファ 0クリアされている。 dword clust;//必要なクラスタ数 既に求めてある。 dword i;//インクリメント 自分で書いたFAT16用のFAT書き込みコード ((pword)fat)[0] = 0xFFF8;//0番目のクラスタ(予約) ((pword)fat)[1] = 0xFFFF;//1番目のクラスタ(予約) if (clust == 1) {//クラスタサイズが1なら     ((pword)fat)[2] = 0xFFFF;//最終クラスタを示す値を書き込む } else {//複数のクラスタに分割されるなら     for (i=0; i<clust-1; i++) {//クラスタサイズの-1個分までインクリメント         ((pword)fat)[i+2] = (word)i+3;//n番(2番から始まる)のクラスタにn+1のクラスタ番号を書き込んでいく     }     ((pword)fat)[i+2] = 0xFFFF;//最終クラスタを示す値を書き込む } 書きかけのFAT12 ((pword)fat)[0] |= 0x0FF0; *((pword)&fat[1]) |= 0xFFF0; if (clust == 1) {     *((pword)&fat[3]) = 0x0FFF; } else {     /*ここに1クラスタを超えたファイルのクラスタ番号をFATに書き込む処理*/ } どなたか、ヒントや情報をいただけると幸いです。 コードは書き直してもいいですし、変数も適当に名前付けて構いません。 他に必要な変数などがあれば追加してください。 また、補足要求があれば何なりとお書きください。 よろしくお願いいたします。

  • ファイル削除→ゴミ箱削除→クリーンアップ→復活希望

    とあるフォルダに入れていたファイルを誤って削除してしまいました。 (誤ってファイル名を拡張子ごと変えていたようで、何のファイルか 思い当たらず、ゴミ箱に・・・) その後、ゴミ箱も空にし、ディスクのクリーンアップも実施しました。 (昨日のことです、、、) そのファイルを復活させることはできるでしょうか?(Excel ファイルです) 調べてみると、フリーでもソフトがあるようですが、 ソフトを使わずに復活させることは可能ですか? ソフトを使った方が・・・という場合、お勧めのソフトはありますか? よろしくお願いします。

  • 破損したJPEGファイルを復活する最強ソフト教えて下さい!

    HDDを間違ってフォーマットして、Final Dataで復活できた。 (このときのクラスタの断片は無しでした。) ファイルのサイズ、ファイル名もそのままです。 ところが開いても「プレビューをご利用できません。」と表示されます。泣きそうです。どうやらJPEGが破損されているみたい。 1万円程度の出費は覚悟しています。 何かお勧めの復元ソフトはありませんか? (ちなみに、「JPEG REMEMBER」というソフトを使うと一部復活できました。)

  • ゴミ箱から消したのに復活する現象

    Win98のFAT32の復元ソフトの仕組みについて教えてください。 FAT32の仕組みも教えてください。 開き容量が100%で1クラスタが4セクタのドライブに、 513バイトのファイルを作ったら、1025バイト目以降は データ領域は何も変更されないのですか?それだけでなく、 514バイト目から1024バイト目のデータ領域も何も変更 されないのですか?

  • ストレージフォーマット時のアロケーションサイズ

    https://support.microsoft.com/ja-jp/help/140365/default-cluster-size-for-ntfs-fat-and-exfat →各種フォーマット時のクラスターサイズ。(アロケーションサイズ)について、使用しているHDDやSSD(内蔵、外付け)が512、512e、ネイティブ4Kなのかどうか不明です。 今後はネイティブ4KHDDも普及するとMSは言っています。昔のHDDや昨今販売された外付けSSD等はどうなのか判明できませんが、とりあえずNTFSでフォーマットする際はMSサイトのURLにあるように、2GB~2TBも4096byte、2TB~16TBも4096byteのクラスターサイズ(アロケーションサイズ)でフォーマット(NTFSの場合)しておけば問題無いと思うのですが(既定にも選べる)どうなんでしょうか?

  • windos2000で削除したファイルの復活

    windows2000でファイルを削除しました。 shift+delにて windows2000では復活コマンドはないのでしょうか? Dosの場合は、undeleteで復活してましたが。