Forum: Mikrocontroller und Digitale Elektronik Erkennen ob Volume mit FAT formatiert


von Mars (Gast)


Lesenswert?

Hallo!

Wie kann ich erkennen, ob eine Partition ein FAT Dateisystem hat, oder 
ein anderes Dateisystem z.B. NTFS hat.
Laut FAT-Spezifikation von MS gibt es im BPB das Feld BS_FilSysType. In 
diesem soll FAT(12|16) stehen. Allerdings ist dieses Feld nur 
"informational only" und Windows wertet dieses Feld nicht aus(Überprüft 
durch Überschreiben mit XXX).
Also wie kann ich zuverlässig erkennen, ob ein FAT Dateisystem vorhanden 
ist.

Lg

von Geist (Gast)


Lesenswert?

in der partitionstabelle der platte gibt es einen partitionstyp.
den mußt du abfragen.

von Karl-heinz S. (cletus)


Lesenswert?

Naja gut, der kann aber recht beliebig sein...

von Uhu U. (uhu)


Lesenswert?

Das Formatierprogramm von Linux kennt sie alle und zeigt sie auch an.

von Gast (Gast)


Lesenswert?

Der Partitionstyp von FAT und NTFS ist afaik der selbe.

von Mars (Gast)


Lesenswert?

Bei mir handelt es sich konkret um einen USBStick ohne MBR. Somit gibt 
es auch keine Partitionstabelle in der ich den Typ finden kann.

von holger (Gast)


Lesenswert?

BPB_NumFATs -> Anzahl der FAT Tabellen

Bei FAT steht dort meist 2.
Bei NTFS 0 soviel ich weiss.

von Mars (Gast)


Lesenswert?

Hallo Holger!

Danke für den Tipp. NTFS war nur ein Beispiel, es könnte ja auch ext2, 
ReiserFS, etc sein. Auch die Anzahl der FATs muss nicht unbedingt 2 
sein.
Aber ich vermute mir bleibt nichts anderes über, als alle Felder im BPB 
auf ihre Gültigkeit hin zu überprüfen.

von holger (Gast)


Lesenswert?

>Auch die Anzahl der FATs muss nicht unbedingt 2 sein.

Sicher, 1 könnte auch gehen. 3 oder grösser habe ich noch
nie gesehen ;) 0 geht nicht.

BS_FilSysType ist schon ein ganz guter Anhaltspunkt
zur Bestimmung ob FAT oder nicht. Ich habe
noch nie gesehen das nicht FAT12 oder FAT16
oder FAT32 drinstand wenn mit FAT formatiert wurde.

von Mars (Gast)


Lesenswert?

>BS_FilSysType ist schon ein ganz guter Anhaltspunkt
>zur Bestimmung ob FAT oder nicht. Ich habe
>noch nie gesehen das nicht FAT12 oder FAT16
>oder FAT32 drinstand wenn mit FAT formatiert wurde.

Ja da hast du sicher Recht. Allerdings bin ich bei soetwas immer etwas 
pedantisch.

von Dieter B. (debe)


Lesenswert?

Hallo Mars,

bei XP: Rechtsklick auf Arbeitsplatz (auf dem Desktop), dann Verwalten 
und Datenträgerverwaltung anklicken. Da ist bei den Laufwerken das 
Dateisystem angegeben.

Gruß debe

von hust (Gast)


Lesenswert?

LOL, da hat wohl einer den Thread nicht gelesen ;-)

von Peter (Gast)


Lesenswert?

also FAT und NTFS habe nicht den gleichen Partitionstype.
.
Es gibt keine eindeutiges Merkmal. man kann nur den ersten Sektor 
analysieren ob die Daten für FAT einen Sinn ergebene. (Anzahl der 
Sektoren zur Platte passt usw.) Bei NTFS steht immer NTFS an einer 
STelle. Bei den Linux-FS gibt es glaube ich eine UID woran man sie 
unterscheiden kann.

 0  Empty           1e  Hidden W95 FAT1 80  Old Minix       be  Solaris 
boot
 1  FAT12           24  NEC DOS         81  Minix / old Lin bf  Solaris
 2  XENIX root      39  Plan 9          82  Linux swap / So c1 
DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  83  Linux           c4 
DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     84  OS/2 hidden C:  c6 
DRDOS/sec (FAT-
 5  Extended        41  PPC PReP Boot   85  Linux extended  c7  Syrinx
 6  FAT16           42  SFS             86  NTFS volume set da  Non-FS 
data
 7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set db  CP/M / 
CTOS / .
 8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext de  Dell 
Utility
 9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt
 a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e1  DOS 
access
 b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O
 c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          e4 
SpeedStor
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  EFI GPT
10  OPUS            55  EZ-Drive        a6  OpenBSD         ef  EFI 
(FAT-12/16/
11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f0 
Linux/PA-RISC b
12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f1 
SpeedStor
14  Hidden FAT16 <3 61  SpeedStor       a9  NetBSD          f4 
SpeedStor
16  Hidden FAT16    63  GNU HURD or Sys ab  Darwin boot     f2  DOS 
secondary
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fd  Linux 
raid auto
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fe  LANstep
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid ff  BBT
1c  Hidden W95 FAT3 75  PC/IX

von holger (Gast)


Lesenswert?

>also FAT und NTFS habe nicht den gleichen Partitionstype.

Wenn in Sektor 0 aber ein Bootsektor statt einer Partitionstabelle
steht nützt diese Erkenntnis auch nichts :(

von Peter (Gast)


Lesenswert?

eine Partitionstabelle gibt es auch mit Bootsektor, nur bei Disketten 
gibt es keine Partitionstabelle. (USB mal mit und mal ohne). Aber 
festplatte hatten bis jetzt immer eine. (auch wenn man es mit linux 
anderes machen kann)

von Karl-heinz S. (cletus)


Lesenswert?

Peter wrote:
> eine Partitionstabelle gibt es auch mit Bootsektor, nur bei Disketten
> gibt es keine Partitionstabelle. (USB mal mit und mal ohne). Aber
> festplatte hatten bis jetzt immer eine. (auch wenn man es mit linux
> anderes machen kann)

Habe ich auch schon ab Werk ohne gesehen, gerade bei USB-Sticks.

Wenn es darum geht, per FAT auf ein Volume zuzugreifen, würde ich 
sowieso kurz prüfen, ob die Table korrekt ist und da sinnige Werte drin 
stehen.

Von daher...

von holger (Gast)


Lesenswert?

>> eine Partitionstabelle gibt es auch mit Bootsektor, nur bei Disketten
>> gibt es keine Partitionstabelle. (USB mal mit und mal ohne). Aber
>> festplatte hatten bis jetzt immer eine. (auch wenn man es mit linux
>> anderes machen kann)

>Habe ich auch schon ab Werk ohne gesehen, gerade bei USB-Sticks.

Auch bei MMC/SD Karten findet man beides.

von Uhu U. (uhu)


Lesenswert?

Du könntest mal im Windows DDK nachsehen, ob da der FAT Recognizer in 
Quellen vorhanden ist. Dann weißt du, wie Kleinweich das macht.

von Mars (Gast)


Lesenswert?

Danke für eure Tipps.

Lg

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.