Last night I got some updates through yum on my CentOS virtual machine, which also updated the kernel. I tried booting it again about an hour ago, and I haven't been able to successfully start it.
I've tried running from the new kernel, the previous kernel, and even the rescue kernel. One of the errors I get is the common "failed to load selinux policy" -- if I ignore it, I get to the loading bar phase where it seemingly freezes. If I edit the configuration in the grub menu to temporarily be
selinux=0, I can get past the loading bar, but I get a black screen afterwards (which also gives me a mouse cursor, strangely enough).
How do I fix this? I really don't want to mount my virtual disk and recover my files, just to start over from a new VM.
Edit: This is still an unanswered question as it pertains to why this bug occurs, or even how to fix it. Here are some related questions I've found while working on the problem (I'm not saying they're different or their solutions don't work, but I just haven't had the time nor inclination to pursue their fixes...I found my own workaround after all):
- CentOS 7 won't boot after
- Desktop not starting after Centos upgrade
- Centos 7 won't boot after yum update (found a solution I didn't try)
My solution to this was to recover the files on my VDI. A friendly stranger on Super User helped me overcome obstacles in mounting the image and transferring files to a new virtual machine. As an afterthought while you read that extended chat, I believe the bridged network failed because
firewalld is on by default, which blocks some port traffic. You could probably stop the service and it'd work without any issues.
A final word about the issue: this bug seems to occur only when the kernel gets updated. While I was still pursuing a direct fix, I could only understand that
gdm (GNOME Display Manager) was part of the problem. Oh, and because this is a GUI problem, I should've mentioned much earlier that I was using GNOME on my system.