ちょっとしたことでFATがなくなってしまい、システムがUNKNOWNになってしまいました。
これって修復はできるものなのでしょうか?
壊れているのはFATだけなのでディスクの中身は無事なはずです。
修復はできなくてもなかのファイルさえ救えればよいのです。
もしやりかたなどがあれば教えてください。
といっても無理っぽいってことは薄々感じているので、絶対無理って言うのでもいいです。
とにかくどっちかはっきりすればいいので教えてください。
システムはWindows98のFAT32でした。
これってここの伝言板でいいのでしょうか?
- re: さいた さん
投稿日:1999年02月06日 23時06分
予備のFATも含めて消滅してしまったら、修復はかなり困難です。
デイレクトリーの配置データを元に、解析するわけですが、多くのファイルで、なおかつ飛び飛びのクラスターに書き込まれているファイルが多いと、かなり困難です。
とりあえず、ディスクの丸コピーをして、コピーの方を解析する事をおすすめします。
理論的には、「手間さえかければ」かなりの確率で修復できると思うのですが…
ただ、1つのファイルのデータとしての次のクラスターかどうか判断するAIの性能によるでしよう。
- re: kentarow さん
投稿日:1999年02月06日 23時15分
ディスクの構成がA,Bでシステム領域であるAだけが死んでしまいました(わかると思いますがPC-98です)。
だからAは単にフォーマットされていない領域として認識されてしまいます。
今はあまったほうにWindowsをいれて使っています。
とりあえず解析といわれてもその手段がわかりません。
手段があっても結構難しいようなら無理と判断して下さって結構です。
- re: 山本 さん
投稿日:1999年02月07日 01時36分
先にさいたさんが書いていますが、ドライブをまるごとイメージ化して、ひとつの
ファイルと見なして解析することで、理論的には復活の可能性があります。
しかし、ギガクラスのファイルを開いて検索をかけたりできるようなツールは
ちょっとないのではないかと思います。170MBクラスのドライブが大容量ドライブと
言われていた時代でも、ちょっと無理だったと思います。無理を承知でということなら
外資系のどこかの企業がデータ救済のサービスをやっていたと思います。大塚商会経由
で情報が入手できるはず。それこそ、本当にムリみたいな金額を請求されます。
ただし、一部のFATの損傷などは、修復するためのノウハウなりツールが実際に
ありました。最近ではすっかり忘れられて久しいですが。
ということで、これで引導を渡せたかどうか。(^_^;
- re: kentarow さん
投稿日:1999年02月07日 02時09分
ちょっぴり失いたくないメールデータがあっただけなのであきらめます。
過去の思いでは捨てましょう(泣)。
ま、あせって消すこともないのでぼちぼち作業をしようかと思います(サイズは1GB弱だから)。
ありがとうございました。
- re: YU さん
投稿日:1999年02月07日 16時54分
FATの内容が消えただけなら、UNKNOWNにはなりません。それはブートセクタが
壊れた時の症状です。
ブートセクタを一番簡単に修復する方法は、もう一台同じ容量のHDDを用意して、
同じようにパーティションを作り、その中のブートセクタをコピーします。
- re: 山本 さん
投稿日:1999年02月07日 18時23分
ならば、FDISK /mbr というのはどうかな?
ちょっと自信ないですけど。
- re: kentarow さん
投稿日:1999年02月07日 23時34分
ブートセクタのコピーといわれてもやり方がわかりません。
よろしければ具体的なやり方を教えてください。
- re: YU さん
投稿日:1999年02月08日 21時02分
すいません。ぼくの場合、必要になったら、いつもその場で必要最小限のブートセクタ
書き換えプログラムを作って対処しているので、1から説明するのは、ものすごく大変
なんです。HDDの構造、ファイルシステム、プログラミングなどの知識が必要なのです。
どのあたりから説明したらいいんでしょう……。
とりあえず、ブートセクタの位置はドライブごとに違うので、まずはそれを調べる
必要があります。もっとも面倒なのが、この、ブートセクタの位置の調査なんです。
まったく同じメーカーの同じ型番のドライブをフォーマットして、ブートセクタが
どこに書き込まれたか調べます。
まったく同じドライブが入手できなかった場合は、ドライブの内容をコピーした上で、
オリジナルのHDDを使って調べます。
- re: YU さん
投稿日:1999年02月08日 21時17分
ブートセクタの位置を調べる方法ですが、HDDの先頭から、すべてのセクタを読み出して
内容を見てみます。
FAT32のパーティションのブートセクタは、先頭付近に「MSWIN4」という文字列が含まれて
います。それを見つけます。ブートセクタが見つかったら、そのセクタ番号をメモします。
次に、FATの先頭部分を探します。フォーマット直後なら、先頭の8バイト以外はすべて
00で埋まっています。FATの先頭が見つかったら、そのセクタ番号をメモします。
ブートセクタは、最初にメモしたセクタから、FATの直前のセクタまでということになります。
- re: YU さん
投稿日:1999年02月08日 21時26分
ブートセクタの位置とサイズがわかったら、あとは書き換えプログラムを作って、
コピーすればいいのです。
ファイルシステムを無視してHDDの内容を書き換えるには、BIOSコールを使います。
BIOSコールが可能な言語なら、何を使っても構いません。
ぼくはいつもDEBUGコマンドのアセンブラを使っています。DEBUG.EXEはWINDOWS\COMMAND
ディレクトリに入っています。
ここまでの説明で、わからない単語が10個以上あったら、この方法はあきらめた方が
いいかも知れません。全部説明しようとすると、もっと大変です。
続けますか?
- re: kentarow さん
投稿日:1999年02月08日 22時18分
一応おっしゃってることは全部わかります(ちなみに情報工学科の学生です)。
ですが、問題の書き換えプログラムを作る腕はありません。
なので今回はあきらめますが、いずれそのくらいの腕は身につけたいです。
でもまたFATを壊すのはいやですけどね(笑)。
どうもありがとうございました。