Partitioning is a means to divide a single hard drive into many logical drives. A partition is a contiguous set of blocks on a drive that are treated as an independent disk. A partition table is an index that relates sections of the hard drive to partitions.
- Primary partition - A disk can have up to 4 primary partitions. It cannot have more that 4 due to limitations of the disk primary partition table. To get around this limitation, an extended partition may be used.
- Extended partition - A special primary partition that is subdivided into logical partitions. There can be no more than 1 extended partition on a disk.
- Logical partition - A partition residing on an extended partition
/dev/hda1 The 1st primary partition /dev/hda2 The 2nd primary partition /dev/hda3 The 3rd primary partition /dev/hda4 An extended partition /dev/hda5 The 1st logical partition /dev/hda6 The 2nd logical partition etc...
In this example, /dev/hda4 is the extended partition. All the logical partitions reside on an extended partition.
If you're not sure what size to make your partitions, using a small ext3 /boot partition and lvm2-based partitions for the rest can be a good idea. The advantage of lvm is that it makes resizing more practical. In the DebianInstaller partition manager each logical volume is treated as if it were a disk in which you make partitions.
I assign a single partition per logical volume. Then when I want to increase the size of a partition, I umount the donor and recipient partitions, resize (shrink) the donor partition, resize (shrink) the donor logical volume, resize (grow) the recipient logical volume, resize (grow) the recipient partition, and finally remount. This may sound the same as with e2fsresize on regular partitions, but it's not.
Ext2/3 partition cannot be moved, so you can only gain space by shrinking the preceding partition, deleting the partition to grow, and recreating it larger, or by removing the following partition, increasing the size of the current partition, and recreating the following partition. With lvm2 the space comes from whatever logical volume you choose to shrink. lvm handles the details of where on the disk the partition blocks actually are.
Good Luck! -DD
After partitioning, the partition numbers of the unaltered partitions may change. For example, a partition that used to be identifed as /dev/hda7 may change to /dev/hda6 after the deletion of a partition. In this case, a number of configuration files needs to edited:
If the partition number for the swap partition was altered, the /etc/initramfs-tools/config.d/resume file also needs to be updated. This file indicates the partition used for hibernation and the swap partion is generally used for this. update-initramfs -u needs to be ran afterwards to update the initramfs image.
http://staff.washington.edu/trav/linux/lost_partition.html Recovering a Lost Partition Table