Weird partition situation

Hello all,

I’m having a weird situation with my partitions.

My linux Ext4 partition was starting to get full, so I tough: I’ll make the Windows partition a bit smaller and afterwards resize the Ext4 partition to claim the freed space.

However: this does not work, it keeps telling me that my ext4 partition already is at max. possible.

Let me -for a start- give the output of fdisk -l

Schijf /dev/sda: 80.0 GB, 80026361856 bytes
255 koppen, 63 sectoren/spoor, 9729 cilinders
Eenheid = cilinders van 16065 * 512 = 8225280 bytes

Schijf-ID: 0xa42d04a3

 Apparaat Opstart   Begin       Einde     Blokken   ID  Systeem
/dev/sda1               1        3315    26627706    7  HPFS/NTFS
/dev/sda2            3316        8276    39849232    7  HPFS/NTFS
/dev/sda3   *        8799        9598     6426000   83  Linux
/dev/sda4            9599        9729     1052257+  82  Linux wisselgeheugen

Also for ease a screenshot with the partition in Yast (where I try to do my thing)

Would anyone have an idea how to solve this situation?


You can only add space on to the end of the partition, you need to move it first.

That makes sense! but can’t seem to find option by fdisk (even in expert mode) or yast to let me do this, I’ll look a bit further, thanks

You may want a gparted disk.

I agree with gogalthorp in that you need the gparted disk. You can download the ISO for free and create a boot disk that allows you to do many good things. As for the partition, I think you need to move it first towards the Windows partition and then extend the end of it.

I must also say that you most likely could just reload openSUSE now that you have shrank the Windows Partition, in not much more time. In any event, you need to back up any important data before using gparted and prepare for the worse, should it occur.

Thank You,

What you apparently have done is:

  1. shrink the filesystem on dsa2;
  2. made a new partition table with only differs from the original by having sda2 ending earlier.

What you have is now a hole between sda2 and sda3 (from 8277 - 8799).

What I think you want to do is:
3) make a new partition table which only differs from the present one by having sda3 start at 8277;
4) create an ext4 filesystem on sda3 that covers the whole of sda3 (taking the whole of the partition is done by default).

After you reach there you can restore your data and then should have your system back.

When you do not have a clear plan of where you are, were you want to go and how to go there, you will poke into the dark and make things worse.

The tools I would use (but I admit that I stick to good old easy to understand CLI tools) are:
a) any live CD or rescue CD to boot and work from;
b) something like tar to copy the contents of sda3 to another medium (do NOT use dd here!);
c) fdisk to make the new partition table (carefully use the start/end addresses as allready known by you, do not forget to set the partition types and (re)set the boot partition to sda3 as it was);
d) mkfs -t ext4 … to generate the file system on sda3;
e) tar for copying back the data.

…that is indeed what happened!

This issue has been solved:

  • Used GParted live cd to “move” the partition right behind sda2 and claimed the free space for sda3!

Thanks everybody for the help!

You are welcome.