Re: Win7 guest powers off randomly
Posted: 5. Feb 2014, 15:27
This is a super tricky situation, and I can understand the level of frustration. I've read all posts, and the information there looks reasonably accurate. From the VirtualBox perspective it is definitely the guest OS which requested the VM to be powered off, that much is clear. The guesses above about the ACPI origin is something I can't confirm. The message in VBox.log would be different, mentioning "S5 power state".
The request originates from the VirtualBox guest additions, there should be no other possibility to get the exact log message you're seeing. The riddle is why the guest makes the guest additions request the poweroff (which is passed through "VMMDev", the device used by the guest additions), and why it doesn't mention any trace of this in the Windows event log - just the aftermath on the next boot, that there was an unclean shutdown. There are two ways to get there, either by IRP_MJ_SHUTDOWN or by IRP_MJ_POWER (the latter with the PowerActionShutdown and PowerActionShutdownOff sub-types of minor function IRP_MN_SET_POWER). None of these should be triggered "by accident", as it's driver level stuff which normal code shouldn't be able to get near.
Have you tried updating guest additions, or if you have some reasonably new version tried running without? No idea how much usability hit you have to take, but without guest additions this exact issue should not be possible any more. If there is still some hiccup then there's a higher chance that Windows provides usable diagnostics, but we can't give guarantees.
The request originates from the VirtualBox guest additions, there should be no other possibility to get the exact log message you're seeing. The riddle is why the guest makes the guest additions request the poweroff (which is passed through "VMMDev", the device used by the guest additions), and why it doesn't mention any trace of this in the Windows event log - just the aftermath on the next boot, that there was an unclean shutdown. There are two ways to get there, either by IRP_MJ_SHUTDOWN or by IRP_MJ_POWER (the latter with the PowerActionShutdown and PowerActionShutdownOff sub-types of minor function IRP_MN_SET_POWER). None of these should be triggered "by accident", as it's driver level stuff which normal code shouldn't be able to get near.
Have you tried updating guest additions, or if you have some reasonably new version tried running without? No idea how much usability hit you have to take, but without guest additions this exact issue should not be possible any more. If there is still some hiccup then there's a higher chance that Windows provides usable diagnostics, but we can't give guarantees.