I have a desktop PC with two SSDs—one with Windows installed and the other currently empty, which I plan to use for Linux as I migrate to it. Additionally, I have two 4TB HDDs I intend to configure for NAS storage.
Since I can’t afford a dedicated NAS setup just yet, I’m considering dedicating a portion of the empty SSD to run a NAS solution like TrueNAS or Proxmox for self-hosting. Ideally, I’d like the NAS portion to operate continuously in the background, while allowing me to boot into either Linux or Windows as usual.
Is it possible to set up the NAS environment this way, so it’s always running and accessible, even as I switch between Linux and Windows on my main system?
Not in a way you’re probably going to like.
You could set up a bare metal hypervisor on the system and set up a VM for your NAS, Windows, and Linux and swap between them as needed, but uh, that’s not really an exceedingly pleasant desktop use case, for a number of reasons, one of which is that you really won’t have the normal ‘sit down, and use the computer’ desktop experience.
Alternate option: run the NAS and either the Linux or Windows install in a VM, and keep it booted into, say, the desktop Linux environment with everything else being a virtualized setup.
I’m basically running this setup with Unraid as my hypervisor. It’s definitely doable, but takes a lot of tinkering to get everything up and running and games with super strict anti cheat won’t run at all. I would only recommend going this route if you really enjoy tinkering, I’d say finding a cheap second hand PC for your NAS is probably much less work.
Unless you want to game. Anti-cheats are notorlessly anti-virtual machines.
Fair, but he said he wants to move from Windows to Linux, so I just assumed there wasn’t going to be any of those since, well, they’re not going to run in Linux anyways.
I use Linux full time and I tried using my desktop as my NAS, and even then it was annoying.
Just get a second device to use as a NAS if you actually need one, or if it’s just you, share files on a separate drive/partition between Windows and Linux. It’s not worth getting fancy with one device.
Yeah, your suggestion is the only thing I could think that would even work, but honestly, it’s probably more trouble than it is worth.
An alternative which doesn’t quite meet the requirements, but will be much lower effort would be to format the drive(s) as exFat, which both Windows and Linux can read without issue. Then put them up as a network share in both OSes.
If you are wanting RAID 1 with those two drives…this won’t work unless you are either using hardware raid (maybe you can set it in your bios?) or if you can find a software raid that both windows and linux use. For RAID, maybe just pick one OS and that will be the one that has the share.
I would also recommend against the SSD caching idea with all this other stuff in the mix, wait till you have a dedicated NAS PC. You are going to pull your hair out otherwise.
OP, do you have an old computer, even an old laptop? A NAS doesn’t require much computing power. You can plug your drives in via a SATA to USB adapter. Then you will have a dedicated NAS box and all these problems get 500x easier.
Don’t use hardware raid
As others gave said, the solution is a VM but once setup correctly, you won’t notice.
If Windows is your primary computer, install HyperV, the built in VM manager for Windows. Then create a Linux VM for your NAS.
Once setup, you won’t even notice. HyperV auto saves and reloads the VM whenever you reboot. You don’t even need a window open for the VM, it runs in the background until you run the manager to connect to the VM and see it in a window.
If Linux is your primary OS, do the reverse and put Windows in a Linux VM.
Don’t hassle with Proxmox, etc. That’s for running lots of VM’s and toggling between them.
This is the way.
First off you don’t need a second drive for Linux. You can dual boot with one drive without issues. If Windows decides to bork it the second drive will do nothing.
Second off, why do you want a NAS OS? Couldn’t you just use the second drive for your files? Maybe I’m missing something. I would install Windows and Linux to the first drive and then mount the second drive as extra storage.
Probably he wants the NAS so he can access stuff from other computers and phones.
Depending on the setup it might make more sense to share the files via localsend
Not really, no. I would use either Windows or Linux on the desktop, and run the services and the other OS in VMs.
Personally I use Windows on my desktop, and I have a Linux VM running docker containers. I use that same VM for random Linux tasks I can’t do on Windows too.
deleted by creator
What you’re talking about is a software solution, but the solutions you mention are not standalone software in the way you’re thinking.
Honestly, it sounds like you don’t want a NAS, you just want shared network storage. If that’s the case, make a Fat partition, share it windows, then go configure samba under the Linux side similarly, paying attention to map a user with a matching uid. There will be some wonk happening here and there with file permissions perhaps, but it will work for the most part.
The other options you mentioned are meant to control the entire host, but you may be ready to make that leap yet.
For minimal money, you could also try and get your hands on an older RPi (possibly for free, people just have them laying around), and attach your disks via USB to that, and then you have a basic, but dedicated NAS you can setup the way you like.
Be really careful with fat. It has no safe guards against corruption.
I would format it either btrfs (Linux only) or NTFS (both Windows and Linux)
NTFS will 100% get corrupted under Linux, and 150% with Samba involved.
I’ve never had an issue
WOW, you must be super special. Everyone else has issues: https://www.reddit.com/r/linuxquestions/comments/13k5xc6/why_does_ntfs_corrupt_so_much_more_on_linux/
It’s also a known tagged issue with that driver in the kernel mainttnotes, and a warning on every single distro I’ve ever used when attempting to format something with NTFS.
Lucky you.