Bitzenbytes.com

CompuClues Forum

  User  Password
Sunday, July 06, 2008 - 04:49 AM
Search
Main Menu
Who's Online
MEMBERS ONLINE

You are an anonymous user. You can register for free by clicking here
User name
Password
 Remember me
Firefox
Get Firefox 110
Languages
Preferred language:

Partition Table Types from the Reference Library at CompuClues
MBR Partition Table Types
Date: March 30, 2001
Submitted by: Bob
 
See Partitioning 101 by K9MkII (Bill) for descriptive information about what a partition table does for the OS, where it is located, and why it is needed.

See MS OS Partition Information for the rules of usage determined by Microsoft.

Partition Types are pretty mundane information, but they may serve to inform that there are a lot of people in the world who have some stake in how a partition table works. For you to understand, you need to understand what they understand. Etcetera. The links I had that pointed to partition table information have decayed. Else I would not have reproduced this information for this site.

Lately, for instance, Microsoft is still using this basic partition table at boot time, but only to point to its own proprietary data structures (mostly--basic vs. dynamic disks).

Each partition table entry is 16 bytes. The information contained in those 16 bytes is (more or less) dense considering the information provided. For CHS drives the start and end location of a partition is stored and for LBS, the start and size in sectors is stored. Also the partition type and the "active" partition flag is stored there. Versions of FDISK that do not support large drives will incorrectly compute LBA values.

There is no standards/police body that determines who can use what codes for the partition type. It's pretty much a free-for-all. The one byte type code indicates what file system is using the partition. If your partition tool does not understand the file system type for the partition, it may not be able to remove the partition entry.   Another reason, perhaps, to employ the debug routine described in "nuke and pave" to remove a partition table.

How your partition tool interprets the type code depends on how your partition tool was coded.

Typical type codes follow:

  • 00 Empty
  • 01 DOS 12-bit FAT
  • 02 XENIX /
  • 03 XENIX /usr
  • 04 DOS 16-bit FAT <32M
  • 05 DOS Extended
  • 06 DOS 16-bit FAT >=32M
  • 07 HPFS / NTFS
  • 08 AIX boot or SplitDrive
  • 09 AIX data or Coherent
  • 0A OS/2 Boot Manager
  • 0B Windows95 FAT32
  • 0C Windows95 FAT32 (LBA)
  • 0E Windows95 FAT16 (LBA)
  • 0F Windows95 Extended (LBA)
  • 10 OPUS
  • 11 Hidden DOS FAT12
  • 12 Compaq diagnostics
  • 14 Hidden DOS FAT16
  • 16 Hidden DOS FAT16 (big)
  • 17 Hidden HPFS/NTFS
  • 18 AST Windows swapfile
  • 24 NEC DOS
  • 3C PartitionMagic recovery
  • 40 Venix 80286
  • 41 Linux/MINIX (sharing disk with DRDOS)
  • 42 SFS or Linux swap (sharing disk with DRDOS)
  • 43 Linux native (sharing disk with DRDOS)
  • 50 DM (disk manager)
  • 51 DM6 Aux1 (or Novell)
  • 52 CP/M or Microsoft SysV/AT
  • 53 DM6 Aux3
  • 54 DM6
  • 55 EZ-Drive (disk manager)
  • 56 Golden Bow (disk manager)
  • 5C Priam Edisk (disk manager)
  • 61 SpeedStor
  • 63 GNU Hurd or Mach or Sys V/386 (such as ISC UNIX)(14)
  • 64 Novell Netware 286
  • 65 Novell Netware 386
  • 70 DiskSecure Multi-Boot
  • 75 PC/IX
  • 77 QNX4.x
  • 78 QNX4.x 2nd part
  • 79 QNX4.x 3rd part
  • 80 MINIX until 1.4a
  • 81 MINIX / old Linux
  • 82 Linux swap
  • 83 Linux native(15)
  • 84 OS/2 hidden C: drive
  • 85 Linux extended
  • 86 NTFS volume set
  • 87 NTFS volume set
  • 93 Amoeba
  • 94 Amoeba BBT
  • A0 IBM Thinkpad hibernation
  • A5 BSD/386
  • A7 NeXTSTEP 486
  • B7 BSDI fs
  • B8 BSDI swap
  • C1 DRDOS/sec (FAT-12)
  • C4 DRDOS/sec (FAT-16, < 32M)
  • C6 DRDOS/sec (FAT-16, >= 32M)
  • C7 Syrinx
  • DB CP/M or Concurrent CP/M or Concurrent DOS or CTOS
  • E1 DOS access or SpeedStor 12-bit FAT extended partition
  • E3 DOS R/O or SpeedStor
  • E4 SpeedStor 16-bit FAT extended partition < 1024 cyl.
  • F1 SpeedStor
  • F2 DOS 3.3+ secondary
  • F4 SpeedStor large partition
  • FE SpeedStor >1024 cyl. or LANstep
  • FF Xenix Bad Block Table
Bytes 0-3 in the table are used by the small program in the Master Boot Record to read the first sector of an active partition into memory. Now you can see why a virus might target the first sector, infecting it and moving the legitimate code to where it can be referenced by the virus.

The MBR uses the same registers (with some different values) as the "nuke" debug routine, listed in the "nuke and pave" document, and a different service (AH=02) of the same INT 13h routine for the purpose of reading the active partition's boot sector. We're talking PC activity here, and not any particular OS.

[Printer friendly page | Send to a friend]
Bugs  |  Tasks  |  Developers