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))
...