I know my question has been asked quite a few times on this forum but I am not sure if my situation is similar to what was described in those threads hence I decided to create a different one. Anyway here is my story, when I installed Ubuntu, I made a grave mistake by choosing a default dual-boot option (dual boot with windows 10) so I guess Ubuntu automatically allocates 32 GB by itself, now I want to allocate more HDD space to Ubuntu. However, since I didn't manually allocate a partition for Ubuntu during the installation process, I have no idea how. So is there any way to give more space to Ubuntu without deleting everything? Many thanks.

Here is my partition:

sda    disk        465.8G 
├─sda1 part ntfs   426.3G 
├─sda2 part            1K 
├─sda3 part ntfs     450M 
├─sda5 part swap     3.9G [SWAP]
└─sda6 part ext4    35.2G /
sr0    rom          1024M 

So I guess ext4 is my Ubuntu partition ? So how can I resize it ? Many thanks.

1 Answer 1


Before you start the process below, I suggest you backup your user files to an external hard disk, a USB flash drive, or a cloud storage service like Dropbox.

Assuming you have your Ubuntu partition beside the Windows 10 NTFS partition, like in this picture this picture, you first have to boot into Windows 10, and shrink the main Windows partition from there.

There are instructions on how to do that all over the internet, one here. You will see the new space as a black box in Disk Management marked as Unallocated Space.

Now boot into Ubuntu from a live USB, assuming you have one from which you installed your Ubuntu. If not, create one (again?) via pendrivelinux.com and use your existing Ubuntu disk image or download a new one.

You should have GParted installed on your live USB, if not you can get it in the Ubuntu Software Center, Synaptic Package Manager, or by running sudo apt-get install gparted from a terminal window.

Run GParted, find your hard disk Ubuntu main partition, and expand it. If you don't know how, you can find instructions on it here.

Hope that helps, if not just leave a comment.

  • 2
    You probably can't shrink Win10's main partition while it's running. Do that from the Ubuntu live CD as well, gparted is capable of operating on NTFS partitions as well. On the other hand, never resize Ubuntu partitions using Windows tools, as they don't know the file system and will destroy it. See this question. (You did not suggest this, it's just an additional warning to readers who might want to save the time to boot the Ubuntu live CD).
    – Byte Commander
    Jan 29, 2016 at 12:41
  • Are you sure one can't resize a Windows partition in Windows? I'm talking from my (volatile!) memory, but I'm pretty sure I shrunk my Windows partition while in Windows, before I dual-booted my system. I only had this one partition you see in the picture, which is from my computer. I shrunk it by 100 GB, installed Ubuntu, and have never had any problems.
    – theodorn
    Jan 29, 2016 at 12:48
  • 1
    GParted can resize NTFS volumes, but only when they're unmounted. I think the same applies for Windows itself, but I could not find a good resource to proof that. Furthermore, the standard built-in Windows partitioning tools are not capable of moving immobile files (e.g. page file or special file system stuff like the ntfs journal or the mft), so if you've got (parts of) such a file near the end of your Windows partition, Windows itself can't shrink it past that point anyway. I personally trust in Gparted.
    – Byte Commander
    Jan 29, 2016 at 12:58
  • 1
    OK maybe GParted isn't less suitable in meddling with a partition with another OS on it than Ubuntu. I'd like to add to my recommendations, that - regardless from which OS the OP chooses to shrink his Windows partition - that he/she would prepare a Windows Recovery Disk, in order to be able to restore Windows 10, in case something goes wrong. I don't want to be responsible for sinking someone's system, at least not with no way back!
    – theodorn
    Jan 29, 2016 at 13:05
  • 1
    @PhamQuangTuyen Please edit your question and add the output of lsblk -o name,type,fstype,size,mountpoint and we will help you to identify your partitions.
    – Byte Commander
    Jan 29, 2016 at 13:10

You must log in to answer this question.

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