The two PBX’s that I upgraded are in production, so it’s taken me some time find a good time to take them offline. Anyway, long story short: PROBLEM RESOLVED.
The Hyper V Integration Services for Linux version I had installed on the VM was for “RHEL65”. When I uninstalled it, I was able to boot just fine with the first boot option, without integration services installed. But due to some NIC problems I’ve had in the past when integration services are not installed, I wanted to try RHEL66, which I did, and it worked! So, my conclusion is that the CentOS 6.5 integration services drivers were causing the VM to crash.
Here’s the procedure:
You first need to boot into the second boot option, which should allow FreePBX to load. Login and run the following:
rpm –qa | grep microsoft
rpm –e microsoft-hyper-v-<version string from step 1> kmod-microsoft-hyper-v-<version string from step 1>
(i.e. rpm –e microsoft-hyper-v-3.4.20120727 kmod-microsoft-hyper-v-3.4-1.20120727)
*be patient, and wait for command prompt to run the reboot command
*also, note that you cannot “upgrade” to RHEL66, as a bug exists where the /dev/cdrom device disappears after installing integration services (Microsoft says the resolution is to uninstall integration services, lol), therefore you must uninstall, reboot, and reinstall the newer version
Upon rebooting, I FIRST booted into the second boot option, though I am not sure this is necessary. I then ran reboot again. Then I let it boot into the first boot option by default, and wala!
Once booted, the /dev/cdrom device will be back. You can then run
mount /dev/cdrom /media followed by
cd /media/RHEL66 followed by
./install.sh to install the correct version of integration services (assuming you have attached the ISO to the VM’s optical drive of course).
That’s it! I think for me, upon the next major upgrade, I will uninstall integration services beforehand (or at least make a snapshot/checkpoint in case it wont boot, which I unwisely forgot to do, one of the main benefits to virtualizing).