GParted
GParted is a free and open-source graphical partition editor for Linux-based systems, providing a user-friendly interface to manage disk device partitions.[1] It enables users to perform non-destructive operations such as creating, resizing, copying, moving, deleting, checking, labeling, and setting UUIDs for partitions and their associated file systems, where supported by the underlying file system tools.[2] Built on the GNU Parted library (libparted) and integrated with various file system utilities, it handles advanced configurations like hardware RAID, BIOS RAID, and Linux software RAID.[3] As a GNOME application, GParted emphasizes accessibility and is commonly used for tasks like preparing drives for new operating systems, recovering space, or creating shared partitions across platforms.[1] The project was initiated and first publicly released on August 26, 2004, as version 0.0.3, with ongoing development by the GParted team.[4] The latest stable version, 1.7.0, was released on January 30, 2025.[5] Licensed under the GNU General Public License version 2 or later, GParted is distributed via SourceForge and integrated into many Linux distributions.[3] For broader accessibility, GParted is available as GParted Live, a lightweight bootable GNU/Linux distribution that runs on x86-64 hardware with at least 640 MB of RAM, allowing partition management on systems like Windows or macOS without installation.[6] This live environment includes updated kernels and tools to ensure compatibility with modern hardware and file systems.[6]History and Development
Origins and Initial Release
GParted was developed as a GNOME-based graphical user interface for the command-line tool GNU Parted, providing a visual frontend to simplify disk partitioning tasks that were otherwise handled through text-based interfaces.[1] This design choice leveraged the libparted library from the Parted project to detect and manipulate partitions, making it accessible within the GNOME desktop environment.[1] The initial motivation stemmed from the need to address the steep learning curve and error-prone nature of command-line partitioning tools such as fdisk and Parted, particularly for Linux users who sought an intuitive, graphical alternative without dependencies on non-GNOME libraries like Qt, as seen in tools such as QTParted.[7] Created by Bart Hakvoort, the project aimed to contribute to the free and open-source software community by offering a practical solution for non-expert users managing disk space, resizing partitions, and reorganizing storage.[8] The first public release occurred on August 26, 2004, as version 0.0.3, marking the debut of this community-driven effort with early contributions from testers and translators in the open-source ecosystem.[4] Prior to this, versions 0.0.1 and 0.0.2 were used internally for testing.[7] Early adoption was prominent within the GNOME desktop environment, where GParted quickly became a standard tool, and it was integrated into major Linux distributions such as Ubuntu, facilitating widespread use among users for routine disk management.[7] This evolution later extended to GParted Live, a bootable version for standalone operation without an installed OS.[9]Key Milestones and Versions
GParted's development has been marked by steady releases that enhance compatibility with evolving storage technologies and filesystems. The project celebrated its 10-year anniversary on August 26, 2014, coinciding with over 200 contributors, support for more than 50 languages, and exceeding 17 million downloads on SourceForge.[7] In June 2014, version 0.19.0 was released, featuring bug fixes for ext2/3/4 filesystem operations using e2image and improved dialog visibility for lower-resolution displays.[10] The 15-year milestone arrived on August 26, 2019, with 245 contributors, translations in over 60 languages, and more than 27 million downloads accumulated.[7] This period saw the release of version 1.0.0 on May 29, 2019, which introduced support for the F2FS filesystem, online resizing of extended partitions, and a major migration to the Gtkmm 3 library for modernized user interface capabilities.[11] Earlier enhancements to RAID handling, such as support for Linux software RAID in version 0.5.0 (December 2009), laid the groundwork for improved array management in subsequent updates.[7] Reaching its 20-year anniversary on August 26, 2024, GParted highlighted 282 contributors, ongoing multilingual support, over 34 million downloads, and adoption across more than 250 countries worldwide.[12] This milestone also underscored the project's transition to GitLab for version control in May 2018, hosted under the GNOME infrastructure, complementing its long-standing presence on SourceForge.[13] In March 2024, the GParted forum was closed, directing community discussions to other platforms such as GitLab issues.[14] Community-driven efforts continue through these platforms, with releases synchronized to upstream libraries including e2fsprogs for ext filesystems and ntfs-3g for NTFS operations.[2] As of November 2025, the latest stable release is GParted 1.7.0, issued on January 30, 2025, which adds experimental support for bcachefs on single-device filesystems and recognition of Network Block Devices (NBDs), alongside preventing unnecessary LVM volume group activation during probing and requiring libparted 3.2 or later.[15] Other notable milestones include the addition of online resize capabilities for select filesystems, first enabled in version 1.0.0, building on core partitioning features established in early releases.[7]Core Features
Partition Table and Device Support
GParted supports two primary partition table types: the MBR-based msdos format, which is suitable for legacy BIOS systems and limits disks to a maximum of 2 terabytes with 512-byte sectors while allowing up to four primary partitions or three primaries plus one extended partition containing logical partitions, and the GPT format, which enables support for UEFI systems and disks exceeding 2 terabytes by utilizing 64-bit logical block addressing and up to 128 partitions by default.[16] The application automatically selects msdos for disks under 2 terabytes and GPT for larger ones when creating new tables, ensuring compatibility with modern hardware requirements.[16] In terms of device compatibility, GParted operates on a wide range of storage media, including SATA, IDE, and SCSI hard disk drives; USB flash drives and sticks; solid-state drives (SSDs), including NVMe interfaces; and RAID configurations such as hardware RAID, BIOS-assisted RAID, and Linux software RAID arrays.[2] It also handles logical volume managers like LVM and encrypted partitions using LUKS, provided the underlying devices are accessible.[16] GParted accommodates various sector sizes, ranging from 512 bytes to 4096 bytes and beyond, with automatic detection to ensure proper alignment and operation across different hardware.[2] For partition alignment, users can configure boundaries to MiB (mebibyte) for optimal performance on modern operating systems, RAID setups, and SSDs to minimize write amplification, or to traditional cylinder boundaries for compatibility with pre-2000 hardware; an "none" option is available for advanced manual control.[16][2] Partition flags in GParted allow for setting attributes that define roles and behaviors, such as enabling or disabling boot for bootable partitions, hidden to conceal them from operating systems, lba for large block addressing on MBR tables, legacy_boot for compatibility with BIOS on GPT disks, and raid or swap to indicate array membership or paging use, among others like diag, ESP, irst, LVM, palo, prep, Msftdata, and Msftres depending on the table type.[16] These flags are managed through the graphical interface to configure partition properties without altering data contents. For data rescue from corrupted or lost partitions, GParted integrates tools like TestDisk to scan and recover partition structures and PhotoRec to retrieve individual files from supported filesystems such as ext2, fat16, fat32, ntfs, reiserfs, and jfs, facilitating attempts to restore accessibility before further modifications.[16][17] This feature is particularly useful when partition tables are damaged but underlying data remains intact.[2]Filesystem Operations
GParted provides a range of filesystem operations essential for disk management, including detection, creation, resizing (grow and shrink), moving, copying, checking and repairing, labeling, and setting UUIDs. These operations enable users to manipulate filesystem structures without data loss in most cases, relying on underlying tools like e2fsprogs for ext filesystems, dosfstools for FAT, ntfsprogs for NTFS, and btrfs-progs for BTRFS. All operations typically require the target device to be unmounted to ensure safety and integrity, though online resizing is supported for select filesystems such as ext3/ext4, BTRFS, JFS, NILFS2, LVM2 PV, and XFS when the kernel and required software provide the necessary capabilities.[2] Detection identifies the filesystem type on a partition using libparted and additional probes, allowing GParted to display accurate information and enable relevant operations. Creation formats a new partition with the chosen filesystem, invoking tools like mkfs equivalents (e.g., mkfs.ext4 from e2fsprogs). Resizing operations adjust the filesystem size: growing expands capacity, often preserving data, while shrinking reduces it after data compaction; however, not all filesystems support both, and XFS notably lacks shrink support, requiring alternatives like copying to a smaller partition. Moving and copying relocate or duplicate filesystems, with copy operations using tools such as ddrescue or filesystem-specific cloners (e.g., ntfsclone for NTFS) to maintain data integrity, necessitating an unmounted source to prevent corruption.[2] Checking and repairing scan for errors and fix inconsistencies using filesystem check utilities, akin to fsck (e.g., fsck.ext4 for ext4, fsck.ntfs for NTFS), which GParted integrates to automate the process. Labeling assigns a human-readable name, and setting UUID changes the unique identifier, both useful for boot configurations and mount options; these are supported via tools like tune2fs for ext filesystems or btrfs property commands. GParted's support varies by filesystem, with full operation availability for Linux-native ext2/ext3/ext4, FAT16/FAT32, NTFS, and BTRFS, while others offer partial capabilities. The following table summarizes support across key filesystems, based on GParted's integration with required software packages. Note: ReiserFS support was removed from the Linux kernel in version 6.13 (2024); Reiser4 requires out-of-tree kernel patches and is not recommended. Bcachefs support (as of 1.7.0) is experimental for single-device filesystems only. For a full list, see official documentation.[2][18][5]| Filesystem | Detect | Create | Grow | Shrink | Move | Copy | Check | Label | UUID | Required Software |
|---|---|---|---|---|---|---|---|---|---|---|
| ext2/ext3/ext4 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | e2fsprogs |
| fat16/fat32 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | dosfstools |
| ntfs | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ntfs-3g/ntfsprogs |
| btrfs | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | btrfs-progs |
| xfs | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | xfsprogs, xfsdump |
| linux-swap | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | util-linux |
| lvm2 pv | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | lvm2 |
| reiserfs | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | reiserfsprogs* |
| reiser4 | Yes | Yes | No | No | Yes | Yes | Yes | No | No | reiser4progs* |
| hfs/hfs+ | Yes | Yes | No | Yes | Yes | Yes | Partial | No | No | hfsutils/hfsprogs |
| exfat | Yes | Yes | No | No | Yes | Yes | Yes | Yes | Yes | exfatprogs |
| nilfs2 | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | nilfs-utils |
| udf | Yes | Yes | No | No | Yes | Yes | No | Yes | Yes | udftools |
| ufs | Yes | No | No | No | Yes | Yes | No | No | No | None |
| minix | Yes | Yes | No | No | Yes | Yes | Yes | No | No | util-linux |
| bcachefs | Yes | Yes | Yes | No | Yes | Yes | Yes | No | No | bcachefs-tools** |
| jfs | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | jfsutils |
| f2fs | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | f2fs-tools |
| zfs | Yes | No | No | No | Yes | Yes | No | No | No | None |
Usage and Operations
Installation and Booting
GParted is primarily distributed as a standalone live environment via the GParted Live ISO, with the latest version being 1.7.0-8 as of 2025, designed for x86-64 architecture and requiring a minimum of 640 MB of RAM to utilize all features.[9][5] This ISO can be booted from USB flash drives, CD-ROMs, PXE servers, or hard disks, enabling access to the full disk without interference from a mounted host operating system.[6] To create bootable media, users on Windows can employ tools like Rufus to write the ISO to a USB drive, while Linux users may use thedd command for the same purpose, ensuring the target device is properly identified to avoid data loss.[19][20] Booting involves inserting the media, powering on the computer, and selecting the appropriate boot device in the BIOS/UEFI settings, often prioritizing USB or CD-ROM over the hard drive; upon loading, the system prompts for keymap, language, and video mode selections before entering the live session.[20]
For native installation on Linux distributions, GParted is available through package managers, such as sudo apt install gparted on Debian- and Ubuntu-based systems, providing the application without the full live environment.[9] Advanced users can compile from source using the official GitLab repository at gitlab.gnome.org/GNOME/gparted, following the build instructions in the README for dependencies and configuration.[13]
GParted runs natively on Linux hosts via the installed package but requires the live boot method for Windows and macOS compatibility, as there is no native installer for those platforms; while possible in Windows Subsystem for Linux (WSL), it faces significant limitations in accessing and modifying host disk partitions due to WSL's virtualized environment.[1][21] In the live environment, GParted launches automatically from the desktop menu upon booting, with root privileges enabled by default for disk operations, eliminating the need for manual sudo elevation.[20]
Basic Partition Management
GParted provides a graphical user interface for managing disk partitions, featuring a visual display area that represents disks and their partitions as cylinders or bars, allowing users to see the layout at a glance. Right-clicking on a partition or unallocated space brings up a context menu with common actions such as New, Delete, and Resize/Move, streamlining basic operations. Additionally, a Pending Operations pane, accessible via the View menu, previews queued changes before they are applied, helping users verify their intentions.[16] To create a new partition, users select unallocated space in the graphical display, choose Partition → New from the menu, specify the size and location within the free space, and select a filesystem type such as ext4 for Linux systems. The operation is added to the queue upon clicking Add, but no changes occur until explicitly applied.[16] Deleting a partition involves selecting it in the display, selecting Partition → Delete from the menu, which marks the space as unallocated and frees it for reuse, though the data is not recoverable without backups. For resizing, users select the partition and choose Partition → Resize/Move, then drag the boundaries or enter values to expand or shrink it; shrinking operations include warnings about potential data loss if space is insufficient for the filesystem contents.[16] After creation or for existing partitions, users can edit the label by selecting Partition → Label File System, entering a name that aids in identification, or generate a new UUID via Partition → New UUID, which is particularly useful for configuring bootloaders like GRUB that rely on unique identifiers.[16] All basic operations are queued in a non-destructive manner, allowing users to review and modify the list in the Pending Operations pane before execution; to commit changes, select Edit → Apply, which processes the queue sequentially, while users can cancel individual steps or the entire queue prior to starting.[16] Unallocated space is visualized clearly in both the graphical and text views of the interface, enabling users to select and manage it directly; merging adjacent unallocated regions can be achieved by resizing enclosing partitions, such as extended partitions, to consolidate free space for new allocations.[16]Cloning and Advanced Tasks
GParted supports cloning partitions through a copy-and-paste mechanism, allowing users to duplicate a single partition to unallocated space on the same or another disk while preserving the filesystem structure and data contents. To perform this, the source partition must first be unmounted, after which it is selected and copied via the Partition menu; the paste operation then targets unallocated space, where users can adjust the new partition's size, location, and alignment before applying the changes. This process generates a bit-for-bit copy, but duplicate UUIDs or labels on the cloned partition may lead to boot or mounting conflicts, necessitating post-clone modifications such as regenerating the UUID or relabeling the filesystem.[16] During the paste operation, GParted permits resizing the cloned partition, enabling it to fit available space or expand as needed, provided the target area is sufficiently large; errors occur if the target is smaller than the used space in the source, preventing incomplete clones that could result in data corruption. For full-disk cloning, users typically copy each partition individually rather than the entire device, as GParted operates at the partition level and does not natively support direct device-to-device imaging. Operations are queued and applied in batch via the Apply button, allowing complex sequences such as resizing a partition followed by moving and copying others without intermediate commits.[16] Moving partitions in GParted relocates them on the disk without data loss, facilitating reordering or reorganization, particularly useful for aligning boot partitions or consolidating free space; this is achieved by selecting the unmounted partition, using the Resize/Move tool to drag or specify a new position, and applying the changes. Such moves are computationally intensive for large partitions or drives, as they involve shifting all data blocks, and can extend operation times significantly on mechanical hard drives compared to SSDs. Caution is advised when moving boot-related partitions, as misalignment may render the system unbootable, requiring subsequent flag adjustments or bootloader reconfiguration.[16] Advanced tasks in GParted include data rescue from lost or deleted partitions, which can be performed using integrated tools like TestDisk for recovering partition tables and PhotoRec for undeleting files from damaged filesystems. To enable this, users run TestDisk from the GParted Live environment to analyze the disk and restore lost structures, or PhotoRec to carve files based on signatures regardless of the filesystem. These tools are particularly effective for logical errors but less so for physical damage.[17][22] GParted allows setting partition flags to denote special attributes, such as the "boot" flag for EFI system partitions or "raid" and "lvm" flags for multi-device setups involving RAID arrays or Logical Volume Manager (LVM) volumes. Flags are managed via the Partition menu, where users enable or disable them post-creation or modification; for RAID and LVM, prior activation is required using commands likemdadm --assemble --scan for RAID or vgchange -a y for LVM to ensure accessibility during operations. Alignment optimization, selectable during resize, move, or copy actions, uses MiB boundaries (1,048,576 bytes) to reduce write amplification on SSDs and improve performance in RAID configurations.[16]
Limitations and Best Practices
Technical Constraints
GParted exhibits several inherent limitations stemming from the underlying technologies and tools it relies upon for filesystem and device management. One key area involves gaps in filesystem support, where certain operations are unavailable or restricted. For instance, XFS filesystems cannot be directly shrunk, though indirect shrinking is possible via GParted's copy functionality.[2] APFS and ZFS filesystems receive only detection support, with no capabilities for modification, creation, growth, shrinking, checking, labeling, or UUID handling; operations are limited to moving and copying.[2] Additionally, creating exFAT filesystems requires the exfatprogs package, and even then, growth and shrinking are unsupported.[2] Size constraints are dictated by partition table formats. With the MBR (msdos) partition table and 512-byte sectors, the maximum partition size is 2 TiB, and partitions must start within the first 2 TiB of the device.[16] These limits do not apply to GPT tables, which support larger capacities. Device-level constraints further bound GParted's operations. It does not support direct configuration of hardware RAID arrays, as such setup occurs at the firmware or BIOS level rather than through partitioning tools.[16] NVMe and SSD devices are fully compatible, but for safety during resize, move, or copy operations, the target partition must be unmounted to prevent data corruption.[16] Online operations, such as resizing mounted partitions, are restricted to filesystems enabled by the Linux kernel, like growing ext4 or XFS, but most destructive actions require unmounting.[2] Cloning capabilities are partition-specific rather than disk-wide. GParted performs partition-by-partition cloning via copy and paste, without a direct full-disk cloning feature; attempting to clone a running operating system necessitates booting from a live environment to unmount the source.[16] GParted depends on external command-line tools for many filesystem operations, leading to potential failures if packages are absent from the live image. For example, NTFS resizing requires ntfsresize, and its absence will prevent the operation.[23] These dependencies ensure broad compatibility but introduce risks in minimal environments.| Filesystem | Key Limitations |
|---|---|
| XFS | No direct shrink; grow and check supported with xfsprogs.[2] |
| APFS | Detect, move, copy only; no modify or create.[2] |
| ZFS | Detect, move, copy only; no modify or create.[2] |
| exFAT | Create requires exfatprogs; no grow or shrink.[2] |