#1 make sure you're trying to access the file(s) and/or programs as root; you shouldn't be able to deal with the GRUB config file as a regular user
#2 last time I checked GRUB used /boot/grub/menu.lst as it's configuration file; on some system it seems to be called grub.conf though. See if you've got both of them. GRUB's config file should in any case be in /boot though it can be linked in /etc too.
#3 A file that ends with ~ (like
filename.xyz~) is often a kind of temp file of an editor; when you open a file with a text editor such as
vim for example, it usually creates a temporary file that is called the same as the original file, but with a tilde (~) in the end; when you save and exit this temp file should get removed and changes written to the original file. Should the editor suddenly die, that ~-file may not be removed. Check out it's contents:
and check out what it has inside. If that's what you're looking for (BUT make sure it really is exactly what you're looking for), you can just rename that and overwrite the original empty file. Warning:
if you were able to boot, your GRUB's configuration cannot be empty; since GRUB reads it's configuration from your /boot partition, it means the configuration file GRUB is using is not completely empty (it has to have at least the OS configured properly that you can boot), so don't overwrite anything before locating the file and checking out what's inside.
I would cd to /boot/grub/ and see what files are there; if there are both grub.conf and menu.lst, see which one is empty and which one is not. If both are non-empty, you may use
find to determine if either of them has been used more recently than the other one, and deduce which one of them is actually used by GRUB. I remember reading that GRUB Legacy should use menu.lst and not grub.conf anymore, but who knows..