Alright, so I'm constantly switching between Windows and Linux, and I'd love to be able to just switch whenever I need without a full reboot, and after a bit of research I came up with xen.

I found the community documentation here, and it seems pretty straightforward, I just need to know if it will work for a normal desktop build as-is (from my limited understanding, the document seems to be aimed for servers), or if it needs a bit of modification.

Also, am I correct in thinking that I'll be able to boot both at the same time, and just switch between both Ubuntu (13.10 I think) and Windows 8? (With some performance impact)

On a side note, if somebody could also tell me (in the comments) if the amd fx-6300 is compatible with xen, that would be great. (It does support virtualization, but I know with intel, there is Vt-d and Vt-x, and I'm not sure if it matters with AMD though..)

marked as duplicate by Eric Carvalho, user364819, David Foerster, RPiAwesomeness, hg8 Nov 2 '15 at 9:22

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • After reading the ArchWiki, it appears that the Fx-6300 Does support the proper virtualization. – codesmith Oct 14 '13 at 0:23

With modern (2006 or so) hardware, virtualization is easier, safer, more convenient, you name it; I don't know why anyone would duel* boot any more, if they have more than minimal hardware. There are many hypervisors to choose from. I understand Xen is a fine choice, though I have no personal experience with it. I have used VirtualBox and VMware. I prefer the former.

(* Yes that's a joke, for those of us who can spell.)

You do indeed run both OSes simultaneously. You'll boot to the primary (host) OS, and when you want, launch an application to install or run guest OSes. The guest(s) will run in their own windows, much like any application. Guests can be constrained to run in a reduced portion of your hardware. On a four core, 8GB machine guests can be made to run as a two (or one!) core machine with 2GB of RAM, and they will run just so, with nearly the same performance as they would on raw metal with those specs. Their "hard disk," by the way, will be a file, a very large file, in your host OS's file system.

Just a couple of things to look out for. You really do want hardware that supports hardware virtualization (VT-x on Intel, AMD-V on AMD chips). Some hypervisors (like Xen) can run specially modified guest OSes on lesser CPUs, and that's commendable, but you'll be happier with hardware support. You'll need RAM enough to cede to the guest OS. Find the option to allow guest OSes to run in (host) swap space and turn it off. Allocate enough RAM to the guest that it won't need to swap internally: 2GB minimum for Ubuntu with Unity or Windows Vista. Windows XP and just about any other Linux OS/Desktop will run fine in 1GB. (Xubuntu for example works fine in 1GB, if you don't make great demands on it from within.) In any case you can probably adjust the RAM and CPU afterward. Also I suggest allocating all disk space for the guest OS's hard disk image up front when you install the guest, when you're given a choice of doing that or allowing it to grow.

Ah! Harrumph -- I should say that video performance will suffer in the guest. Gaming and 3D won't work well. Even so, on my desktop box with oomph, where I keep Flash confined to a guest OS, streaming video on Flash is entirely watchable full screen.

Not the answer you're looking for? Browse other questions tagged or ask your own question.