I've got the same problem before
Do you run your Linux from FAT partition (using loadlin)?
loadlin vmlinuz root=/dev/hdxx ro
replace hdxx with the partition where your Linux root is...
in my case.. I have Linux root on hdb2 (second hard drive, partition 2)
so whenever I start my Linux from FAT partition (DOS prompt):
loadlin vmlinuz root=/dev/hdb2 ro
Hope this will help....
University of Western Ontario