Been using Linux for a few months now in dual-boot mode on both my desk top and my laptop. I am now ready to remove Windows from my laptop. My question. From your experience, what is a good layout of the partitions on my laptop? 250 gig hard drive and 4 gig of ram. If it matters, I’m using Mint 18.3.
If I were you, I would do the following in exactly the order shown:
NOTE: All this assumes GPT partition tables + EFI-only boot on your computers.
- linux-swap @ 12GB
- /boot : ext4 @ 1GB
- / : ext4 @ 30GB
- /home : ext4 @ 30GB
- /usr : ext4 @ 30GB
- /usr/local : ext4 @ 5GB
- unallocated space @ 121GB
- /boot/efi : fat32 @ 0.3GB
- It has to be at the beginning of the disk, to improve performance. Due to more than enough space on your disk, I chose to set the swap partition to 3 times the available RAM.
- Secondary partition, due to performance reasons. Set to at least 1GB to have plenty of space for older kernels, etc. One of the nightmares of Linux users is to fill up the /boot parition and not being able to change anything there and possibly not being able to boot the system, except after a choreful cleanup.
- Third partition due to performance reasons. Root partition with more than enough space.
- /home partition with enough space? You may increase it if you download tons of stuff.
- Where all your apps are saved. For me, 30GB is enough. You should increase it if you’re using photo, music or video production software.
- Config files for your apps. 5GB is too much, but I rather have a bit too much than having a tiny bit too little space in like 3 years of daily usage.
- Linux really doesn’t waste space. It is very kind and thrifty. I think you can provide much more flexibility, without downsides, when you leave some space open. You don’t know what you need the space for in 3 years and you certainly don’t need 100GB on your /home or root partition, except you download tons of stuff. But, if you download so much, you should save it on a separate drive, anyway. So, keep the not yet needed space in standby mode.
- Put this at the end of the disk. It’s just there to assure that EFI is running correctly. Doesn’t need performance, it just needs to be there, uncorrupted, that’s it. It also has to be FAT32, you cannot change that.
This is how I would probably do it if I were you. The layout is the most important part, as you can change the sizes to suit your needs. The sizes that I chose there are way more than enough for an average user, though. You may also change the file system types on the partitions, except on swap and efi partitions. I don’t see the need in that, though.
@Akito, this is a most fascinating post! I may have read it about four times, and still need to look a bit more.
A naive question. If I create such a partition layout on a clean drive and install from a live disc, will the installation routine fill those partitions as mapped out? Is that the reason for using UEFI rather than BIOS?
i have been thinking of switching to an ssd recently and was wondering in regards to this list about putting something like /var on a separate hdd to help mitigate all of the extra writes.
Well, according to my experience all the fuss about short SSD life is overexaggerated. I have a good quality SSD and after 5 years of DAILY HEAVY usage (I’m too lazy to have mercy) it is now on 95% health, according to CrystalDiskInfo. If all the scaremongering about the SSD life would be true, it should’ve died 2 years ago, because of my sadomasochistic behaviour towards the SSD, as I don’t care how much is written to it in all these years.
So, if I were you, I would leave
/var on the SSD with no worries. The worst I could imagine to happen is that it will fail after 2 years. By then a new SSD will be even cheaper, so as long as you keep backups, I wouldn’t worry about the SSD situation, at all.
I typically use what ever default partitioning the given distro decides to create during installation.
In regards to SSD life, I can agree and confirm with Akito. As long as you don’t buy the cheapest of the cheap, they should last for many years. I have a Samsung 840 120GB that’s been heavily used for nearly 6 years now and is still in good health.
I do that as well Mike, partly because I really can’t be bothered with all the faffing around with things. I use a Samsung 860 EVO every day now and got it because of another recommendation on Samsung SSDs from someone who had used theirs for a number of years and it wasn’t that expensive either
@Akito, this was exactly what I was hoping to get in a reply. Thanks!
That reply Akito was right on the mark! Exactly the way it should be done. The only drawback I could think of, would be it would be a little hard for a newbie to handle(?).IMHO, a newbie should do as MikeREM typically does, and after he is somewhat familiar with partitioning, do exactly as you describe.
thanks for the input
I’m another one who usually accepts partitioning defaults during installation (in Ubuntuland)… having used UNIX for 25 years - I kinda HATE having to tweak things, delete files in /var/ when the mail spooler fills it up (yeah it will save you stalling your system if /var is on a separate partition - but I don’t care - a mail server should be monitored, and should generate alerts at 85, 90, 95%)… I actually kinda prefer to just have “/” - that’s it, with swap (if required - in my experience, with 16 GB RAM, hardly ever even need swap) I prefer a swapfile to a partition… but sometimes I’ll delete it…
CentOS and some other distros still do annoying things like arbitrarily decide that /home should be its own filesystem and it should be “x” size - so I then have to go and blow it away, and then re-allocate that space in LVM to “/”…
My “gaming” desktop rig has a 240 GB SSD for “/”, and 1.5 TB HDD for sundries… I use a bunch of symlinks to folders on the 1.5 TB - e.g. “some” of my steam games library, my Dropbox and Resilio Sync folders…
One thing I kinda hate about Ubuntu (server) - if you accept defaults and go for LVM, it hard-codes the hostname into the VolumeGroup and LogicalVolume devices! PITA - makes cloning problematic to say the least…
@Akito, I thought of a question. But first, thanks again for the layout of the files and their meaning. In the past, I had layout only 3 partitions. “/”, /home, and swap. If I allocated a large “/” at 60 gigs, wouldn’t that be enough for a casual user tho it looks like I might be loosing some performance? That way I would not have to keep track of so many files and it would very simple to backup / restore the system having only one partition to worry about.
My machines have a 40GB root, 16GB swap and the remainder for /home.
Remember if you end up making a small root (say 20GB) and end up filling it or even making a large one and don’t even use a pinch, you can resize later! Simply boot a LiveDVD and use Gparted to shift the borders - it’s easy.
I like Akito’s complete answer.
If the computer has plenty of RAM you may not need a swap disk. I have a Thinkpad 220 with 8 GB RAM, a 160 GB SSD disk, running Ubuntu 18, no separate partition for \home and \usr, no swap disk, no dual-boot. I sometimes use VBox to run Windows 7 (4 GB memory usage) and I have not had any problem. I am not a heavy user of Linux though.
With an SSD, the sequence of files is less important, as access is electronic, and not mechanical.
I would suggest that the swapsize be trimmed significantly, to match ram size.
My setup for SSD and hard disk has
/boot/efi 300megs fat32
and the rest.
The above 3 partitions will never grow in size, and their access via SSD to each partitions is in microseconds.
Following the above, I would have
You do not need to specify the /usr, /var as automatically the installer will locate /usr, /var created within /,
But, if you are worried about integrating the lot, I would do the integration and just increase / to 40gigs in size
To get an idea of your current use, run gparted and look at the graphical output and the numbers it presents. That will help you for the replacement size/selections.
Welcome to our community first of all. Secondly thanks for your reply which I learnt from it.
Thanks Leslie, this make a lot of sense.
I have never partitioned my hard drives, on any of my Peppermint machines, but that is due to the fact, that in 18.04 you don’t have to have a swap partition, Ubuntu 18.04 will sort that out if it needs to automatically. You have 4GB of ram enough for a speedy 64bit OS, like Linux Mint XFCE. Is your hard drive a SSD? If so then I recommend not partitioning, as SSD’s need the room to save to cache your popular apps that you use, but then again I would of thought you’d say if it was a SSD or not? My Desktop has 1TB SSD and I use it without partitioning, let the OS partition it on the install GUI. My laptop which is a dell Elitebook has one of the first generation of SSD’s at 1.8 inches and only 90GB and the Elitebook has only 4GB of ram, it flies along and I never partition it. Though no need to go to any other OS, as Peppermint 10 is more than stable enough for me, not to go hopping.
My other desktop with it’s rare as hens teeth ASUS 2008 motherboard, does have a normal 1TB hard drive in it, for reviewing different OSES I have never partitioned it properly, when installing a different OS on it. Maybe I should to make it run a bit more fluidly? You have to admit though, Linux is far more superior than Windows, when it comes to security, getting the job done and more reliable.
Don’t get me wrong, for I really like Linux. But being new to Linux and have been working with PC since before Windows I am a lot more comfortable with Windows. With Windows, I know how to do what I want to do. And if Windows 10 was not so bad, I would still be a Windows user.
With Linux, I have to learn how to do everything. It’s not fun knowing what you want to do (and how to do in Windows) and having to find out how Linux does it. Even simple things takes can be hard to do (for me).
Maybe you never had a disk failure or a system crash where you could not boot the system. But I don’t see how you can backup a 1 TB system, unless it to another 1 TB disk. I like knowing I can backup the system and restore the system area.
There is a method called deduplication which makes it possible to, usually, reduce the size of what you are backing up drastically. You can read up my personal example here where I back up several devices, each containing more than 10GB of data, to a single backup destination, which is about ~5GB in size. This is especially easy to achieve when backing up whole operating systems.
Depending on what you are backing up, you could probably back up your 1TB disk onto a 500GB disk or in some cases even on a 250GB disk. It just depends on how redundant the data is that you are backing up.