Yesterday I made a Fedora 30 VM on my RHEL 7 box, and for some reason I couldn’t log in as root after the installation finished. Well, it’s been a while, so I had to look it up, and following the instructions didn’t work either—I finally managed to get a shell, but the terminal was corrupted. Because it was a VM? Because the instructions were out of date? I’ve no idea. Anyway, here’s what I did, with the stuff that wasn’t in the instructions kind of yellowish:
- Reboot and wait for the GRUB menu to appear. You may need to be pressing Shift for this to happen.
 
- In the menu, highlight any entry and press 
e to edit it. 
- Find the line beginning with 
linux. Remove the rhgb and quiet options, then add init=/bin/sh at the end of the line. 
- Press Ctrl-X to boot with those options.  After a while you should get a root shell.  The prompt was 
sh-5.0# on my system, not sh-4.2# like the instructions say, but it doesn’t matter. 
- Run the commands in the instructions:
/usr/sbin/load_policy -i
mount -o remount,rw /
passwd root
mount -o remount,ro /
 
- The instructions say to reboot now, but none of the commands to reboot the system worked at this point. Probably they expected systemd. No problem, I hit “Force Reset” in Virtual Machine Manager. I probably should have run a 
sync or two beforehand, but I didn’t think to. 
Ta-da, working system!