How can I install Linux and Windows 7 to run side by side, not requiring reboot?

There are two additional ways of running Windows and Linux side by side that you haven't mentioned in your question:

  1. You could install Windows Subsystem for Linux if you are running 64-bit Windows 10. This will let you run some Linux software natively on Windows.
  2. You could run both operating systems side by side (literally) as per this example: enter image description here

I believe that the solution with the least overhead would be using Linux as your primary OS and using KVM (kernel-based virtual machine, not a KVM switch though that could be used as well) to virtualize Windows. You can get Performance comes pretty close to running on bare metal nowadays, and you can even pass through a secondary GPU to the VM or have a single dedicated GPU and use an integrated GPU for the host. You can also use Looking Glass for a much more responsive solution than using spice (which is what virt manager uses by default and is essentially the same as using remote desktop.) https://forum.level1techs.com/t/looking-glass-guides-help-and-support/122387

The only tricky part is hardware compatibility. There are a lot of quirks, like needing a CPU and motherboard compatible with Intel VT-D or the AMD equivalent, needing a new enough GPU that has a UEFI VBIOS (or getting the VBIOS from the manufacturer,) what chips your IO goes through which helps with dedicating peripherals to the VM, etc.

I would recommend reading this blog post to get an idea for what you'd have to do to get it set up. It's definitely not as simple as using virtualbox or VMWare, but if you set it up thorugh virt manager you can skip a lot of the manual steps this guy went through. There's also a lot more information on all of this on the Arch wiki under KVM, QEMU, and VFIO. https://heiko-sieger.info/running-windows-10-on-linux-using-kvm-with-vga-passthrough/

With a 2600k, you'd need to downgrade to the non-K version and check to see if your motherboard supports VT-D as well. I had this same issue with a 3700k and an incompatible motherboard and had to switch them both out, but I ended up making a little bit of money through the ebay purchases and sales.

To elaborate a bit on some of the terminology I used, here are some short descriptions.

Virt-manager (or Virtual Machine Manager) is a GUI application for managing your virtual machines using KVM. You can think of this as making your experience a lot closer to what it would be like if you were using VMWare or VirtualBox. It gives you a wizard for setting up the VM, allows you to change the hardware that's being passed through, shows you graphs of resource usage, and lets you manage power. More info and screenshots are available on the website here: https://virt-manager.org/

Spice provides you with remote access to your VM. It's very similar to using remote desktop, both in use and in performance, but it's used by virt manager by default. I wish I could be more specific with my description but I haven't used it much and even the website is pretty vague as to what it is specifically. https://spice-space.org/

Looking glass is an alternative to using something like Spice but with extremely low latency. It copies the frame buffer from your GPU to your system memory and then spits it out on the screen. It's still very early in development but works very well and is much more suitable for applications that require a more responsive solution. A very comprehensive guide for setup is available on the project's website: https://looking-glass.hostfission.com/quickstart

The other alternative to Spice and Looking Glass is just connecting a display to one of the outputs of a passed through GPU. This is more responsive but will require another display or switching inputs on the same display.


As all the other answers to this question have mentioned, virtualization is the way to go. One way to minimize the performance penalty would be to run Windows as your primary OS, and virtualize a lightweight Linux distro. Off the top of my head, you might try:

  • Lubuntu,
  • Xubuntu,
  • or even Alpine Linux (see this link for a list of "how tos" for various desktops on Alpine)

By choosing a lightweight distro, you may be able to mitigate the performance enough to set up a system you're happy with.