I'm formatting my Seagate Freeagent external HDD in Linux to FAT filesystem, because it can't be done in Windows, but I'm wondering, what's the difference betweeen partition type and filesystem type?

disk utility

And what's the recommended partition type for FAT filesystem? I'm going to use this drive in a Linux PC, Windows PC, and Wii.

  • There are lot of results on google about this, try reading this ask.metafilter.com/115106/…
    – nickanor
    Dec 20 '12 at 9:12
  • If i were you, i wouldn't format the External HDD as FAT, since it has a file size limit of 4GB per file. Format it as NTFS, since it does not have this limit, and works on both Windows and Ubuntu. It's also less error prone. en.wikipedia.org/wiki/NTFS Dec 20 '12 at 12:17
  • @nickanor I don't see any mention about partition type there.
    – PatrixCR
    Dec 20 '12 at 12:51
  • @ThiagoPonte Unfortunately, Wii can't read NTFS
    – PatrixCR
    Dec 20 '12 at 12:52
  • Sorry i didn't saw the Wii. Dec 20 '12 at 13:01

Partitions are nothing more than entry’s in a partition table stored on the hard drive and this table sets the boundary for the start and the end of the partition on the drive and holds some useful information about the partition including its type.

File systems are a way of storing data inside the partitions in a fashion that is easy to manage and read and write data to it. Some do it better than others.

A partition entry in the partition table will need a partition type to help the Operating System know how to handle the partition.

Heres is a list of partition types printed from fdisk.

Partition number (1-5): 1
Hex code (type L to list codes): L

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

As you can see the most correct type would be c

If the screen shot you have provided is the current state, you can change the partition type with fdisk /dev/sdb

You then press t to change a partition type, followed by the partitions number 1, followed by the partition code c finally press w to write the changes to disk

  • 1
    The partition type is a byte, which may be represented as hex digits, or binary or decimal or octal or whatever... also note that Linux does not use the partition type.
    – psusi
    Dec 20 '12 at 15:41
  • The point was that hex is simply a way humans represent data, not the type of the data itself, which is just a byte. fdisk likes to work with hex but there isn't any intrinsic relationship between hexadecimal representation and the actual type code. I just like to remind people that hexadecimal numbers are not imbued with magical properties, as sometimes people think. Many programs will happily accept 10 or 0xa and they mean the same thing.
    – psusi
    Dec 20 '12 at 18:29
  • @psusi I deleted the controversial line as it wasn't needed and it as you pointed in that part of the answer it's not true its a byte in the table.
    – squareborg
    Dec 20 '12 at 18:41
  • Also note that partition types are entirely different on different partitioning systems. 1-byte codes are used on MBR disks, but GPT disks use 16-byte GUID codes, which most partitioning tools either hide or translate into something else (a description or sometimes a 2-byte code). The posted screen shot seems to show an MBR disk, but some of the details being described will be different for GPT or other partitioning schemes.
    – Rod Smith
    Dec 21 '12 at 5:20
  • 1
    Sorry, late to the game. I think the reason is that the BIOS, as opposed to UEFI, is completely unaware of the concept of file systems. All it can do is defer to the MBR, which has a very small amount of space to run a stage one boot loader, so it can't contain much logic to go traverse the system to determine the filesystems being used in each partition. Thus, the MBR needs to have the partition types explicitly set in its partition table beforehand.
    – Kevin
    Aug 19 '16 at 6:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.