• ベストアンサー

ファイルが開けません

ntfs形式でフォーマットしたハードディスク(mft)を参照したいのですが、どうやったらよいのか分からず途方に暮れています。 ちなみに当てずっぽうで「fopen("c:\\$mft", "r");」とやってみたのですが、オープンエラーになりました。 どなたかご存じの方よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

NTFSファイルシステムのMFT(マスターファイルテーブル)のことですかね? MFTは通常のファイルではないので、fopenやopenはできません。 http://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC_%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB_%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB が、参考になると思います。

sankaku197
質問者

お礼

ありがとうございます。 はい、お聞きしたかったのはNTFSファイルシステムのMFTのことです。 リンク先を一応隅々まで読んだつもりですが、残念ながら解決には繋がりませんでした。 >メタファイルにアクセスするには、NTFSの低レベル物理ファイルシステムをマウントする必要がある。 一応この一文が気になりますが、しかし例えばCドライブなどは既にマウントをしてwindowsに認識されているからそう表示されているのでしょうし。 であれば、メタファイルにアクセスする準備は整っていると思うのですが。 すみませんが、fopen以外のどのような手段で参照するのか助言を頂けないでしょうか。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

そもそも何をしたいのか分からない上に、低レベル物理ファイルシステムのマウントは、自分でやったことはないので、具体的なアドバイスはできません。 Wikipediaの説明からわかるのは、 ・高レベル論理ファイルシステム => 普通のファイルのアクセスに使う (通常のマウントはこちらですね) ・低レベル物理ファイルシステム => メタファイルへのアクセスに使う (通常はマウントされてない) あと、MFTというのは単一のメタファイルでは無くて、複数のメタファイルの集合体であることも記述からわかります。 質問の仕方のアドバイスとしては、自分のやりたいことをきちんと書いた方がいいです。MFTの参照は目的じゃ無くて手段ですよね。目的は何ですか?

sankaku197
質問者

お礼

目的はEverythingやUltraSearchのようなデスクトップ検索を作ることです。 ですので当面はMFTへのアクセス方法が知りたいです。 http://iss.x0.com/ntfs.html ここを読む感じですと$MFTファイルさえ開ければ解決できそうでしたので、こんな質問にしました。 言葉が足りず申し訳ありません。

sankaku197
質問者

補足

>低レベル物理ファイルシステム => メタファイルへのアクセスに使う (通常はマウントされてない) そういう意味でしたか。 勘違いの訂正ありがとうございます。