Skip to main content.

Terminology

What is parted, libparted, gparted, GNU Parted?
'GNU Parted' is a GNU package consisting of a library (libparted) and a textmode frontend (parted) which also serves as a sample implementation. GParted, on the other hand, is a Gnome partition editor that uses libparted.
What is a disk label?
'Disk label' is another word for 'partition table'. A partition table's main purpose is recording the location of partitions on a disk and boot-time management.

 

^ TOP

Features

Does GNU Parted support logical sector sizes not equal to 512?
Yes, but a lot of file systems and disk labels do not. GPT as a disk label is suggested, along with modern file systems like ext2, ext3, reiserfs or xfs. NTFS might also work.
Does GNU Parted support physical sector sizes not equal to 512?
Starting from 1.7, GNU Parted will automatically align partitions to the physical sector size reported by an ATAPI-compliant drive.
Does GNU Parted support Intel EFI/GPT partition tables?
Yes.
Does GNU Parted support ext2/ext3 extended attributes?
No, not yet
^ TOP

Resizing

Can I resize only the partition, leaving the file system as it it?
Not at this time. This feature is scheduled for later releases, though.
What happens if you try to shrink a partition too much?
parted's resizer and partition code uses constraints. That is, the file system resizer says what it can do (safely), and likewise the partition code. Action will only proceed if all constraints can be satisfied. However, parted tries to find the closest solution that satisfies all constraints. If, say, you have a partition that has 20GB of used space on it, and you try to shrink it to 100Mb, parted will try to satisfy the constraint (that the file system be able to keep all the 20GB of data), by finding the nearest solution. This "nearest solution" is going to be a long way away - instead of shrinking to 100MB, it shrinks to 20GB instead. parted silently uses the nearest solution. A solution should always exist, because the partition exists! So, the nearest solution might be what you already have!
How should I use parted to shrink Windows, and install GNU/Linux?
With parted, it is possible to resize your Microsoft Windows partition, to create room to install GNU/Linux. This process shouldn't result in any damage to Windows, although we make no guarantees ;-) Note that this is only possible if your Windows partition is either FAT12, FAT16 or FAT32. If parted is unable to achieve what you want, then it should say so, rather than damaging your data (again, no guarantees). The easiest method is to use a rescue CD with parted on it:
  1. Create and boot the rescue CD.
  2. Start parted:
        #parted
    Parted will display this message:
        Warning: The operating system thinks the geometry
        on /dev/hdb is 2586/240/63. Therefore, cylinder 1024
        ends at 7559.999M. You should check that this matches
        the BIOS geometry before using this program.
                            
    You can ignore this, provided you follow the next step.
  3. Have a look at your parition table:
        (parted)print
        Disk label type: msdos
        Minor    Start       End     Type      Filesystem  Flags
        1          36s    19.1GB  primary      FAT         lba
                            
    This indicates there is a single 19 gigabyte FAT partition. The "lba" indicates that Windows is using LBA (linear) mode. If you don't see this, then things get much more complicated, and you should read the parted documentation thoroughly. If you proceed, you may damage some data without warning (the warning was to check your BIOS geometry matches parted's on startup).
  4. Resize the partition to the size you want (in this example, 10GB):
       (parted) resize 1 0 10G
  5. Exit parted:
       (parted) quit
  6. That's it! You can reboot your computer, and start installing GNU/Linux.