Grub used to have a config file. It had an awkward format and was hard to use (comment lines weren't always comments, for example) but it worked. You could use it to list the kernels you want in the order you want, and have different sets of kernel options for different kernels. But recent version of grub ("grub 2") have removed the config file. I'm not sure whether this is grub's fault, it may be due to the way Ubuntu uses grub.
That doesn't work for me, so I wrote a replacement grub-mkconfig helper script that gives me back my config file. As a bonus, it's considerably easier to use than the old grub config file. Here's mine, for example:
kernel 2.6.31-??-generic apparmor=0 nomodeset kernel 220.127.116.11 nomodeset kernel 18.104.22.168 nomodeset single
The second field is a glob pattern, everything after that is a set of kernel options to apply to kernels matching that pattern. It's ok for the config file to be missing.
To install, backup /etc/grub.d/10_linux and replace it with this: 10_linux
There are some missing features, like the ability to specify a kernel root option other than the one currently in use. If you need these features, please add them and send me diffs.Jim Rees