Skip to content Skip to main navigation Skip to footer

Explanation of the PartInfo Utility

Introduction:  The PartInfo utility is available for download from the free software page on the TeraByte Unlimited web site. Partinfo is useful for capturing detailed partition information from hard drives. Its most common use is as a simple way to view and communicate the current partition layout of your drive(s) in exact detail, so that partitioning problems can be diagnosed.

Usage:  There are three versions of the program included in the zipped archive:

  • PARTINFO.EXE - DOS/Win9X/ME command line version.
  • PARTINFW.EXE - WinNT/2K/XP/2003/Vista, Windows 7/8.x/10 command line verison.
  • PARTINFG.EXE - Windows XP and later GUI version.

The command line versions of the program can be run from the Command Prompt. Program output will be displayed on screen. (Note: If you run PARTINFW.EXE in Windows Vista, or Windows 7/8.x/10, you must be running it from an Administrator Command Prompt or no output will be displayed.) To save the output to a file so that the information can be more easily studied and included in emails, redirect it to a text file. That is accomplished as follows:

partinfo  >  partinfo.txt
partinfw  > partinfo.txt

The Windows GUI version will display the output graphically. To run the program, just double-click on PARTINFG.EXE. The program allows you to easily save the output to a text file.

Explanation of the output:  The first 3 lines of output will give you the PartInfo version used, the copyright notice, and the time and date when the program was run. The remainder of the output is the detailed data collected from each BIOS-recognized hard drive. The data for each hard drive is divided into 3 sections, as described below.

1. The Partition Table - An example of a partition table section is shown below. This disk has 3 primary partitions, one of which is an extended partition containing 2 volumes:

====================================================================
               MBR Partition Information (HD0):
+====+====+=============+====+=============+===========+===========+
| 0: | 80 |    0   1  1 |  7 | 1023 254 63 |        63 |  20482812 |
| 1: |  0 | 1023   0  1 |  f | 1023 254 63 | 334762470 | 153613530 |
+====+====+=============+====+=============+===========+===========+
                         Volume Information
+----+----+-------------+----+-------------+-----------+-----------+
| 0: |  0 | 1023   1  1 |  b | 1023 254 63 |        63 |  40949622 |
| 1: |  0 | 1023   0  1 |  5 | 1023 254 63 |  40949685 |   4096575 |
| 2: |  0 |    0   0  0 |  0 |    0   0  0 |         0 |         0 |
| 3: |  0 |    0   0  0 |  0 |    0   0  0 |         0 |         0 |
+----+----+-------------+----+-------------+-----------+-----------+
| 0: |  0 | 1023   1  1 | 83 | 1023 254 63 |        63 |   4096512 |
| 1: |  0 |    0   0  0 |  0 |    0   0  0 |         0 |         0 |
| 2: |  0 |    0   0  0 |  0 |    0   0  0 |         0 |         0 |
| 3: |  0 |    0   0  0 |  0 |    0   0  0 |         0 |         0 |
+----+----+-------------+----+-------------+-----------+-----------+
            MBR Partition Information (HD0) Continued:
+====+====+=============+====+=============+===========+===========+
| 2: |  0 | 1023   0  1 | df | 1023 254 63 | 488376000 |     16065 |
| 3: |  0 |    0   0  0 |  0 |    0   0  0 |         0 |         0 |
+====+====+=============+====+=============+===========+===========+

The table above contains 4 rows of MBR partition information, numbered 0 to 3. Each row represents one of the 4 possible primary partitions that can exist on a drive. This data comes from the partition table located in the MBR sector (the first sector) of the hard drive. Every partition table displayed by PartInfo will show at least these 4 rows of partition data.

If there is an extended partition on the drive, there will also be a partition table displayed for each volume in the extended partition (each with 4 rows of data) that will be shown immediately below the extended partition entry in the MBR table. In the example above, the 2 volumes are shown just below the 2nd MBR position, which is the extended partition, and before the last 2 MBR positions.

Each row of partition data has 11 columns and defines one partition. The 1st column simply numbers the 4 possible partition positions (or slots) from 0 to 3. The 2nd column will contain either a 0 (zero) or an 80. When it contains 80, that indicates that the partition is currently set active.

The 3rd, 4th, and 5th columns represent the starting CHS address of that partition. CHS stands for Cylinder, Head, and Sector. The starting CHS address tells you where on the disk the partition begins. The 7th, 8th, and 9th columns represent the ending CHS address of that partition, or where that partition ends. The 10th column represents the starting LBA sector value, and the 11th column gives the size of the partition in sectors. These two numbers taken together represent another way (in addition to the CHS values) of determining where the partition starts and ends on the disk.

The 6th column contains a hex number that indicates what type of partition occupies that table position. If this column contains 0 (zero), that means there is no partition in that position (or slot), and in that case the other columns in that row will be also be zero. In the table shown above, there is an NTFS partition in slot 0, an extended partition in slot 1, and a BootIt EMBRM partition in slot 2. The last MBR position contains no partition. There are more possible partition types than can be conveniently listed here, but the most common ones you will find are shown below:

 6 - FAT16 primary within first 1024 cylinders, or a FAT16 volume in extended partition
 e - FAT16 primary partially or completely above 1024 cylinders
 b - FAT32 primary within first 1024 cylinders, or a FAT32 volume in extended partition
 c - FAT32 primary partially or completely above 1024 cylinders
 5 - extended partition within the first 1024 cylinders, and all pointer entries for volumes
 f - extended partition partially or completely above 1024 cylinders
 7 - NTFS partition
82 - Linux swap partition
83 - Linux native partition (for any Linux file system)
df - BootIt EMBRM partition

Hidden partitions will be shown in the partition table by putting a 1 in front of the numbers shown above. For example, a hidden FAT16 primary below 1024 cylinders will be type 16, a hidden NTFS partition will be type 17, and so on. This method of indicating a hidden partition is, for the most part, limited to just Microsoft partition types. For example, Linux partitions (and most other non-MS partition types) do not have corresponding hidden values.

When there is an extended partition on the disk, the extended partition table for each volume will be shown immediately following the extended partition itself. In the example above, the extended partition is in slot 1 (type f) and it contains a FAT32 volume, followed by a Linux volume. For volumes, only the first 2 table entries are ever used. The first entry defines the volume itself and the 2nd entry is a pointer to the next volume in the chain. The partition table for the last volume in an extended partition will only have the first entry filled, because there is no next volume to point to.

Additional information on the CHS values (columns 3, 4, 5, 7, 8, 9) -  For most modern hard drives, a cylinder represents approximately 8 MB of disk space. That number comes from using the most common CHS translation scheme of C/255/63, which multiplies out to 7.84 MB per cylinder. By convention, partitions will typically start at the beginning of a cylinder (C/0/1) and end at the end of a cylinder (C/254/63), so the smallest partition that can be created is a size of 1 cylinder, or 7.84 MB.

A complicating factor when dealing with CHS values is that these numbers only have meaning if the partition is located within the first 1024 cylinders (0 through 1023) of the disk. This is because the BIOS, as well as the partition table structure itself, limits the highest possible cylinder value to 1023. In the partition table, this limit is imposed by the fact that the cylinder value is only allocated 10 bits in the table, which translates to a maximum value of 1023. In those cases where the CHS values are meaningless, the CHS table entries will contain "fill" values that do not (and can not) represent the partition's actual start and/or end points. For example, in the table above, the first partition ends above 1024 cylinders, so those ending CHS values in columns 7, 8, and 9 are just fill values that are not actually used.

Additional information on the LBA sector values (columns 10 and 11) -  When using LBA sector values, things are much simpler. In this case, the entire disk is seen as simply sectors 0 through N, with N + 1 being the total number of sectors on the disk. Sector 0 is the first sector on the disk (equivalent to CHS 0/0/1), while sector N is the last sector on the disk. So any partition can be defined by knowing which sector it starts on and how many sectors it contains. This method of defining a partition is required to be used when a partition's start and/or end point is located beyond the 1024th cylinder. In the table above, the first partition starts at LBA sector 63 and contains 20,482,812 sectors. Since LBA sectors are numbered starting at 0, this means that there are 63 sectors (0 through 62) before the partition starts. 

2. The EMBR Section - This section will only exist when BootIt BM is installed on the system (or if the drive itself has been in a system with BootIt BM installed) and only then if an EMBR was created on the drive. With BootIt BM installed, HD0 will always have an EMBR, as will the drive containing the BootIt EMBRM partition (if other than HD0). On other drives, an EMBR is optional. The EMBR section of the PartInfo ouput displays selected data from the EMBR. Here is an example of a portion of the data that you will see in this section:

                               EMBR Found (HD0)
              MPT Found:  Revision: 5,  Number of Entries: 5 Flag: 0
-------------------------------------------------------------------------------
  0: Windows XP Pro   Flag:    0 Start:        63 End:  20482874 FS:  7 ID: 1
  1: FC4 Boot         Flag:    0 Start:  20482875 End:  20691719 FS: 83 ID: 2
  2: FC4 LVM          Flag:    0 Start:  20691720 End:  87795224 FS: 8E ID: 3
  3: BootIt EMBRM     Flag: 4000 Start: 488376000 End: 488392064 FS: DF ID: 8C
  4: Extended         Flag: 2000 Start: 334762470 End: 488375999 FS:  F ID: 1B
-------------------------------------------------------------------------------

This section of data shows the contents of the MPT (master partition table), which is the partition table maintained by BootIt BM in the EMBR. While the MBR partition table can contain no more than 4 partitions, the MPT can have more than 4 if primaries are not being limited in Bootit BM. This example shows 5 primary partitions, numbered 0 to 4. For each partition, it gives the partition's name, a flag value, the starting and ending LBA sector values, the partition type (FS:), and the partition ID. The partition ID values are the same ones you will see in the IFW and IFD programs when the list of partitions is displayed. Note that the CHS values for the partitions are not stored in the MPT.

3. The Boot Sector Data - This section will display detailed boot sector data for each FATxx or NTFS partition or volume on the drive. Due to space limitations, an example will not be given here, but the data shown essentially includes the entire contents of the boot sector, with the exception of the boot code. This includes information such as the starting LBA sector value, the total number of sectors, the volume label (for FATxx), the volume ID or SN, and the value of the 2 byte signature at the end of the sector (the boot flag).

Was This Article Helpful?

0