Let's see if I can help.
First, timeout 0 may cause you a bit of frustration. You will not have time to select an OS to boot. The default will boot immediately every time you boot up. Change timeout to a reasonable time, such as 10, 20, or 30 to give you time to select an OS to boot.
Second, it's hard to say what the problem is with the grub config, because you don't say what partition Linux is installed on!
If it's on hdb (the second hard drive), partition 5, then root (hd1,4) should work. On the other hand, if it's on the first hard drive (hda), in the fourth partition, then change root (hd1,4) to read root (hd0,3). Why? Grub counts, like C language, begins with 0, not 1. Hd0 is the first hard disk; hd1 is the second; etc.
Similarly, (hd0,0) is the first partition of the first hard drive; (hd0,1) is the second partition; etc.