Opened 9 years ago
Last modified 9 years ago
#13676 new defect
Guest windows is squeezed to small size if user32.dll has been altered on a host
Reported by: | wroot | Owned by: | |
---|---|---|---|
Component: | host support | Version: | VirtualBox 4.3.20 |
Keywords: | user32 windows not-signed | Cc: | |
Guest type: | all | Host type: | Windows |
Description
If user32.dll has been altered on a host (some software installation) and is not signed anymore, since 4.3.16 (or 4.3.14) all guests start with a window squeezed to a smallest possible size. VMs start and run normally, just the window always auto-resize to a smallest size. Not happening with 4.3.12 version.
related error in the logs: 00:00:01.122572 supR3HardenedErrorV: supR3HardenedScreenImage/Imports: cached rc=VERR_LDRVI_NOT_SIGNED fImage=1 fProtect=0x0 fAccess=0x0 cHits=32 \Device\HarddiskVolume7\Windows\System32\user32.dll
discussion on the forums: https://forums.virtualbox.org/viewtopic.php?f=6&t=63634
Attachments (1)
Change History (5)
by , 9 years ago
Attachment: | TestLiveCD.zip added |
---|
comment:1 by , 9 years ago
comment:2 by , 9 years ago
First, sorry for the delay. I thought it should notify me about new comments. I have now put my email in the Preferences (though i'm logged with Oracle account which already haas my email..), so i hope i would get notifications in future.
Where exactly can i set guest screen geometry other than dragging the window border? Btw, if i try to drag it, it immediately squeezes back to that small size. I'm not releasing the mouse button yet, but it already jumps back. And if i release the mouse button after that, window size changes to that bigger size for a second and then jumps back to the smallest size. Btw 2, if i shutdown a machine (as you say saved with 259x69 size), uninstall VB 4.3.20, install 4.3.12 and start this machine, it will start ok. Because resolution in the guest OS IS decent, but VB window for some reason is only showing a corner of it when using 4.3.20 (to be exact anything since 4.3.14).
comment:3 by , 9 years ago
One more thing. If i disable Auto-resize Guest Display, then the guest window squeezes to the smallest size on startup, but then you can drag the window's border and it stays like this. But you have to do this every time you start a machine, so it is still annoying.
comment:4 by , 9 years ago
Here's some speculation:
Window size and position on the host is adjusted based on the host display resolution. Qt gets this by calling user32, and is surprisingly robust against the DLL not being loaded. It reports a display size of zero. Vbox believes this, and sets the size as small as it can.
If auto resize is on, then a change in guest screen size triggers a change in host window size which triggers a change in guest screen size, resulting in an annoyed user.
Possible fixes:
- Be (optionally) more lenient with loading user32
- Sanity-check the availableGeometry before using it
The VBox.log file says that even at shutdown, the VM stored a resize hint of 259x69 for screen 0. What happens if you resize the guest window to a decent geometry before you shutdown the VM? And/or if you set the guest screen geometry using the guest screen settings?