Skip Navigation

Best way to make an external usb HDD that is compatible with windows and linux?

Ok i have a 5TB usb hard drive that is mostly used for weekly backups of my system. It is hooked to a raspberry pi and has an exfat file system and used as a samba share.

But i need to occasionally unplug it and connect it directly to some other machines for 2 reasons.

  1. For use with steam on linux (i store my games on it)

  2. For use with obs on windows (i do some screen recording and need to be able to save the output to the drive)

Here's the dilemma. Games that require proton will not launch from an exfat drive (trust me i've tried all the "hacks" and cant make it happen). So i plan to reformat the drive as an ext4 file system.

However, windows does not support ext4 natively. I do have WSL and could probably mount it there but here are the issues.

Another user in my house will be primarily the one using obs and they are not technically inclined (or at least not linux inclined) i want them to be able to plug this device in and just press record and have it output to the drive, this was working fine with exfat but obviously once i reformat it could be an issue.

I have a few options and wanted to run it by here first before committing to the reformat.

Option 1) reformat drive to ext4. Keep it as a samba drive at all times, except when gaming, and have obs output the video to the drive over the network

-is obs capable of doing this reliably?

Option 2) reformat to ext4 and unplug drive when gaming or needing to use obs. Rig up a script to automount the drive with wsl when detected.

-will the mounted drive show up in the windows file explorer natively? Or could i at least pin its location to quick access?
-can i actually create some way for it to automount the drive with no user input required?
-ooh but the distro is on the drive to conserve the laptop's space, could present an issue

Option 3) reformat the drive as part ntfs part ext4 and then plug it in for gaming and obs?

-i believe in linux i could just add the part-uuid to fstab so it only mounts the ext4 portion or maybe i could mount both?
-would windows automatically just mount the ntfs portion?

Imo, option 1 is the best but i would like to have a fail safe in case i ever need to plug it directly to the windows machine. So realistically a hybrid of option 1 and 2 is best. Is there a better way to do this? Will any of these methods work?

33

You're viewing a single thread.

33 comments
  • I just use BTRFS. There's an open source driver for Windows you can install.

    • I'm leaning toward btrfs. Gonna set it up tonight and test. Is there any major differences from ext4 i should know? I know it has snapshots but i read about if you dont use the right kind of drives it can corrupt data, is thus true or not really something i should worry about?

      • It has a lot of differences to ext4 but it's still just a file system. You're not gonna notice any difference just normally using the drive (aside from copying being instant). I've never heard about it causing corruptions on different kinds of drives. I use it on 3 SSDs and one HDD and have no issues.

        • Ok i'm running into some issues. I have formatted with btrfs but immediately it does not work when attempting to mount.

          I had it mounted and then set up with fstab, test installing some games to it but the second i ejected the device and then reattached it it cannot be mounted.

          I get the error

          An error occurred while accessing 'wd_black5tb', the system responded: The requested operation has failed: Error mounting system-managed device /dev/sdb1: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error
          

          I also installed winbtrfs with chocolatey but the drive fails to show up once plugged in and i dont see the drive anywhere

          • It looks like it either didn't get ejected properly and something is corrupt or you're mounting it wrong. It's probably the first tho. BTRFS has very good commandline tools that can help you fix this.

            • Yeah it seems like it was a permissions error. I set the tight permissions and now i have it working

You've viewed 33 comments.