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?
VFIO is your friend here.
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.
I that that would just be a hypervisor
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.
They sold laptops with this feature at one time. https://www.youtube.com/watch?v=q5M0TwnkWUM&list=PLec1d3OBbZ8IBeFODHXLy0m0okuZhqJnT
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.
Isn’t that basically what passthrough does?
You would be basically making virtual machines at that point.
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
Probably easier to just run one, or both, as a VM.
i know i was asking if it was theoretically possible
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
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… 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.