Recently i installed and upgraded Debian (testing/experimental) and Ubuntu (karmic/lucid) distros within VirtualBox for testing purposes. I sudden encountered black virtual consoles upon switching with the usual command CTRL + ALT + F1 ... F6, instead the root prompt. Investigating dmesg output i have seen that the framebuffer used by the console was the efifb, to me totally unknown.
I haven't found any suitable tip nor some quick instruction about it, and i also discovered that all new kernels shipped with the Debian/Ubuntu distros have efifb built into, not as a module, resulting for me difficult to disable. To test if the problem could be solved with another framebuffer module like uvesafb, we need to disable efifb before. Fortunately i found some input reading about Framebuffer at Gentoo Wiki, there are always great HOWTO. Adding video=efifb:off as kernel parameter and then loading uvesafb vbemode=352 as module through /etc/modules results in a successful job. I don't know why efifb is used, cause is strangely quite undocumented.
Just a little recap about vbemode=352. 352 is the console mode for the resolution i use for VirtualBox machines, 1280x800, easily discoverable by issuing vbeinfo through the grub command line at boot (c to enter the command line). The value exposed by grub's vbeinfo command is in Hex format and needs to be converted to decimal: 0x160 --> 352. I think Ubuntu Lucid users also need to blacklist the vga16fb trough /etc/modprobe.d/blacklist-framebuffer. Lastly, on Debian latest kernels fbcon is not built as module but into the kernel while both Karmic and Lucid users need to add fbcon as module to /etc/modules.