FAT テーブルに保存されている長さを使用する代わりに、FAT クラスター チェーンを使用してファイルを回復するにはどうすればよいですか?

FAT テーブルに保存されている長さを使用する代わりに、FAT クラスター チェーンを使用してファイルを回復するにはどうすればよいですか?

TNT 受信機のハード ドライブからムービー ファイルを回復しようとしていますが、FAT32 アロケーション テーブルが破損しています (粗悪な安物のデバイスです...)

dosfsck を使用するのは無意味です。正しいファイルの長さはクラスターの長さであり、テーブル内の (短い) 長さではないためです。dosfsck はファイルを短くすることだけを提案しますが、これは実行しません。

質問: FAT テーブルに保存されている長さを使用する代わりに、FAT クラスター チェーンを使用してファイルを回復するにはどうすればよいですか?

編集

言い忘れましたが、Linux ソリューションのみお願いします (Windows ボックスはありません)

答え1

プログラミングの思い出を使って、この場合は PVR でやったことは、1) mshowfat でクラスターのリストを取得すること。2) dd で while read を入れること。

私のシェルの最も重要な部分:

mshowfat p:/$FILENAME | sed "s/>/\n/g" |sed "s/.DAT/\n/" | sed "s/ cp-pvr.log

IFS=" " read appeared in fin do taille=$(($fin - $debut)) dd if=/dev/sdbx of="out-file" bs=$BLKSIZE"c" skip=$debut count=$taille seek=$SAUT SAUT=$(($SAUT + $taille))
...

関連情報