6

Shrinking and expanding partition using gparted in old versions of ubuntu was very fast. Moving a partition was the only time-consuming task and the time depend on size of partition.

In new versions of ubuntu, gparted seems to take a long time shrinking and expanding partitions. I guess it's because it moves fragmented spaces and moving is very time-consuming, so the overall time of shrinking or expanding a partition is shrinking or expanding time plus time taken in moving fragmented spaces. That is huge if we are expanding or shrinking a big partition.

To save time I want to ignore fragmented space. Is there any way to shrink or expand a partition without taking care of small fragmentation using gparted or any other tool?

2 Answers 2

5

Put simply, no, you can't. GParted needs to clean up the partitions as best it can in order to ensure a safe and successful resize.

Here is a longer explanation I found on the GParted forums:

The problem with this is that it requires the file system to be in a definitiely clean state - otherwise, the resize operations (especially shrinking) would destroy data. While this is relatively easy to ensure for the typical Linux file systems (GParted brings the tools required to check and fix them with it on the Live media), it is not so easy for third-parts file systems like NTFS: For these file systems, you often need to boot the "native" operating system for these file systems and perform some magic there. In addition to this, even some of the Linux file systems can not be moved this way, since there is no known way to shrink them (jfs / XFS / Reiser4) - and to enlarge them, they need to be mounted, and growing must be done on-line (jfs / XFS). Depending on your machine, this is not a very clever idea - maybe you perform the resize operations on a system with very little RAM (and modern file systems can consume huge amounts of memory).

Hope that answers your question.

1

I agree with Benjamin Kaiser's response. I'd like to add two more points, though.

First, you shouldn't be resizing partitions on a regular basis. In addition to being a time-consuming operation, partition resizing is risky. This is especially true if the partition resize involves adjusting the start point of the partition, which requires a great deal of the filesystem's data to be rewritten. A power failure, a bug, a system crash, or some other problem can cause damage to the filesystem that will be difficult or impossible to fix. Thus, you should resize partitions only if doing so is absolutely necessary; and when you do resize partitions, you should be prepared to lose all the data they contain. If that data is irreplaceable, you should make a backup before resizing the partition.

Second, if for some reason you need to resize partitions frequently, you should look into logical volume manager (LVM). This enables you to treat filesystems something like files, so that you can add, remove, shrink, and grow them without worrying about start and stop points. This means that you'll never have to adjust a filesystem's start point, thus taking some of the danger out of the process. Unfortunately, Ubuntu's LVM support is weak, especially for desktop editions. LVM is also more complex than using partitions directly, so it'll take some learning, and the complexity can make recovery more difficult should something go wrong. Still, if you need to juggle your partitions a lot, LVM can be a net plus.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .