Hi,
I am writing windows paravirtual drivers for Xen. A bus driver will enumerate disk and network child devices. A SCSI miniport driver will service those disk devices. I meet a problem when implementing windows hibernate feature. Hibernate always works fine, but sometimes windows cannot resume from hibernation. A ‘black screen’ said ‘The system could not be restarted from its previous location because the restoration image is corrupt’ with an option to delete restoration data and boot system normally. If this ‘black screen’ didn’t display, system can resume and works fine. From error message, it looks like that the restoration image file is wrong. WinDbg log told me that before disk driver start to write image file, all network devices were deleted from system. Hibernate operation can finished without error.
What I guess is
1, My driver set has written some memory but windows hibernate mechanism didn’t allow when start to hibernate. If so, which operation could course that problem?
2, All network device are deleted that isn’t a regular behavior. I think it’s fine but not very sure.
3, Disk driver didn’t write all memory to restoration image file. Disk driver has passed WHQL crash dump test, is there any case I need to take more care of for hibernating?
4, Xen course the problem. I use ‘xm create’ to start the hibernated VM, something like but not the same as press the power button. If so, does windows has any restriction for memory when resume from hibernation?
Please share your experience.
Thanks
Wayne