Linux – Dual Boot At the Same Time

linuxmulti-bootwindows

Assume I have a Linux host, with Windows-7 installed in a partition on the same drive.

Is it possible to boot into Linux, save its state to memory (Hibernate, essentially) then boot up Windows right beside it, close windows when I'm done and restore Linux (All without rebooting).

The goal is to use Linux as my primary OS, and when I need a windows app use snapshot software to load a windows system state snapshot to use the app, then when I'm done close it down and continue working in linux.

I am avoiding the use of virtualization technologies at all costs as I'm also using the windows installation to run games (Unless you can find me an open-source virtual solution that has 100% access to the host hardware, no ifs, ands, or buts) else please avoid suggesting virtual technologies.

Best Answer

Maybe 'kexec' is what you are looking for. Kexec simply loads a new kernel + arguments and an optional initrd, then jumps to the kernels execution point. It should be possible to softboot Grub (at least Grub4Dos).

Have a look at https://wiki.ubuntu.com/RapidReboot#Reboot_into_GRUB

The scripts may need some tweaking to do hibernation instead of a reboot, but this does roughly what you wanted: softboot another OS/Kernel

This will probably only work in one direction, from Linux to Windows. The other direction will be a bit more complicated if not impossible.