Virtualization – Running Windows and Ubuntu Simultaneously


I had read in some sites that it is possible to run two OS'es in the same machine at the same time through a Virtual Machine software, so you can switch Virtual Terminals with keyboard hotkeys and be on Ubuntu browsing the web and switch to Windows to write a document, no need to restart and choose the other OS, both running simultaneously.

So first thing: Is it true?

If it is indeed possible how can I do that?

And what are the drawbacks?

Sorry if I misunderstood something about Virtual Terminals, although I don't know a lot about them and how they work or even for what purpose they exist.

OBS.: I noticed that my motherboard offers Intel Virtualization Technology, that says that this feature makes use of a hardware design that makes better virtualization (or helps, don't know) than software virtualization.

Best Answer

The short answer is, yes you can run both Windows and Ubuntu at the same time.

The long answer of "how can I do it?" depends on what you want your host OS and what you want your "guest OS" to be. I can think of three possibilities:

First, use Windows as the host. This means Windows will be your primary OS running directly on the hardware (the computer). This is how most people run Windows. Then you will install a program in Windows, such as Virtualbox, or VMPlayer (call it VM). When you launch this program you will be able to install another OS, say Ubuntu, inside the VM as a guest. Before you install Ubuntu in the VM, you will need to assign some resources to the VM such as the amount of RAM and hard-disk space. The VM program will act like a virtual computer with the RAM and hard-disk space you have allocated. Once installed, you will be able to run Ubuntu within the VM, either in a window or in full screen mode.

Second, You can also do the reverse. That is, install Ubuntu as the host on a real machine and install Windows as a guest in a VM inside Ubuntu.

Third, If you have a Mac as a host, you can use a similar VM program called Parallel for Mac and create two VMs, one for Windows, and another for Ubuntu.

See the VM Wiki for additional details.

Also see the Ubuntu Help on Virtual Box, VMWare/Player and Parallel VM for Mac.


The main drawback of running an OS in a VM is access to resources, say RAM. First, the host will need some RAM to run itself and any native programs like a word processor you want to run. The guest can then only use what is left behind. So if you have only 4GB of RAM and Windows (the host) needs 3GB to work well. The Ubuntu as guest can only use 1GB of physical RAM. You may assign more RAM to Ubuntu, but things will slow down as the hard drive will be used as virtual RAM and things will be moved between real RAM and the virtual RAM.

The second drawback is also related to resources. Say you have a very fancy graphics card in your machine. However, in the VM all the hardware is virtual. The default virtual graphics card may have more limited capabilities, but may be chosen as default as it is compatible to a variety of OSs. So the OS in the VM won't be able to take advantage of the fancy graphics card. The difference between the first and the second drawback is the following. You can get more RAM or a bigger hard-drive in the real machine, and then allocate them to the VM. There may not be an easy way to change the default configurations of other aspects of the virtual hardware in the VM. Thus, a faster graphics card in the real machine may not translate to one in the VM.

On virtual terminal:

I don't know what you mean by it. To me, a virtual terminal is a command line interface that can work without the graphical user interfaces (GUI) in Ubuntu and other Linux and similar systems. The concept of a virtual terminal does not apply to Windows. See What is a virtual terminal for? for more details on virtual terminals.

Hope this helps.