I'm about to get my first laptop, a Lenovo Ideapad Pro 5i with an Intel Core Ultra 225H processor, 32GB of RAM, and a 512GB SSD. I previously learned Linux on an old, underperforming laptop that couldn't handle Windows. Now, I'm looking to dual boot Linux and Windows but need advice on how to allocate the SSD space between the two OSs. My main use case will involve learning programming with tools like Neovim and using command-line interface tools. I prefer using Linux for everyday tasks like browsing and studying, but I've noticed Windows offers better battery life on this laptop, which is a consideration for tasks where that matters. I also plan on doing some light gaming and emulating older consoles, plus dabbling in video editing as a hobby. Given all that, how much space should I allocate to each OS? I'm interested in possibly trying Arch Linux or sticking with simpler distros like Pop!_OS.
4 Answers
If you really want Windows as your main environment, you could just allocate all 512GB to it and use Windows Subsystem for Linux (WSL) for your programming tasks. That would allow you to enjoy the benefits of both without the hassle of dual booting.
If you're worried about partition sizes, don’t stress too much! You can always repartition later if needed. A reasonable start would be to split the SSD roughly in half between Windows and Linux, then adjust based on your actual usage. Just make sure to shrink the NTFS partition from within Windows, and you should be good to go!
Thanks for the tip! I'm just a bit anxious since this is my first real experience with a laptop.
As a long-time *nix user, I say keep in mind that if you love gaming and the editing tools, you'll want adequate space in Windows. I'd recommend about 300GB for Windows and 120GB for Linux, since you can always install lightweight distros that don't demand much space. But make sure to check each distro’s min requirements before you finalize these sizes.
Honestly, I’d suggest against dual booting altogether. Instead, consider running Linux in a virtual machine (VM) using software like VirtualBox. This way, you avoid potential issues with Windows updates messing up your boot process. You could give Linux 120GB or so in the VM, and that should cover your needs for programming without any complications.

That’s an interesting idea, but I genuinely love working on Linux. It feels more suited for coding!