Thank you soooooo much. I found that you foresee all the problems I will see when trying memdisk. Cool !!
My steps are:
1. search the net for "memdisk". I found it's a module in syslinux that can be found
here. I copy the "memdisk" to my "(hd0,5)/" which is the root directory of a Linux ext2 partition.
2. copy my DOS boot-able QEMU hard disk image 1m.img to "(hd0,5)/" also.
3. Turn on the computer (Ubuntu 904), press ESC when grub
(it's not grub4dos, it came with Ubuntu) starts up > press 'c' to get to grub command prompt.
4. type grub commands ....
kernel (hd0,5)/memdisk h=16 s=63 harddisk
initrd (hd0,5)/1m.img
boot
5. It works !! shooooo finally thank you thank you very much
the memdisk switch h=N and s=N is my "1m.img" image's parameters. "h=16 s=63 harddisk" are necessary, or memdisk will make incorrect guess that can be easily noticed by its messages. It thinks the image is a floppy for example and memdisk's CHS guess is wrong also.
Now I wish grub4dos can be ok by this way too . . . .