30

FAT32 も FAT16/12 もシンボリック リンクハードリンクもサポートしていないことは知っています。しかし、私はこのアイデアを思いつきました:

FAT 仕様では、すべてのファイルがディレクトリ エントリに関連付けられていると説明されています。私の理解では、ディレクトリ内のファイルエントリは、何らかの形でファイルの内容を指していると言えます。

では、同じファイル コンテンツを指す 2 つのディレクトリ エントリを定義するにはどうすればよいでしょうか。または、私がそうするのを妨げるものは何ですか?

使用例:カー ラジオ用の USB 大容量ストレージ デバイスがあり、ラジオ ソフトウェアがプレイリストをサポートしていないため、ディレクトリをプレイリストとして使用したいと考えています。したがって、これを行うときに Windows がどのように動作するかは、私にとって重要ではありません。

4

3 に答える 3

7

これは単純な問題で機能するはずです。つまり、ハック/回避策として機能し、ファイルの名前を変更/移動/削除するとどうなるかわかりません。したがって、メインのHDDでこれを行うべきではありません。

16進エディタを使用してディレクトリエントリを手動で編集しました。クラスターとファイルサイズを変更し、ハードリンクを正常に偽造しました。私のカーラジオやWindows(7、64ビット)でさえ、使用した元の「ハードリンクされた」mp3ファイルの再生に問題はありません。

16進エディターでデバイスを再度開いても、変更は元に戻されません(回答#1のchkdskの問題を参照してください。ただし、私が知る限り、chkdskは手動で開始する必要があります。

于 2010-12-28T15:06:40.890 に答える
5

あなたが話していること(「同じファイルコンテンツを指している2つのディレクトリエントリ」)はハードリンクです。chkdsk はそれらをクロスリンクとして報告し、それらを壊してファイルを「修復」します (実際にはコピーを作成します)。

于 2010-12-28T11:27:08.393 に答える
3

MichaelPh は SuperUser に指示を投稿しました:

https://superuser.com/a/486829/51237

Disk Probe (XP のみ。Win7 ではまだ変更を書き込んでいない) を使用して、FAT ディレクトリが参照するクラスターを変更することができます。この方法を使用して、DCIM フォルダー (またはサブフォルダー) をリダイレクトして、別のスキャン デバイスで使用されるフォルダーを指すことができます。

これが良いアイデアであるかどうかは別の問題であり、あなた自身の責任でこれを使用してください。

  1. Eye-Fi カードを USB カード リーダーに挿入するか、SSD スロットに直接挿入し、インストールされているドライブ文字をメモします (簡単にするために F:\ と仮定します)。
  2. カードとサブディレクトリのすべての Windows エクスプローラ ウィンドウが閉じていることを確認します。
  3. ディスク プローブの実行
  4. ドライブを選択 -> 論理ボリューム
  5. [論理ボリュームを開く] ダイアログで、[論理ボリューム] リストの F:\ をダブルクリックします。
  6. Handle F: has been selected as の Set Active ボタンをクリックします。現時点では、ハンドルを読み取り専用のままにしておくことができます。
  7. [ツール] -> [セクターを検索...] を選択します。
  8. 全数検索にチェックを入れ、検索する文字を入力して検索にDCIMと入力
  9. 一致するものを見つける必要があります (私の場合は 8192 です)。[一致が見つかりました...] ダイアログで [いいえ] を選択して、残りの検索をキャンセルします。
  10. Sectors->Read を選択し、Number of Sectors を少なくとも 2 に増やして、ディレクトリ テーブル全体が含まれるようにします。
  11. Disk Probe 画面の右側にある ASCII で DCIM を見つけます。これは、ディレクトリの FAT エントリの始まりです。レコードの 27 番目のバイト (各エントリは 32​​ バイト) の 16 進値を書き留めます。これは、ディレクトリ クラスタの参照です。この値は、必要に応じて DCIM ディレクトリを通常の使用に戻すために必要です。
  12. DCIM をリダイレクトするディレクトリのエントリを見つけて、レコードの 27 番目のバイトを再度メモします。
  13. DCIM レコードの 27 番目のバイトに戻り、手順 11 でメモした値に変更します。
  14. Sectors->Write を選択し、Write Sector ダイアログで Write it をクリックします。セクターを読み取り専用として開いた場合、警告が表示されます。はい、変更してもよろしければ上書きします。

Windows エクスプローラーで DCIM ディレクトリを開くと、ターゲット ディレクトリの内容が表示されるようになりました。

于 2013-01-02T11:19:45.270 に答える