1

I'm familiar with the concept of a partition. For example, you could divide a hard drive up into multiple partitions, with different formats, such as ntfs for windows and ext4 for linux and then use something like grub to boot either of the partitions.

I been reading the gparted manual and for the first time I come across this term "partition table":

http://gparted.org/display-doc.php?name=help-manual#gparted-create-partition-table

When I actually selected Device > Partition Table for my second hard drive (/dev/sdb), I got a pop up that asked me to create a new partition table type and the options were msdos, aix, amiga, bsd, and more.

Is there a difference between creating a partition table and creating a partition?

1

How did you think that the system knew where the partitions were?

The locations of the partitions on your disc are stored as records in a table, known as … wait for it … the partition table, that is written to the disc where the partitions themselves are. (It's not strictly necessary for a partition table to live on the same disc as the partitions themselves. But this idea is rare to practically nonexistent in the personal computing world, and is beyond the scope of this answer.)

As you've seen, there are various kinds of partition tables. They are structured quite differently from one another, and what David Dai said about them living at the start of the disc is only true for some of them. What's important is that they live, at least partly, in a fixed and well-known place on the disc. For examples:

  • The EFI partition table occupies two places on the disc: a few sectors at the beginning of the disc and a few sectors at the end of the disc. A "header" record in a fixed position at logical sector #1, also mirrored in a well-known position in the very last sector of the disc, shows the sizes and locations of the table records proper.
  • The old "MBR" style partition table is distributed across the disc, but starts with a fixed set of four "primary" table entries in logical sector #0 of the disc which (potentially, subject to a whole load of ifs and buts that are outwith the scope of this answer) point to singly-linked lists of "extended" entries in other, variable, places.
  • The BSD disklabel scheme (when used natively) has a table of 8 partition records in logical sector #0 of the disc.

Discs don't start out with partition table data structures written to them. Reading a partition table usually, in a heterogeneous world, thus involves looking in the fixed and well-known places for signature words and performing checksum validations, to ensure that a partition table of a particular type is actually on the disc in the first place. Creating a partition table is the act of writing to a disc the necessary signatures, checksums, and null entries to form a valid, but empty, partition table of a particular type. Creating a partion is merely the act of adding a record to such a table. (Then comes formatting a partition of course.)

  • I believe by "EFI partition table" JdeBP is referring to GPT ("GUID Partition Table"), used by EFI. I am not sure how an MBR partition table would be stored on one disk and used by another; though software could potentially implement such a thing, I have not actually heard of that being implemented by anything, anywhere. (However, I would be much less surprised if some other partitioning method, e.g. possibly BSD's could support such a thing.) – TOOGAM Jul 11 '16 at 15:01
1

The partition table is a piece of information stored at the beginning of the hard disk which describes how this hard disk is partitioned (How many partitions there are, the size and location of each partition, etc.)

There are different types of partition tables, for example MS-DOS which allows you to create only up to four primary partitions. Other partition tables may have different features.

When you create a partition table, the hard disk is kind of re-initialized, all partitions you have will be gone.

  • 1
    Just as the (file) directory describes what files there are, so does the partition table describe what partitions there are. – Jan Doggen Mar 4 '14 at 8:33
  • I have created partitions before without even knowing about partition tables. So what is the use of the partition table? – JohnMerlino Mar 4 '14 at 16:01
  • 1
    Partitions are defined by the partition table; therefore, partitions cannot exist without a partition table. That's their use. – Rod Smith Mar 4 '14 at 18:28
  • When you add, delete, modify a partition, the partition table gets modified by whatever software you are using although most softwares don't tell you this much details. – David Dai Mar 4 '14 at 19:43

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.