Erkennen ob Volume mit FAT formatiert

Gast #1161857
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
Gast #1161972
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.
Gast #1161988
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.
Gast #1162001
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.
Gast #1162349
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
Gast #1162377
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)
#1162382
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...
Gast #1162388
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.

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