Formatieren mit Fat16 statt Fat12 unter Windows?

Gast #770737
Lesenswert?

Vorher hatte ich zum Testen eine 16MB CF-Karte im Kartenleser. Habe den 
Bootsektor selbst von Hand draufgeschrieben mit FAT16, dann mit Windows 
formatiert und eine Datei von 64KB (128 Sektoren) draufgeschrieben.

Ich glaube, Windows ignoriert mein Fat16 und macht Fat12 draus. die FAT 
sieht jedenfalls so aus, und ich kapier's nicht - muß ich immer 3 
Halbbytes nehmen bei Fat12, und wie sortieren, damit da was korrektes 
'rauskommt / wie liest man das:?

F8 FF FF 03 40 00 05 60 00 07 80 00 09 A0 00 0B
C0 00 0D E0 00 0F 00 01 11 F0 FF 00 00 00 00 00
(rest Nullen)

Adressen auf der Karte:
1. Fat ab 1000 hex
2. Fat ab 2800 Hex
Verzeichnis ab 4000 Hex (Dateiname)
Datei (erster Sektor) ab 8000 hex
Gast #770757
Lesenswert?

Das mit dem Ändern der Clustergröße funktioniert tatsächlich.. Jetzt 
list sich die FAT wie ein Buch :-)

Es wäre eben nur schön, wenn man das per Paramter und nicht per "try and 
error" beim Formatieren einstellen könnte..

Hat noch jemand einen Tipp, wie man die obige Fat12 
auseinandernimmt/liest?
Gast #770885
Lesenswert?

@fubu1000

Hab mal 'reingeschaut - daß sich immer mal ein Byte aufteilt, ist mir 
schon klar, aber WIE? Also das Beispiel oben zeigt eine FAT einer 
sequenziellen, unfragmentierte Datei

F8 FF FF 03 40 00 05 60 00 07 80 00 09 A0 00 0B
C0 00 0D E0 00 0F 00 01 11 F0 FF 00 00 00 00 00
(rest Nullen)

Also wenn man es als Sektortabelle schreiben wollte -
FF8
FFF
403
000
605
..

??
Gast #770927
Lesenswert?

weil 12 Bit für einen FAT-Eintrag verwendet werden. Mußte gar nicht 
raten. Ich sehe auch, daß fortlaufende Zahlen vorkommen. Ich weiß nur 
nicht, wie ich die o.g. Bytefolge lesen muß, damit 003-004-005 usw 
rauskommt?
Persönliche Seite #770987
Lesenswert?

Die ersten drei Bytes der FAT beschäftigen sich nicht mit Deiner Datei.

F8 FF FF
ab cd ef

dab efc  --> FF8 FFF

Das sind die FAT-Einträge 0 und 1, die für das Root-Directory stehen 
dürften.

Deine Datei beginnt mit FAT-Eintrag 2

03 40 00
ab cd ef

dab efc  --> 003 004


05 60 00
ab cd ef

dab efc  --> 005 006


07 80 00
09 A0 00
0B C0 00
0D E0 00

Das überlasse ich dem geneigten Leser als Tippübung.

0F 00 01
ab cd ef

dab efc  --> 00F 010

11 F0 FF
ab cd ef

dab efc  --> 011 FFF

FFF kennzeichnet das Dateiende.
Gast #771167
Lesenswert?

dabefc also? :-) ja, so kommt es hin. Ich wußte nicht, daß 3 Byte zu 2 
Einträgen kombiniert werden, danke. Immer toll, wenn sich jemand 
auskennt.

Hatte vermutet, daß ich etwas sehen würde wie 00 30 04 00 50 06 00 70 ..

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren