De acordo com este excelente howto http://harrison3001.blogspot.com/2009/09/grub-2-graphical-boot-tips-to-set.html, ele funciona para mim no Ubuntu-Server-9.10.
Com as seguintes adições em /etc/default/grub:
GRUB_CMDLINE_LINUX="gfxpayload=true"
GRUB_GFXMODE=1600x1200x32
GRUB_PRELOAD_MODULES="vbe"
A resolução pode ser encontrada em:
hwinfo --framebuffer
Eu li que x32 é uma obrigação.
E modificação de /etc/grub.d/00_header:
set gfxmode=${GRUB_GFXMODE} <-- FIND THIS LINE
(como você observa GRUB_GFXMODE é a variável que definimos antes até /etc/default/grub)
set gfxpayload=keep <-- THIS IS FOR THE VGA CONSOLE!
(conforme você observa a instrução keep, obviamente, mantém, o quê ?, a resolução que definimos anteriormente por meio da GRUB_GFXMODEvariável set in /etc/default/grub)
insmod gfxterm
insmod ${GRUB_VIDEO_BACKEND}
então corra update-grub.