I'm running LTS 12 in VirtualBox. The VM shut down in such a way that it couldn't be resumed; I had to "power off" the VM and restart it. Now the GRUB menu offers two choices: memtest, or memtest with a serial console.
I managed to get to the GRUB command line, and
set root=(hd0,msdos1) works. How do I boot the OS? Running memory tests on a virtual machine takes a long time and only makes the laptop warm.
Grub ls shows (hd0) (hd0,msdos5) (hd0,msdos1). Only the last is recognized as a valid file system.
ls (hd0,msdos1)/boot shows two memtest*.bin files. No vmlinuz is in /. "cat (hd0,msdos1)/etc/fstab" shows two UUID entries, one each for / and swap. "ls (hd0,msdos1)/dev" shows no "disk" directory.
It would seem VirtualBox does not keep the on-disk image in a bootable state while running. Backups of the .vdi VM image file taken before the "crash" while the VM was running show the same behavior.
VirtualBox images are not ISO 9660 filesystems. The only way to manipulate the disk is from within VirtualBox. The only hope of booting the disk afaict is from the Grub command line.
Complaint: Documentation on booting is utterly lacking at the LTS level. Grub says "we boot operating sytems" and boot(8) says "you might have lilo or grub" and so on. Nothing says how the disk is partitioned, or what each one is for, or where the kernel is expected to be found on a cold disk, or which boot parameters this particular kernel would need. These choices are made silently by the installation process and, again afaict, not recorded anywhere. Where is the information an expert would use? "Getting Started with Ubuntu 12.04" surely isn't it.