Would it be possible to run two OSs simultaneously by hibernating one of the OSs?

(⬤ᴥ⬤)@lemmy.blahaj.zone to No Stupid Questions@lemmy.world – 47 points –

the way i understand it hibernating an OS dumps ram to a file and powers off, so could it be possible to run two OSs "simultaneously" by alternating between hibernations?

21

Technically yes. There's nothing special about the code running in the CPU. Long time ago there was an application that would switch from Windows to Linux without rebooting. But it was super unstable. You didn't reinitialize all the memory... Some devices on the bus expect to get initialized one time, and can't be reinitialized later after the system's powered on, It's asking for trouble

What you really want to do, is have multiple operating systems running on different cores at the same time. And this is an ideal use case for a hypervisor like Xen which is a microkernel. That will then dedicate a CPU to any operating system you want, so they're running in parallel.

Then swapping between the operating systems is as simple as giving one control of the keyboard video and mouse.

This is as close as you can get to having two different computers running side by side.

Yes, this works. However, you can not (or should not if you possibly could?) modify data on partitions mounted by the hibernating OS. If E.g.Windows and Linux are installed and Windows is hibernating, the NTFS partitions can only be mounted read-only under Linux.

yea i know i meant it as a way to speed up dualbooting. cos having to shut down an os to get to the other one is a bit annoying

If i may ask what OS and for what do you dual boot? Windows and Linux? Gaming?

linux mint and windows for gaming

May I ask, is there a reason you don't use proton/wine instead of Windows? There's lots of downsides to windows nowadays

proton and wine are great but far from perfect.
i wanted to play a small indie game demo just a few days ago, installed it through proton and it didn't have audio. ran it through wine and that was even worse. the overhead of a vm is too much for my machine to run games well

If you tried running it outside steam through wine, you should try again using GloriousEggroll's wine instead of default.

Wine isn't really made for games and (iirc) doesn't include support for a lot of commonly used graphic/audio api's, which GE's version does.

Or if it is through steam and it still didn't work correctly, you could try his version of proton. It gets more frequent updates and some other fixes as well.

Or you really just found a game that doesn't work under proton, in which case you could open an issue so they can fix it at some point

This entire series by Cathode Ray Dude is a wonderful dive into the world of PC boot sequence, for the folks interested in a touch of embedded architecture. His delivery is also on-point, given the complexity and obscurity of the topics.

From this video alone (41:15):

The way this worked was: they installed Xen hypervisor on your PC, put Hyperspace in a VM and Windows in another. Now, you either know what a VM is -- and I don't need to explain why this is terrifying -- or you don't and I need to make you understand so you never independently invent this.

And (43:59):

This is just a bad idea, ok? Virtualization belongs in data centers. Putting some poor bastard's whole OS in a VM is a prank. It's some Truman Show shit. It's disassembling the coach's car and putting it back together inside the gym. It's not remotely worth the trouble and it probably didn't work.

It would seriously stretch the meaning of the word “simultaneously”, but yeah, sure.

in theory, I think you would also need a shared component that enforces the alternating "rules" that both OS understands.

that component also needs to be always awake so it will facilitate hand overs like an OS of OSes.

Its not something ive come across but its almost like youre describing hotswapping Operating Systems?

Someone else mentioned this, but your likely best bet is to have virtual machines instead. If you need windows on occasion but use linux as your daily driver, use a VM on the linux host?

If its more for like gaming and such, youll be able to do VMs still but you will likely need an additional GPU - a bogstandard one just for video output for the host, and then the main GPU is “given” to the VM to use

You would be basically making virtual machines at that point.

Pretty sure I did this accidentally years ago on a macbook that was dual booting windows.

Yes it is possible, I’ve done it before by accident. The problem I ran into is I was using a shared partition for data storage. At the time, if you didn’t properly shut down Windows it would not unmount the disks, and I couldn’t access them from Linux. I’m sure there was probably a way around that, but not without making the hibernated Windows angry.