I want to learn more about file systems from the practical point of view so I know what to expect, how to approach them and what experience positive or negative you had / have.
I found this wikipedia’s comparison but I want your hands-on views.
For now my mental list is
- NTFS - for some reason TVs on USB love these and also Windows + Linux can read and write this
- Ext4 - solid fs with journaling but Linux specific
- Btrfs - some modern fs with snapshot capability, Linux specific
- xfs - servers really like these as they are performant, Linux specific
- FAT32 - limited but recognizable everywhere
- exFAT - like FAT32 but less recognizable and less limited
Random thoughts, no particular order
I think btrfs was the default the last time I installed Bazzite, but I don’t really know anything about it so I switched it to ext4. I understand the snapshot ability is nice with rolling release distros, though.
It’d been ages since I’d used FAT32 for anything until I made a Debian live USB when I was setting up my pi-hole on an old Core2Duo recently. It would only boot on FAT32 for reasons I probably once knew. 😆
NTFS was an improvement over the FATs what with the journaling, security, file streams, etc. I use it wherever I still use Windows (work).
Most of my general purpose USB flash drives use exFAT. I like not having to worry about eject/unmount.
NTFS feels rock solid if you use only Windows and extremely janky if you dual-boot. Linux currently can’t really fix NTFS volumes and thus won’t mount them if they’re inconsistent.
As it happens, they’re inconsistent all the time. I’ve had an NTFS volume become dirty after booting into Windows and then shutting down. Not a problem for Windows but Linux wouldn’t touch the volume until I’d booted into Windows at least once.
I finally decided to use a storage upgrade to move most drives to Btrfs save for the Windows system volume and a shared data partition that’s now on ExFAT because it’s good enough for it.
By default, windows does “Fast Boot” which doesn’t make booting any faster, but does have the benefit of leaving the volume in a mounted state when you shut it down.
Oh, right. Fast Boot. I forgot about that bundle of joy.
But that’s wasn’t the only instance of an NTFS volume suddenly being broken. Another favorite was when I shrunk a volume on one disk from Linux (and then remembered that Windows correspond done it better) and rebooted to have it fixed and Windows proceeded to repair one on a different disk.
Sure.
Bazzite defaults to btrfs and yeah this distro with rolling back changes is on another level.
Well you probably used it if you had any brand new USB as it’s the default. I’m trying to flash my USBs for now with exFAT or NTFS…
NTFS is like Windows - the necessity when nothing else will work.
Wait what. exFAT can make you not to worry about eject/umount?
I mainly started using exFAT on flash drives (even on new ones) since it is interoperable between Windows, Linux, and Intel Mac. To be clear, I never don’t unmount the drive properly under normal conditions, but I remember reading around the time it was introduced that the Windows implementation guaranteed the buffers were flushed after every write (meaning no unwritten data remains when the activity indicator on the drive stops blinking) but now I can’t find any evidence that was ever the case. Wouldn’t be the first time I got bad info from the Internet. 🤷♂️