This issue is mostly caused through a failed kernel update. So far I experienced it only if the yum update transaction got interrupted.
(tested with CentOS 7 and a Digital Ocean droplet)
- Boot Droplet with "Recovery ISO" (https://cloud.digitalocean.com/droplets/YOUR-ACCOUNT-ID/recovery?i=YOUR-DROPLET-ID)
- Mount required volumes
mount /dev/vda1 /mnt
mount --bind /dev /mnt/dev
mount --bind /dev/pts /mnt/dev/pts
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
- Chroot into root:
chroot /mnt/
- Re-install used kernel (Please update the command according to your kernel version, can be found in /boot/grub/grub.conf)
yum reinstall kernel-3.10.0-1160.31.1.el7
- Reboot with "Hard Drive" (https://cloud.digitalocean.com/droplets/YOUR-ACCOUNT-ID/recovery?i=YOUR-DROPLET-ID)