Wie kann man eine Datei mithilfe der FAT-Clusterkette wiederherstellen, anstatt die in der FAT-Tabelle gespeicherte Länge zu verwenden?

Wie kann man eine Datei mithilfe der FAT-Clusterkette wiederherstellen, anstatt die in der FAT-Tabelle gespeicherte Länge zu verwenden?

Ich versuche, Filmdateien von der Festplatte meines TNT-Receivers wiederherzustellen, aber die FAT32-Zuordnungstabelle wird beschädigt (beschissenes, billiges Gerät ...).

Die Verwendung von dosfsck ist nutzlos, da die richtige Dateilänge die Clusterlänge ist und nicht die (kürzere) in der Tabelle, und dosfsck schlägt lediglich vor, die Datei zu kürzen, was ich nicht tun werde.

Frage: Wie kann ich eine Datei mithilfe der FAT-Clusterkette wiederherstellen, anstatt die in der FAT-Tabelle gespeicherte Länge zu verwenden?

Bearbeiten

Ich habe vergessen zu sagen: bitte nur Linux-Lösungen (ich habe keine Windows-Box)

Antwort1

Was ich mit den Programmiererinnerungen gemacht habe, in diesem Fall auf meinem PVR, ist: 1) mshowfat, um die Clusterliste zu erhalten. 2) Ich habe „while read“ mit dd eingefügt....

Wichtigste Teile meiner Schale:

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

während IFS=" " Debüt lesen Ende Größe=$(($fin - $debut)) dd wenn=/dev/sdbx von="out-file" bs=$BLKSIZE"c" überspringen=$debut zählen=$Größe suchen=$SAUT SAUT=$(($SAUT + $Größe))

verwandte Informationen