this post was submitted on 16 Feb 2024
83 points (95.6% liked)

Linux

48061 readers
707 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Hi all. I've used Linux off and on for almost two decades now but most recently in a VM. I'm thinking I might make the permanent switch sometime before Windows 10 EOL. My concern is that I have over 12TB of data spanned across many drives, all in the NTFS file system. How is NTFS compatibility nowadays? For a time, I remember it being recommended to mount NTFS as read only. It seems infeasible to convert my current data to a Linux filesystem. Thoughts?

Edit: I don't have time to reply to everyone but thanks for the information and discussion. I'm looking to rearrange some things on my drives to free up one drive entirely and then perhaps give Fedora Linux another spin on a secondary drive along with Windows on another. If all goes well, maybe Windows will get the boot or um never booted again.

you are viewing a single comment's thread
view the rest of the comments
[–] jrgd@lemm.ee 51 points 8 months ago* (last edited 8 months ago) (3 children)

One can comfortably use NTFS to read and write files on modern Linux distributions, but NTFS in general is not very suitable for running applications on or using for long-term usage between a dual-boot. Windows can and will often lock up NTFS partitions whenever it decides to hibernate rather than shutdown or sometimes suspend. NTFS while not being the greatest FS in general will also have worse performance on Linux than Windows. You can totally keep data stores on a Linux system, though you won't be able to make use of many of the advanced features some Linux/BSD-oriented filesystems offer. You can totally keep your drives as they are now, though if you intend to make a full switch you should consider migrating your drives' data over to more Linux-oriented filesystems (be it Btrfs, Xfs, or Ext4 is your choice depending on the features you want). In short, NTFS works but lacks a lot of features and performance that a more suitable filesystem would offer.

[–] lemmyvore@feddit.nl 10 points 8 months ago

Windows will also sometimes leave NTFS filesystems in a dirty state on shutdown and fixes them silently when it starts back up. But it you boot Linux in the meantime the filesystem will appear messed up and you'll have to use ntfsfix if you want to mount it.

[–] cygon@lemmy.world 5 points 8 months ago

I've done this (shared 3 NTFS partition in a dual boot setup) from 2017 to the end of 2023 without issues.

The trick was to disable "fast startup" and hibernation. Otherwise Windows happily shuts down with the file systems in an inconsistent state. It's just a question whether one can live with that in their Windows install.

[–] teawrecks@sopuli.xyz 3 points 8 months ago (3 children)

Windows ext4 compatibility is awful. I have my steam library on an ext4 partition, and occasionally boot to windows for specific games that don't work in linux. I tried mounting my ext4 partition using WSL (which worked fine), adding the steam lib folder to steam (worked fine), but all the games wanted to be verified before being run, and then i finally started one and got a BSOD. I thought maybe steam might complain that some files were wrong, but I didn't expect that lol. But at least steam tried, Epic launcher just flat out refused.

I haven't tried btrfs in windows, I see WinBtrfs exists, I wonder how well it works.

[–] bjorney@lemmy.ca 3 points 8 months ago (1 children)

Windows doesn't have ext4 compatibility. When you mount a Linux partition through WSL you aren't actually mounting the drive itself, you are booting a VM up and piping all I/O through that VM back to an emulated disk device on the host windows OS

You would be better off having your steam library on an NTFS partition - at least your Linux OS can read the drive natively

[–] teawrecks@sopuli.xyz 1 points 8 months ago (1 children)

Yeah, but then I end up in all the threads about steam for linux having issues with NTFS.

[–] desconectado@lemm.ee -1 points 8 months ago (1 children)

It doesn't have issues. It just doesn't work. You need your library on ext3/4 for the games to run on linux.

[–] bjorney@lemmy.ca 2 points 8 months ago (1 children)

For what it's worth I've never had an issue launching a game from a library on my NTFS partition

[–] desconectado@lemm.ee 1 points 8 months ago

I never managed, I used Linux Mint, but I didn't bother to try others.

[–] cygon@lemmy.world 1 points 8 months ago* (last edited 8 months ago)

I'm in the same boat. I've ended up using Paragon's commercial ext4 drivers ($20) and while they absolutely work, they're case sensitive and many Windows apps (especially Bethesda games) open their files with random upper/lowercase spellings that don't match the files.

[–] jrgd@lemm.ee 1 points 8 months ago (1 children)

In general, Microsoft doesn't support many filesystem formats at all. In the same way you shouldn't attempt to cross-run a steam library from Windows on Linux, you really shouldn't do from Linux to Windows. It's in part due to how permissions, execution flags, filesystem case sensitivity, file metadata, is interpreted by Windows applications vs. Unix-like applications. There will be issues going either way when using foreign filesystems in complex tasks.

While it should be expected that the files will have the same contents where they are actually the same (i.e. a Proton game will be the same as a Windows game as it comes from the same steam depot), there is a good chance that translation of interpretation isn't to be 1:1 on either side. Furthermore with using Steam libraries, Steam includes additional data beyond just the game files, which is likely why they are invalidated. A significant portion of visible cross-os portability issues is due to many applications like Steam using OS-specific file structures. More than likely Steam is going to intentionally make the library metadata not fully compatible between Linux and Windows Steam and force validation before launch because there is a good chance the games aren't even compatible builds or otherwise have additional compatibility content dragged along (such as Proton WINE prefixes that are to be completely ignored when launching from actual Windows or having additional libraries, modded executable binaries that have platform-oriented patches).

If you seriously want to run a cross-share of a Steam Library between Linux and Windows, you should really utilize Steam Cloud save. If you want to "deduplicate" your games, your best bet would be if you can open the foreign fs and have a compatible copy of the game, to simply clone the game files to the current filesystem and remove from remote rather than attempt to force a multi-os single-partition shared library. You are less likely to destroy your Steam library if you treat the actual libraries separate, but move the games like they were downloaded externally. Barring being able to do that, just don't cross-share games. Simply reboot into the OS that has the game you want to play instead.

[–] teawrecks@sopuli.xyz 1 points 8 months ago

I accept that the powers-that-be don't want me to do it, I understand that the foolproof user experience is to just play a game made for windows on windows, but if that's how we lived, none of us would be gaming on linux in the first place.

Outside of the download/update of a game, the files should be read only. As long as the files have the right data in them for a given OS, and the OS has proper support to read the files, then I should be able to load them and execute them. Any little permissions or metadata quirk that prevents that from happening is a bug as far as I'm concerned.