Great take. But you know the real sneaky one that trips you up? File system.
I wouldn’t call myself a beginner, but every time I install a Linux system seriously I see those filesystem choices and have to dig through volumes of turbo-nerd debates on super fine intricacies between them, usually debating their merits in super high-risk critical contexts.
I still don’t come away with knowing which one will be best for me long-term in a practical sense.
As well as tons of “It ruined my whole system” or “Wrote my SSD to death” FUD that is usually outdated but nevertheless persists.
Honestly nowadays I just happily throw BTRFS on there because it’s included on the install and allows snapshots and rollbacks. EZPZ.
For everything else, EXT4, and for OS-shared storage, NTFS.
But it took AGES to arrive to this conclusion. Beginners will have their heads spun at this choice, guaranteed. It’s frustrating.
I did NTFS because both windows and Linux can read it. Do I know literally any other fact about formatting systems? Nope. I’m pretty sure I don’t need to, I’m normie-adjacent. I just want my system to work so I can use the internet, play games, and do word processing.
I once tried to install my Steam Library in Linux to an NTFS partition so I wouldn’t have to install things twice on a dual boot system. Protip: don’t do that.
chkdsk -f (or r or whatever the third option is), reboot twice, but do it multiple times because steam on linux asks you to reinstall the games in the exact same spot and you accidentally do it because you’re not paying close attention due to the mild panic windows threw at you?
There is a guide here that says you can do it, but my experience was that I installed the games in Windows on my D drive, mounted the drive in Linux (Mint, I think), and when I tried to play them The system locked up. Rebooting into windows, Steam said the game files were corrupt and I had to reinstall them. I’ve always just kept two separate game libraries on any dual boot systems ever since.
Interesting. I was able to use the files perfectly fine from linux, but windows threw a tantrum when I tried to boot and removed everything linux had touched.
I once heard that the trick to this is you need to let Steam “update” every game before you switch OSs. If it doesn’t get to finish this, it will bork. That’s also highly impractical I feel though.
So yeah on my dual boot Linux is for making things and doesn’t see my main Steam library. Win10 is just for games. :p
EDIT: Win11 or 12 won’t be a problem because I’m confining them to a VM for only the most stubborn situations, and doing everything including gaming with Linux. :D
Ext4 is the safe bet for a beginner. The real question is with or without LVM. Generally I would say with but that abstraction layer between the filesystem and disk can really be confusing if you’ve never dealt with it before. A total beginner should probably go ext4 without LVM and then play around in a VM with the various options to become informed enough to do something less vanilla.
It makes adding space easier down the road, either by linking disks or if you clone your root drive to a larger drive, which tends to not be something most “end users” (I try not to use that description but you said it heh) would do. Yes, using LVM is optional.
It’s all skippable if you want… Just put a large / filesystem on a partition and be on your way. There are good reasons for using it in some cases (see my response now).
Can you explain LVM in practice to me? I used ext4 and now Fedora Kinoite with BTRFS, the filsystem never makes any problems and some fancy features just work.
I should also point out that some modern filesystems like btrfs and zfs have these capabilities built into the filesystems natively so adding LVM into the mix there wouldn’t add anything and could, in fact, cause headaches.
In practice, you would split a disk up to keep /home separate from/ and probably other parts of the filesystem too like /var/log… this has long been an accepted practice to keep a full disk from bringing something production offline completely and/or complicating the recovery process. Now, you could use partitions but once those are set, it’s hard to rearrange them without dumping all the data and restoring it under the new tables. LVM stands for Logical Volume Manager and puts an abstraction layer between the filesystems and the partitions (or whole disk if you are into that). This means you can add Disks arbitrarily in the future and add parts of those disks to the filesystems as required. This can really minimize or even eliminate downtime when you have a filesystem getting filled up and there’s nothing you can easily remove (like a database).
It’s good to know but with the proliferation of cloud and virtual disks it’s just easier on those systems to leave off LVM and just keep the filesystems on their own virtual disks and grow the disk as required. It is invaluable when running important production systems on bare metal servers even today.
Lending my voice to this as well for most, my thought is EXT4, without LVM, deferring to the preferred FS for the distro. It is a mature, stable, and reliable choice and logical volumes complicate things too much for beginners.
If dual-booting, yeah, definitely an NTFS partition for shared storage (just be aware that Windows can be weird with file permissions and ownership).
Honestly, I’d say the defaults most distros use will be fine for most users… If they don’t know why they should use one filesystem over another, then it’s almost certainly not going to matter for them
If I read lsblk correctly, I am using ext4 for my whole drive. I have used linux for some years now, but I never bothered to learn more than “next next next done” when installing my OS.
Does BTRFS popOS allow BTRFS? Should I bother for a daily driver?
Only have one HDD and using a laptop, ext4 has been working well enough so far. I only wonder if there is something else I should use for my home drive for better disaster recovery.
It really depends on the disaster. Snapshotting isn’t strong disaster recovery protection. It’s more like I’m about to do something stupid and need to undo. If you need real disaster recovery slap an NVMe in an external enclosure and sink them up occasionally. Or set up sync thing or something like that.
In practice BTRFS is a bit faster and on a Distro like Fedora or Opensuse they already integrate it to do system backups while running (copy on write).
In practice it just works and you dont use all the fancy possibilities, because a majority of the Linux world still sticks with ext4 for whatever reason, so Filemanagers and backup tools wouldnt reach everyone.
Its a perfect example of Linux slowing down itself by desperately refusing to change
Xorg
old Desktops
old software, system packages, damn appimages
no automatic updates
ext4 instead of something modern
Ext4 is from 2008. BTRFS is even older from 2007, but was only declared stable in 2013. More innovation, more testing time, more “dont use it yet, it is unstable”. Ext4 probably never was as they didnt try that much.
Yes, I listened to a podcast about that recently. Linux was far with XFS or something, but then Apple came, improved their HFS and actually made tools for it and it got better.
BTRFS is just as established as etx4, just not as damn old. It also just works, and it has advanced features that are crucial for backups. But I have no idea how to use btrbk and there is no GUI so nobody uses that.
But as a filesystem that just works like ext4, plus the automatically configured snapshots in both regular and atomic Fedora systems and OpenSuse, BTRFS is awesome.
Only outdated Distros that fear change stick with ext4, at least thats my opinion.
I’m still figuring it out. I know ExFAT works across all desktop OS’s, NTFS works with Linux and Windows, and ext4 only works with Linux.
But it took a half hour of googling to figure out you can’t install Linux on NTFS. I planned to do that to ease cross platform compatibility. Oops. I’m also attempting a RAID 1 array using NTFS. It seems to work, but I’m not sure how to automatically mount it on boot. I feel like I might have picked the wrong filesystem.
Hey there friend! Sorry to hear about your woes.
From my understanding in practice, ExFAT is usually better as more of a universally readable storage system for external drives. Think, using the same portable drive between your PS5, friend’s mac, and whatever else. Great for large files and backups! Maybe not as much for running your OS from.
My approach and recommendation would be that you don’t want OS’s seeing each others’ important business anyway. Permissions and stuff can get wonky for instance.
So your core Linux install can be something like EXT4 or BTRFS. I like BTRFS personally because you can set up recovery snapshots without taking tons of space. It does require a little extra understanding and tooling though, but it’s worth looking into. (There’s GUI based BTRFS tools now though. Yay!)
EXT4 is nice and reliable and basic. Not much to say, really! Both can do RAID 1.
Next, a /home mounted separately, this COULD be NTFS if you really wanted that sharing. (BTW there’s some Windows drivers that can read EXT4 I think?)
BUT I feel more organized using a different way:
What I do personally is keep an NTFS partition I call something like “DATA” or “MAIN_STORAGE” and I mount this into my /home on Linux. It’s usually a separate, chunky 4TB HDD or something.
On Windows this is my D:\ drive, and it’s also where I store my project files, media, and whatever else I want easily accessible. Both OSs see those system-agnostic files, but are safely unaware of each other’s core system files.
In Linux, you can mount any folder anywhere, really! You can mount it on startup by amending your FSTAB on an existing install or setting the option during installs sometimes.
So the file path looks something like /home/MonkeMischief/DATA/Music
It’s treated just like any other folder but it’s in fact an entirely separate drive. :)
I hope this was somewhat helpful and not just confusing. In practice, it’ll start to make more sense I hope!
The important thing is to make sure your stuff is backed up.
… Perhaps to a big chonky brick formatted as ExFAT if you so choose. ;)
I am experimenting with Linux on two devices: My daily driver laptop and a desktop.
The laptop is set on a dual boot from 2 SSDs. The first SSD contains Windows and has one 2TB NTFS partition. The other SSD has a 250GB partition for ext4 where Ubuntu lives and a 750GB partition for ExFAT.
The desktop has a 500GB SSD with ext4 for the OS, and has two 4 year old 2TB HDDs for data. This is why I’m trying to run them in RAID 1. For cross compatibility (and what they were already formatted as), they are in NTFS.
What do you think of that? Am I using adequate filesystems?
Makes sense to go simplest as possible on a home pc and even home sever. More important with raid and production capacity planning or enterprise stuff.
Great take. But you know the real sneaky one that trips you up? File system.
I wouldn’t call myself a beginner, but every time I install a Linux system seriously I see those filesystem choices and have to dig through volumes of turbo-nerd debates on super fine intricacies between them, usually debating their merits in super high-risk critical contexts.
I still don’t come away with knowing which one will be best for me long-term in a practical sense.
As well as tons of “It ruined my whole system” or “Wrote my SSD to death” FUD that is usually outdated but nevertheless persists.
Honestly nowadays I just happily throw BTRFS on there because it’s included on the install and allows snapshots and rollbacks. EZPZ.
For everything else, EXT4, and for OS-shared storage, NTFS.
But it took AGES to arrive to this conclusion. Beginners will have their heads spun at this choice, guaranteed. It’s frustrating.
I did NTFS because both windows and Linux can read it. Do I know literally any other fact about formatting systems? Nope. I’m pretty sure I don’t need to, I’m normie-adjacent. I just want my system to work so I can use the internet, play games, and do word processing.
I once tried to install my Steam Library in Linux to an NTFS partition so I wouldn’t have to install things twice on a dual boot system. Protip: don’t do that.
chkdsk -f (or r or whatever the third option is), reboot twice, but do it multiple times because steam on linux asks you to reinstall the games in the exact same spot and you accidentally do it because you’re not paying close attention due to the mild panic windows threw at you?
https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows
There is a guide here that says you can do it, but my experience was that I installed the games in Windows on my D drive, mounted the drive in Linux (Mint, I think), and when I tried to play them The system locked up. Rebooting into windows, Steam said the game files were corrupt and I had to reinstall them. I’ve always just kept two separate game libraries on any dual boot systems ever since.
Interesting. I was able to use the files perfectly fine from linux, but windows threw a tantrum when I tried to boot and removed everything linux had touched.
Oo! That’s definitely a gotcha. Good tip!
I once heard that the trick to this is you need to let Steam “update” every game before you switch OSs. If it doesn’t get to finish this, it will bork. That’s also highly impractical I feel though.
So yeah on my dual boot Linux is for making things and doesn’t see my main Steam library. Win10 is just for games. :p
EDIT: Win11 or 12 won’t be a problem because I’m confining them to a VM for only the most stubborn situations, and doing everything including gaming with Linux. :D
Ext4 is the safe bet for a beginner. The real question is with or without LVM. Generally I would say with but that abstraction layer between the filesystem and disk can really be confusing if you’ve never dealt with it before. A total beginner should probably go ext4 without LVM and then play around in a VM with the various options to become informed enough to do something less vanilla.
This part is skippable, right? Any reason a user should ever care about this?
(note: never heard of LVM before this thread)
It makes adding space easier down the road, either by linking disks or if you clone your root drive to a larger drive, which tends to not be something most “end users” (I try not to use that description but you said it heh) would do. Yes, using LVM is optional.
It’s all skippable if you want… Just put a large / filesystem on a partition and be on your way. There are good reasons for using it in some cases (see my response now).
This would absolutely be my thinking too. When I was still newish to linux, I remember lots of confusion with LVM and trying to reformat drives.
What is LVM?
Can you explain LVM in practice to me? I used ext4 and now Fedora Kinoite with BTRFS, the filsystem never makes any problems and some fancy features just work.
I should also point out that some modern filesystems like btrfs and zfs have these capabilities built into the filesystems natively so adding LVM into the mix there wouldn’t add anything and could, in fact, cause headaches.
In practice, you would split a disk up to keep /home separate from/ and probably other parts of the filesystem too like /var/log… this has long been an accepted practice to keep a full disk from bringing something production offline completely and/or complicating the recovery process. Now, you could use partitions but once those are set, it’s hard to rearrange them without dumping all the data and restoring it under the new tables. LVM stands for Logical Volume Manager and puts an abstraction layer between the filesystems and the partitions (or whole disk if you are into that). This means you can add Disks arbitrarily in the future and add parts of those disks to the filesystems as required. This can really minimize or even eliminate downtime when you have a filesystem getting filled up and there’s nothing you can easily remove (like a database).
It’s good to know but with the proliferation of cloud and virtual disks it’s just easier on those systems to leave off LVM and just keep the filesystems on their own virtual disks and grow the disk as required. It is invaluable when running important production systems on bare metal servers even today.
Hope this helps.
Thanks! So BTRFS does something similar with volumes, but baked in.
Lending my voice to this as well for most, my thought is EXT4, without LVM, deferring to the preferred FS for the distro. It is a mature, stable, and reliable choice and logical volumes complicate things too much for beginners.
If dual-booting, yeah, definitely an NTFS partition for shared storage (just be aware that Windows can be weird with file permissions and ownership).
Honestly, I’d say the defaults most distros use will be fine for most users… If they don’t know why they should use one filesystem over another, then it’s almost certainly not going to matter for them
If I read
lsblk
correctly, I am usingext4
for my whole drive. I have used linux for some years now, but I never bothered to learn more than “next next next done” when installing my OS.Does BTRFS popOS allow BTRFS? Should I bother for a daily driver?
Unraid turned me on to BTRFS, but in the end, you have to want to use the features to make it matter.
Only have one HDD and using a laptop, ext4 has been working well enough so far. I only wonder if there is something else I should use for my home drive for better disaster recovery.
It really depends on the disaster. Snapshotting isn’t strong disaster recovery protection. It’s more like I’m about to do something stupid and need to undo. If you need real disaster recovery slap an NVMe in an external enclosure and sink them up occasionally. Or set up sync thing or something like that.
In practice BTRFS is a bit faster and on a Distro like Fedora or Opensuse they already integrate it to do system backups while running (copy on write).
In practice it just works and you dont use all the fancy possibilities, because a majority of the Linux world still sticks with ext4 for whatever reason, so Filemanagers and backup tools wouldnt reach everyone.
Its a perfect example of Linux slowing down itself by desperately refusing to change
Ext4 is from 2008. BTRFS is even older from 2007, but was only declared stable in 2013. More innovation, more testing time, more “dont use it yet, it is unstable”. Ext4 probably never was as they didnt try that much.
I have heard good things about ZFS as well, but that is mostly for servers?
Yes, I listened to a podcast about that recently. Linux was far with XFS or something, but then Apple came, improved their HFS and actually made tools for it and it got better.
BTRFS is just as established as etx4, just not as damn old. It also just works, and it has advanced features that are crucial for backups. But I have no idea how to use btrbk and there is no GUI so nobody uses that.
But as a filesystem that just works like ext4, plus the automatically configured snapshots in both regular and atomic Fedora systems and OpenSuse, BTRFS is awesome.
Only outdated Distros that fear change stick with ext4, at least thats my opinion.
I’m still figuring it out. I know ExFAT works across all desktop OS’s, NTFS works with Linux and Windows, and ext4 only works with Linux.
But it took a half hour of googling to figure out you can’t install Linux on NTFS. I planned to do that to ease cross platform compatibility. Oops. I’m also attempting a RAID 1 array using NTFS. It seems to work, but I’m not sure how to automatically mount it on boot. I feel like I might have picked the wrong filesystem.
Hey there friend! Sorry to hear about your woes. From my understanding in practice, ExFAT is usually better as more of a universally readable storage system for external drives. Think, using the same portable drive between your PS5, friend’s mac, and whatever else. Great for large files and backups! Maybe not as much for running your OS from.
My approach and recommendation would be that you don’t want OS’s seeing each others’ important business anyway. Permissions and stuff can get wonky for instance.
So your core Linux install can be something like EXT4 or BTRFS. I like BTRFS personally because you can set up recovery snapshots without taking tons of space. It does require a little extra understanding and tooling though, but it’s worth looking into. (There’s GUI based BTRFS tools now though. Yay!)
EXT4 is nice and reliable and basic. Not much to say, really! Both can do RAID 1.
Next, a /home mounted separately, this COULD be NTFS if you really wanted that sharing. (BTW there’s some Windows drivers that can read EXT4 I think?)
BUT I feel more organized using a different way:
What I do personally is keep an NTFS partition I call something like “DATA” or “MAIN_STORAGE” and I mount this into my /home on Linux. It’s usually a separate, chunky 4TB HDD or something.
On Windows this is my D:\ drive, and it’s also where I store my project files, media, and whatever else I want easily accessible. Both OSs see those system-agnostic files, but are safely unaware of each other’s core system files.
In Linux, you can mount any folder anywhere, really! You can mount it on startup by amending your FSTAB on an existing install or setting the option during installs sometimes.
So the file path looks something like /home/MonkeMischief/DATA/Music
It’s treated just like any other folder but it’s in fact an entirely separate drive. :)
I hope this was somewhat helpful and not just confusing. In practice, it’ll start to make more sense I hope! The important thing is to make sure your stuff is backed up.
… Perhaps to a big chonky brick formatted as ExFAT if you so choose. ;)
I am experimenting with Linux on two devices: My daily driver laptop and a desktop.
The laptop is set on a dual boot from 2 SSDs. The first SSD contains Windows and has one 2TB NTFS partition. The other SSD has a 250GB partition for ext4 where Ubuntu lives and a 750GB partition for ExFAT.
The desktop has a 500GB SSD with ext4 for the OS, and has two 4 year old 2TB HDDs for data. This is why I’m trying to run them in RAID 1. For cross compatibility (and what they were already formatted as), they are in NTFS.
What do you think of that? Am I using adequate filesystems?
I’ve settled on btrfs a year ago and I’m happy with it. I like the compression and async trim.
Makes sense to go simplest as possible on a home pc and even home sever. More important with raid and production capacity planning or enterprise stuff.