Follow that guide again, but after the
chroot command, try the following before running
dpkg -a --configure:
mount -t proc proc /proc
mount -t devtmpfs none /dev
And before running
exit, remember to
When you have no init or other processes beside your shell, there is almost nothing to shutdown. In fact, the only important thing is the filesystem – sync it, then unmount all on-disk filesystems or remount as read-only (if they cannot be unmounted, for example, the rootfs):
mount -o remount,ro /
After this, you might as well pull the plug.
Another thing you could try (but I haven't) is to start the original init. Make sure no processes aside from your pid1 shell are running, then change to root directory and exec init:
exec replaces the current process with the one given, so started this way /sbin/init will take the special pid 1 from your shell.
However, if pid 1 ever exits, the kernel will immediately panic – so make sure you at least
sync the filesystems before doing this.
When the kernel panics, it prints out a message, starts flashing the keyboard LEDs, and stops everything else – it stops even the loop that normally tells the CPU to remain idle; this probably is what causes the Caps Lock madness and the high CPU use by your virtual machine.
Your "some guy" was right – in real single-user mode, typing
exit will usually switch to multi-user or at least clean-reboot. However,
init=/bin/bash does not start this mode; it does not start anything at all, besides the kernel and the
bash shell. To reach the real single-user mode, you would need to add
single to the kernel command line. (Sometimes
s works, but not all distributions use runlevels.) In Ubuntu, this used to be called "Recovery mode".
The system is having severe trouble reading off of your hard disk. It's likely that the disk is dead (almost certain), but it could be something as simple as a loose/disconnected cable (don't count on it). There isn't anything you can do to troubleshoot it from here. Just power it off.
Check for loose connections on your hard disk. If everything is fine there boot from a rescue disk and run fsck or badblocks from there.
I hope you have a back up.