/* /=========================================\ * |PARTITION TABLE LAYOUT (offset 446|0x1BE)| * \=========================================/ * * +--- Bit 7 is the active partition flag, bits 6-0 are * | zero (when not zero this byte is also the drive * | number of the drive to boot so the active * | partition is always found on drive 80H, * | the first hard disk). * | * | +--- Starting CHS in int $0x13 call format. * | | * | | +--- Partition type byte. * | | | * | | | +--- Ending CHS in int $0x13 call format. * | | | | * | | | | +-- Starting LBA. * | | | | | * | | | | | +-- Size in sectors. * /| V /| V V V * VV /--+---\ VV /--+---\ /-+---\ /-+----\ * 0 1 2 3 4 5 6 7 8 9 A B C D E F <- offset * DL DH CL CH TB DH CL CH LBA..... SIZE.... =========== * 00 00 01 04 83 FE 7F 08 04FB0000 C5FA3F00 1st entry * 00 00 41 09 82 FE BF 0D C9F54000 C5FA3F00 2nd entry * 80 00 81 0E 0C FE FF FF 8EF08000 63EFA606 3rd entry * 00 01 01 00 83 FE 3F 03 3F000000 C5FA0000 4th entry * * The above translates to this (from linux fdisk): * Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID * 1 00 0 1 4 254 63 264 64260 4192965 83 * 2 00 0 1 265 254 63 525 4257225 4192965 82 * 3 80 0 1 526 254 63 1023 8450190 111603555 0c * 4 00 1 1 0 254 63 3 63 64197 83 * * If the primary partition table type byte is f, the * following is found at the start... * /==================================================\ * |EXTENDED PARTITION TABLE LAYOUT (offset 446|0x1BE)| * \==================================================/ * reference: * http://www.microsoft.com/resources/documentation/Windows/XP/all/reskit/en-us/prkd_tro_kyrr.asp * * The extended partition table is identical to the above * except that entry 1 points to the start of the current * extended partiton, and entry 2 is a linked list to the * next extended partiton table. Entries 3 and 4 are not * used. * */