Advice for a running Linux + Windows on a corporate computer

Hello, everyone-

A little bit of background: my workplace is Windows shop, and we run all the standard software a company would on Windows (Office, an ERP system, etc.), plus some in-house-developed .NET applications. I’m one of the developers, so I also run Visual Studio and do a lot of VBA work in Office.

It’s time for me to replace my aging computer hardware, and my company has given me permission to start playing around with Linux on my new machine. I have dabbled in Linux before, but haven’t done anything substantial–I had it on an ex-Win XP laptop for about two months, until the hardware failed.

Since I’m working for a company, I can’t just abandon Windows for Linux, because I still need to support all the non-Linux stuff we do. As such, I’ll have to run the two OSes side-by-side. If the Linux thing catches on, I also wouldn’t mind spinning up VMs to try out other distros/*nixes or for testing.

I’ve spent a lot of time looking around at the options for how to do this, but I’m not sure which is best. I see three that are viable:

Run Windows as my main OS with Linux on a VM
Probably the easiest, but I fear that if I don’t make Linux my primary OS then I’ll end up pushing it off to the side until I have the time for it, which will inevitably be never.

Run Linux as my main OS with Windows on a VM
This would force me to use Linux every day, but I don’t know whether it’s wise if 95% of the stuff I’ll be doing will still be in Windows. I’ll also admit that for someone who’s largely a noob, all the stuff I’ve read about KVM, GPU passthrough and related topics makes my head spin. Considering the workloads I presented, would passthrough even be necessary?

Run each OS on its own hardware
Not as cost-effective, but I see merit in having something like a Linux laptop that’s separate from my tower.

What advice would you all give? Also, is there an option I may be missing (note that I intentionally excluded dual-booting)?

Thank you.

1 Like

If you are not doing anything that is hardware specific, then like you said, you can use GNU/Linux as the main and run MS Windows in a VM. You can use VMware, VirtualBox, or KVM/qemu/libvirt. It is not hard to get up and running.

As with always if this comes down to your livelyhood, use the tools that make sense. I would recommend running MS Windows as the main, run GNU/Linux in a VM. As time goes on, you can then learn to dual boot, then eventually use GNU/Linux full time and run MS Windows in a VM. That would only make sense if your shop eventually drops MS Windows exclusivity.

1 Like

For a short time, you can probably get away with a small USB drive, installing linux to that. Samsung has these great USB 3.1 drives that are quite fast & should run it well.

Not a great long term solution, but enough to get your feet wet.

I would probably recomend starting with a Linux vm on Windows. Use either virtualbox or vmware since they are also available on Linux.

Then in a day, a month, or a year, whenever you feel ready and have a block of time, switch over to Linux with a windows vm.

1 Like

with persistence… Of course.

When i read your post, I had a flashback to 3 yrs ago, when I also worked for a company with the same setup as yours. Windows house with the entire MS Suite of software & some hardware. Also MS developer dependant (MSSQL, VBA, .NET, NUKE etc…)

My question to you is:

Why do you want to use Linux for work when you are so tied to Windows and are productive/proficient in it?

To me, Work is about productivity and getting out at 5pm or as fast as possible. I was only interested in Linux for work to help us transition to other systems and work flows, but that fresh idea and learning curve was frowned upon by every single person on our team. I had been using Linux at home for several years prior to that so i was comfortable, but as it pertained to work flow, it just wouldn’t work. People/Co-workerers would go out of their way to turn down any type of change even simple things like writing scripts in python… But my situation was different there and lead to my eventual departure which was better for me ! :wink:

Breaking a workflow with your team for the sake of learning a new envirionment / OS can come with some unwanted “issues” , I would go with the VM route for work. If you potentially want to move into a different field with more Linux friendly tools, maybe put the time in to learn away from work. Just my opinion. :+1:

If you can going to be ‘tinkering’ with any OS it’s best to run it in a VM and use snapshots so there is always an undo available.

2 Likes

If you can get the funds to invest in two separate GPUs (even an RX 550 or RTX 1050 would suffice) you could set up a single PC with say, Proxmox to run Linux and Windows on two separate VMs, use something like the AMD 3700X and dedicate 4 cores to each machine, shared input controls but two screens and two operating systems.

This would allow you to use the best of both worlds for a set evaluation period. I do agree change for changes sake is a bad idea though. Linux is great but not so great you end up with two months of downtime while learning the new system.

First of all, straight up better to run linux and virtualize windows. Unless you require any kind of graphics performance. If the only requirement you have is you need to run X program since it’s windows only and no need for high graphics performance ( windows runs snappy in a VM for me at least for desktop performance, real graphics horsepower not so much) Then just do that. Make an image of your current install… or even throw the current drive you have and chuck it into the new machine and run the VM from that.

imo, the way to go is to get the machine you want, and then have the work place buy you another SSD for linux. Including what @Hammerhead_Corvette was saying it will just be quicker and easier to do things that way. If you have O365 or the cloud office software then you can even grab anything from sharepoint, excel, or your email and such from there.

I haven’t dabbled in it at all, but .NET does work in linux and has for a while at this point.

O Y V E Y

1 Like

Hello again, everyone-

Thank you for the input so far—it’s all very helpful to me.

To answer the question some of you (like @Hammerhead_Corvette) have been asking, the reason for learning Linux isn’t so much for the sake of the end-users, but for the sake of our servers–I know there are things we’re doing on Windows Server VMs that we could just as easily do on Linux. Part of what kicked this off is that we just found out the cost for modernizing our Windows infrastructure.

The other reason is that I’m always asking myself, “is there a better way”? I certainly don’t hate Microsoft (although, Win 10 isn’t helping), but I also realize that just because they’re the default for so many things doesn’t mean they’re the best. I see Linux as a way to open up possibilities and give us flexibility.

That said, you all have helped me realize that although I do have a interest in learning Linux for the good of my company, I also have a significant interest in learning it personally, and I have to make sure that I don’t let my personal aspirations conflict with my company’s. It’s sounding like running Windows as my main with Linux on a VM would be the wisest choice. Something like Proxmox (as mentioned by @wertigon) is intriguing, though—I hadn’t really considered running a bare-metal hypervisor. How easy is it to set something like that up?

I also like the persistent USB stick idea. I may have to try that on my home computer.

1 Like

If you want to run Linux primarily for servers, then Proxmox is definitely a good idea to learn - being able to split a 128 core server into 32 4-core servers (well, 31) certainly is a great skill to have and could even remove the need for a server room, depending on how paralell your server computing workloads are. :slight_smile:

1 Like

All this Deja Vu !!!
I also experienced the cost conversations at my previous employer, having a company license this and support contract that all adds up at the bottom line. To me, as it pertains to computing Linux is everything. My first and second choice, but in the corporate environment pragmatic solutions are usually made.

I almost passed out a couple years ago when Licensing MSSQL was a per-core agreement of around $12k. . . We had it sitting on a 24 core machine at the time. Where MySQL was about $3k and Oacle had a per socket agreement. Not sure how much that has changed but you get my point.

I absolutely encourage you to venture into linux, Dual boot at home, or convert older hardware to full Linux and use them. You’ll both learn how to use Linux for yourself, and practice for work. It’s basically what I did over the course of 3 yrs. Spinning up VM’s in Linux is fairly easy, learning some networking and security commands (dig, traceroute, netstat, nmap, firewalld, SELinux etc …) I say Go for it !

Corporate Linux adds up, license fees per server and workstation per year, transition costs, hardware costs to replace incomparable hardware to different models for the next upgrade. Etc. The. Your also running a dual OS estate now as your finance people need windows, and probably others, so now your workstation support has doubled in size.

You get the idea.

That’s not to say you shouldn’t do it, but you just need to be sensible and practical, don’t use Linux because you like Linux, use what solves the problem effectively in your environment.

1 Like

You should seriously consider Windows Terminal. You’ll need Windows 10 version 19 and the Windows Subshell for Linux.

I’ve worked in split environments. I’ve done the Linux on the metal with windows as a VM. For the past 5 months I’ve been doing the reverse, Windows host and Linux VM.

I now use Windows Terminal, I can open it, click a drop down and have a Debian Terminal in a matter of seconds.

It’s super easy, and probably going to be easier to maintain than two OS’s.

2 Likes

run em both on top of proxmox

Yeah, the more I look into it, the more I’m intrigued by this approach. My company is pretty cool with letting me play “mad scientist” (it’s part of my job, actually), and I agree that expanding both my skills and my company’s options is a good thing.

So, next question (and let me know if I should start a new topic): for a “business lab” with a budget of about $2,500, what hardware would you recommend for this? Remember that the main VM will be running Windows for Office/Visual Studio/ERP use, with a secondary Linux VM for learning purposes. I’d also like to spin up other *nix VMs for dev/test/additional learning. At some point I wouldn’t mind for it to grow into its own little private infrastructure, but that would be some time out yet.

Sadly, at my given budget, that’s only a dream.

3900x, asus x570 ws mobo , cheapo gpu unless you’re doing hardware accelerated tasks

$2500 is a lot, but here are some pointers.

  • buy a motherboard with two full 16x PCIe 4.0 lanes, to optimize performance. Bonus if it has 3 m.2 slots too.

  • Basics (Mobo, case, PSU, system disk) should be budgeted around $500-$600. No reason to go overboard with these components but do not cheap out either.

  • Two 512GB SSD sata drives either m.2 or something else, and one 128GB NVMe to run Proxmox would be plenty for hard drives.

  • For RAM, I would go with the fastest 32GB kit available for $200, maybe even make that 64GB.

  • This leaves $1700-$1800 for your CPU and GPU combo. You want many cores and two discrete GPUs.

  • For CPU, there is absolutely no reason not to go threadripper in your case, unless you want to build a compute box / AI box. GPU wise an RX 580 or 590 provides a sweet spot for cheap GPUs right now, or you could wait for the 5600 to show up. Regardless two $150 GPUs leave you $1500 for a third gen threadripper with 32 cores, which means 15 cores per system.

  • If you want a compute box you might want to go Dual RTX 2070 Super for CUDA and a 3900X instead.

Edit: nvm, i glossed over the last posts. Seems there is already a solution under way. I’ll leave this here anyways…

Being in a very similar situation, i’d like to chime in too. I ran Linux for 2 years at work. We are also (apart from me) a Microsoft shop. Office 365, Teams, Sharepoint the whole nine yards.

If you plan on running Linux in such an evironment, plan on spending 10-15% of your time making stuff work. Since many things are now webbased, you CAN make most things work, but not everything. A Windows VM can be a solution.

In the end, i now am back to Windows 10. NOt because it’s great, but because it doesn’t require me to spend time making my Work machine work. It just does it’s job. I’ll probably be back to linux within a few weeks, but really, consider if a Linux VM isn’t the better choice here.

I also second the recommendation for windows Terminal. That thing alone has taken away a huge amount of pain coming back from Linux. It’s still Beta but works reliably. Some features need work, but it does everything i’d ever need it too. With that and WSL, I basically can do anything GUI in Windows and anything Terminal in Linux with access to the same Data. It’s rather remarkable.

If it’s just about wanting to get into Linux and work with it, it’s certainly worth pursuing. Maybe your company has a Terminal Server (mine did for that CRM system that just won’t run on Linux)?

A little too easy cause now I’m desperately trying to figure out how to import a zfs pool from a now dead machine that wants to mount to root!

Yeah, 3rd-gen Threadripper is what I’m hoping for, but if they don’t announce it soon then I’m going to have to go with either 2nd-gen TR or Ryzen 3900X/3950X.