Xbox Partitioning and Filesystem Details

From Xbox-Linux

(XBOX DISK LAYOUT v0.13 by Andrew de Quincey (mailto:adq@tardis.ed.ac.uk) and Lucien Murray-Pitts (mailto:lucien@tardis.ed.ac.uk))

Partitioning scheme

The Xbox uses a hard disk partitioning scheme that is hardwired into the kernel. The hard disk consists of a header, 3 game cache partitions, a system partition and a data partition:

For a detailed partitioning table refer to Xbox Hard Disk Partitioning

Disk Config Area

The first 512 KB of the Xbox hard disk form the "Disk Config Area", or, simply spoken, the header of the hard disk. The infomation stored in this area has only partially been decoded.

(Offsets are from start of disk)

Offset Size Description
0x600 4 "BRFR"
0x604 4 Number of boots
0x608 4 Unknown
0x60c 4 Unknown


Offset Size Description
0x800 4 Unknown
0x804 4 Unknown
0x808 4 Unknown
0x80C 4 Unknown
0x810 4 Unknown
0x814 4 Unknown
0x818 4 Unknown
0x81c 4 Unknown
0x820 4 Unknown
0x824 4 Unknown


Offset Size Description
0x1000 4 Unknown
0x1004 4 Unknown
0x1008 4 Unknown
0x100c 4 Unknown
0x1010 4 Unknown
0x1014 4 Unknown
0x1018 4 Unknown
0x101c 4 Unknown


OffsetSizeDescription
0x104c2Xbox Live Settings
0x104e6Xbox Live MAC Address
0x10544Xbox Live IP Address
0x10584Xbox Live Subnet Mask
0x105c4Xbox Live Default Gateway
0x10604Xbox Live Primary DNS
0x10644Xbox Live Secondary DNS
0x106840Xbox Live Hostname
0x109064Xbox Live PPPOE Username
0x10d064Xbox Live PPPOE Password
0x110040Padding?
0x113840Xbox Live PPPOE Service Name


If the disk config area is overwritten and the Xbox rebooted the ASCII string "BRFR" at 0x600 will be recreated. Thus the presence of the "BRFR" magic value can be used as a check to see if a hard drive is Xbox partitioned.

FATX Partition Header

(Offsets from start of FATX partition)

Offset Size Description
0x0000 4 “FATX”
0x0004 4 Volume ID (?)
0x0008 4 Cluster size in 512 byte sectors (?)
0x000C 2 Number of active FATs (always 1) (?)
0x000E 4 Unknown (always set to 0)
0x0012 0xfee Unknown (usually set to 0xff, or 0). Probably padding.
0x1000 Depends on size of partition, see below Cluster chain map. This is a table of 2 byte or 4 byte entries,

one per cluster. The values of the entries are the ID of the NEXT cluster in the chain, or one of several special values:

  • If an entry is set to 0, that cluster is unused.
  • If an entry is set to 0xffff (0xffffffff in 4 byte mode), this indicates the end of the chain (EOC marker).
  • The first cluster (with the root FAT) has the value 0xfff8 (0xfffffff8 in 4 byte mode).
  • Bad/unreliable clusters will probably have 0xfff7 (0xfffffff7 in 4 byte mode).
0x1000 + cluster chain map size 0x4000