Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Is it possible to dual boot two OS's at the same time?

For example: I'm currently dual booting Ubuntu 11.04 and Windows 7. Ubuntu is running on a single 500gb HDD, Windows 7 is running on 1TB RAID 1 mirror. To switch between the two OS's, a reboot is required. Is it possible to switch between the two OS's without a reboot?

NOTE: I'm fully aware of the capabilities of VirtualBox and VMWare Player - I use both. Please don't answer "Use Virtualization!"

EDIT: If this is not possible can you share why it's not possible? To me, it doesn't seem like it would be that difficult. Keep in mind that my vision is unencumbered by knowledge!

share|improve this question
11  
+1 for my vision is unencumbered by knowledge! –  Andrew Neely Sep 8 '11 at 15:28
    
On a mainframe with partitioned memory... –  Fiasco Labs Dec 27 '13 at 8:04

8 Answers 8

up vote 24 down vote accepted

Most, if not all, mainstream operating systems expect to have exclusive acccess to the host computer's low-level functionality (eg: hardware, ports etc.) and do not have any concept of sharing with anything else - it just won't work - so to try and run two OSs simultaneously on the same system requires some form of transparent arbitrator to shield the operating systems from each other - in other words, a virtualization application.

share|improve this answer
    
Virtualization application seems to be the consensus. Are there any free or open source options that you would recommend? –  James Hill Sep 8 '11 at 13:27
1  
It really depends on what you are trying to do as some VM apps are better at some things than others, but in general: Choose your main default OS (ie: boot to Ubuntu or Windows) and then install Virtualbox, VM Player (my two faves) or your favourite VM app then install the other OS as a virtual machine in that environment. –  Linker3000 Sep 8 '11 at 14:30
    
you could create an ubuntu distro based off of colinux. colinux runs the linux kernel as a process on windows, so it is not really virtualization. in a sense, what the original question asked is possible, it just has not been done yet. –  Jay R. Wren Sep 8 '11 at 17:38
    
However, some have been ported to run on operating systems, as opposed to actual hardware - UserModeLinux is the perfect counterexample. colinux (as mentioned by @Jay) is another example of an operating system being "ported" to another. –  new123456 Sep 8 '11 at 20:10

The closest thing you could do... is make use of hibernation. Unfortunately, the operating systems are alien enough to each other that there is no way for both OS'es to be running at the same time without implementing virtualization. Honestly, virtualization isn't as bad as you think anymore... especially when you are using a virtualization platform that supports the "VT" extensions. The guest OSes get the ability to communicate directly with hardware, and have much better memory mapping & such. I've actually setup a guest OS installed directly on a SSD... and it ran faster than the host OS.

share|improve this answer
    
I have no problem with virtualization, I use VirtualBox on every computer that I have. Can you explain the VT extensions that you mentioned a bit more? FYI - This is for home use so I'm looking for a cheap (read:free/open source) way of doing this. –  James Hill Sep 8 '11 at 13:22
    
VT = Hardware Virtualization. Basically, the CPU has some additional extensions (sometimes requires being enabled in the BIOS) designed to facilitate running OSes in parallel. VirtualBox can do this... but if you're stuck with software virtualization it isn't going to perform well. Sometimes called VT-x, VT, AMD-V, Hardware Virtualization, or a myriad of additional names. –  TheCompWiz Sep 8 '11 at 13:25
    
Does VMWare have this "VT" extensions creature you speak of? if so, does it need to be enabled explicitly? –  MasterMastic Aug 6 at 13:26
    
VT is a processor feature. It is a matter of weather or not your CPU has the bits built in or not... and also if the motherboard has support for it. (the processor extensions can be disabled in many BIOSes) Usually it is enabled by default... but can be disabled. My HP Laptop had it turned off... but my supermicro servers have it turned on. –  TheCompWiz Aug 11 at 21:48

You seem to be dismissing Hyper-V and Xen (so called "bare-metal" hypervisors) even though they're closest to what you seem to be asking for. Yes, it's virtualization, but not in the same way that VirtualBox works.

Imagine something like VirtualBox was its own operating system, so you could install a tiny VirtualBox OS, and then run Windows and Ubuntu side by side as virtual machines on top of the VirtualBox OS. Well, that's essentially what Hyper-V or Xen do. It's just a thin virtualization layer between the hardware and the guest operating systems, and it's as close as you can get to directly running them side by side with existing hardware and existing operating systems.

You don't need a separate server for either of these, you'd just install the hypervisor as if it was the first operating system on the machine, and then add Windows and Ubuntu as virtual machines under the hypervisor.

Both Xen and Hyper-V will run Ubuntu and Windows as guest operating systems, although it may not be a supported configuration. Xen is more Linuxy and Hyper-V is an MS product, so I'd suggest picking the hypervisor based on whichever OS you're more comfortable with.

share|improve this answer

Here's the simple, short reason the answer is 'no': What software would control your hardware?

If OS 1 does it, then you are not running OS 2. If OS 2 does it, then you are not running OS 1. If they both do it, then then some other software would have to mediate their shared access to the physical hardware, and that's virtualization (which you ruled out).

share|improve this answer
6  
Unless OS 1 is OS/2. Then your running OS/2 as OS 1. :D –  Kenneth Cochran Sep 8 '11 at 19:32
    
@KennethCochran - That made me grin ;-) –  Unsigned Dec 14 '11 at 18:49
    
That's just plain Warped... Remembering a neat operating system created by a company that couldn't market its way out of a wet paper bag. –  Fiasco Labs Dec 27 '13 at 8:07

Things that come to mind are :
- Memory management ( ram and cache )
- Process management (process threads running )

So you would probably need a man in the middle juggling memory usage and processes between the two OSs .

That would be another os/firmware.
So if somebody has implemented it os will implemented it , you might end up with 3 instead of 2 Oss running simultaneously

EDIT-
Adding what linker3000 wrote : managing of ports

This 'man in the middle ' will essentially become your host OS and the other OSs virtualized , leading you back to what you already knew was a solution

share|improve this answer

All OSs I'm aware of demand total control of the computer hardware.

It is theoretically possible though. Both OSs would need to be designed to:

  • Run as both a master(total hardware control) and a slave(requests resources from the master OS)
  • Relinquish control of the hardware upon request from another OS

If both of these conditions are met it would be possible to run two OSs simultaneously without any kind of virtualization. It would be akin to two OSs using cooperative multitasking. Of course, cooperative multitasking has all but been abandoned because of the issue of poorly written applications refusing to cede control. Perhaps two properly written OSs would play nice. Then again what would be the incentive?

share|improve this answer

There is no other way than virtualization. I find it difficult to get definitve information which guest systems will work for the different hypervisors. http://en.wikipedia.org/wiki/Hypervisor Should be a good start to get some information and Xen might be worth a try, though I would wait for someone to definitely confirm or deny if it supports Windows 7 guests.

share|improve this answer

I know you said no Virtualization, but something like MS Hyper V server may fit your needs

share|improve this answer
    
Hyper-V would require a second machine to act as a server. If I had a second machine that was that powerful, I'd set it next to my other tower and start them both up with different OS's :). Also, from what I understand, getting set up would cost no less than $2k. –  James Hill Sep 8 '11 at 12:41
    
I think you can run Hyper V on a single machine.. –  Akash Sep 8 '11 at 12:43
1  
the V in hyper-v is for virtualization. if the constraint is no virtualization, then hyper-v is not a solution. –  Jay R. Wren Sep 8 '11 at 17:39

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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