I have a 2012 R2 server running hyper-v, with several 2012 R2 guest VMs.
These were stored on a small raid 5 volume of 4 disks, and 2 of them failed. I managed to recover the array to the point of moving the VM storage to another volume.
When starting two of the VMs, one has a BSOD that complains about a page fault in non paged area. Even after removing and recreating the VM using the existing disk, I got the same error. Bit confusing as this references a memory issue, so not sure why this would persist after a recreate?
Mounted the VHD and did a check disk, and came back ok. Not sure if there are any other things I can try to recover this?
The other VM oddly, boots but exhibits some odd behaviour. Pressing start, the start menu is blank and search doesn't work. Also, the only application that was on that VM seems to have it's install directory, but the main executable is missing?!
EDIT As Massimo pointed out, you cannot recover a RAID 5 volume from two failed disks. What I should have said, was 1 failed disk and 1 unconfigured bad disk. The unconfigured bad disk was marked good, and re-added to the array to allow it to mount again.
I don't know how you managed to recover a failed RAID-5 array of 4 disks when 2 of them had failed, but I wouldn't bet on the integrity of anything you recovered.
File corruption can exist even if it goes undetected by Windows' own check disk utility, and corruption in OS files can and will lead to any sort of weird behavior (if the affected system is able to boot at all).
You can try to use DISM to restore the system health, by mounting a VHD on another system and running DISM on it; see details here. It's unlikely to work on a heavily corrupted system, but it can possibly made it at least usable.
I'd just recover anything I can from the VHDs (if data on them can be trusted to be consistent, which I highly doubt), and rebuild the systems from scratch.
I have a similar issue - for me, it is caused by the pagefile being corrupt and living on disks 2, 3 etc.
Try re-creating 1 of the VMs with only the C Drive. This will force a temp pagefile to be created on C Drive. Boot the server, set up the pagefile to live only on C Drive. Then shutdown and add the remaining disks.