How did you partition your disk before installing Linux? Do you regret how you set it up?
I’m looking for some real users experiences about this and I’m trying to find the best approach for my setup.
Thank you for sharing!
In 20 years of using Linux my partition scheme has always been to say yes to whatever the OS suggests.
whatever the OS suggests.
Ew. Then you get XFS.
Defaults are usually fine for most users. People who know they are going to distro hop or need to move data later should have a separate
/home
, but that’s about it until you get into special purpose installs.½TB nvme SSD for the OS and any system/user level binary
1TB sata SSD for code projects, docker, and videogames
10tb HDD for just having a massive amount of fairly stable storage space. I gotta tell you I sleep really well knowing that at 4 in the morning a compressed disk image of my work SSD is being written to the hard drive.
I partitioned my disk 50/50 for Windows and Linux with some proprietary software. It didn’t end up working and i whiped my windows install.
Then I bought a new boot drive so my linux and macos install are physically separated.
Just recently repartitioned my MacBook:
1 GB for EFI (vfat)
2 GB for /boot (ext4)
11 GB for swap
224 GB for / (bcachefs)
Grub cannot load a kernel off bcachefs so I need ext4 to bridge the gap. Once the kernel is loaded, it has no problem using bcachefs as root.
This is a laptop. On a desktop that can handle more drives, I would split /home onto a drive of its own.
For Laptops:
- 500 MB - /boot/efi
- 1 GB /boot ext2
- X GB for / with Luks2 encrypted f2fs
And don’t forget: GPT not MBR.
save 80gb for root, sone swap (if not on an ssd) rest for /home. that way reinstalling or switching has minimal risk of losing my /home
/boot/efi, /root
sudo rm -rf *
Two separate EFI boot Partitions if you dual boot. Its not worth letting Windows know about linux. Linux chainloads to Windows boot.
I’ve tried some weird and wonderful partition schemes in the past, but I think I’ve settled down and just go for simplicity. Half a gig for /boot, and the rest for / (in ext4). I’ve tried btrfs, but I’ve never been in the position where I needed snapshots, and ext4 is a lot more simple.
I also like having the flexibility of not having a separate home partition. I back up my super important files, so it doesn’t matter if I lose home (not that I distrohop much anymore, anyway). And I don’t have to stress about whether I’ve made my root partition big enough. For the same reason I use a swapfile rather than a swap partition (though I do need to look in to zram and zswap) - I like knowing that I can resize it easily, even if I don’t really plan on doing so.
@DigDoug @sparkle_matrix_x0x I have differing partition schemes on different machines depending upon their function. On my workstation I have four partitions, a root partition which is on SSD and all the system binaries and files reside there, a /home partition which is on rotary media because speed is less critical space more so, and a backup drive which keeps compressed copies of the /home and /root partitions. On my servers mostly everything is RAID and it’s much more complex and varies according to the function of a particular server.
- 180 MB
/efi
(if needed) - 384 MB
/boot
(for LUKS compatibility) - Remainder
/
(usually btrfs)
- 180 MB
Partitioning is one of those obsolete Unixisms that is best left in the 90s. Only exception is dual booting, but even there partitioning isn’t really very important anymore
Are you going to dual boot? Do you have some other special requirement? If not, there’s no reason to overthink partitioning in my opinion. I did this for my main NVME:
- Partition table: GPT
- /boot : 1GB fat32 partition. Depending on your needs (number of kernels, initramfs’s, other OSs) you might be fine with 500MB or even less. But because resizing can be a pain and I have the space to spare, I would much rather overprovision.
- / : LUKS2 partition containing a btrfs filesystem with all the remaining space
I use a swap file so I don’t use a swap partition. If you want more control over specific parts of the filesystem, eg a separate /home that you can snapshot or keep when reinstalling the system, then use btrfs subvolumes. This gives you a lot of the features a partition would give you without committing to a specific size.
This is the only partitioning scheme I have never regretted. When I’ve tried to do separate partitions I find myself always regretting the sizes I’ve allocated. On the other hand, I have not actually seen any benefit of the separation in practice.
not actually seen any benefit of the separation in practice.
The first time some big download hoses your root, you will be enlightened :-D
Right, so this is exactly the sort of “benefit” I never expect to see. This is not something that has happened to me in ~25 years of computer use, and if it does happen there are better ways to deal with it. Btrfs and zfs have quotas for this, but even if they didn’t it would not be worth the tradeoff for me. Mispredicting the partition sizes I’ll end up needing after years of use is both more likely to happen and more tedious to fix.
Well played NSA…! Anyway :
fabien@debian2080ti:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/debian2080ti--vg-root 28G 25G 1.8G 94% / /dev/mapper/debian2080ti--vg-home 439G 390G 27G 94% /home /dev/sda3 1.7T 1.6T 62G 97% /media/fabien/a77cf81e-fb2c-44a7-99a3-6ca9f15815091 /dev/nvme0n1p2 456M 222M 210M 52% /boot /dev/nvme0n1p1 511M 5.9M 506M 2% /boot/efi udev 16G 0 16G 0% /dev tmpfs 3.2G 1.9M 3.2G 1% /run tmpfs 16G 168K 16G 1% /dev/shm tmpfs 5.0M 24K 5.0M 1% /run/lock tmpfs 3.2G 2.6M 3.2G 1% /run/user/1000
so basically NVMe for system and
/home
in .5T and HDD 2T for backups and rarely accessed files, ext4.No dual boot, no Windows. No regrets.