I'll try to answer all your questions as best I can.  All items are ide. My 
CD is primary master, ZIp primary slave, CDRW secondary master, no secondary 
slave.  I run two hard drives on a Promise ultra100 card.  These would be a 
master & slave on channel 0.
The command I'm using is "mount /dev/hdb4".  This works fine when I boot with 
a disk in the drive.  This delivers the no such device error when I boot with 
no disk in drive.  In fact, the first message I see when booting with no disk 
is "no disk in hdb".
Yes, I have file /dev/hdb4.
I know Mike mentioned devfs, I see it in the following log.  As a newbie I 
don't have any idea what it is or does.
One more clue - I have discovered that if I eject the disk (after starting 
the machine with a disk in & successfully mounting it) I can not mount it 
again.  I get  mount: special device /dev/hdb4 does not exist
Here is "mount" with or without disk in at startup:

[carl at localhost carl]$ mount
/dev/hde9 on / type ext2 (rw)
none on /proc type proc (rw)
devfs on /dev type devfs (rw)
/dev/hde8 on /boot type ext2 (rw)
none on /dev/pts type devpts (rw,mode=0620)
none on /dev/shm type tmpfs (rw)
/dev/hde10 on /home type ext2 (rw)
/dev/hde1 on /mnt/win_c type vfat 
(rw,iocharset=iso8859-1,umask=0,codepage=850)
/dev/hdf1 on /mnt/win_c2 type vfat 
(rw,iocharset=iso8859-1,umask=0,codepage=850)
/dev/hde5 on /mnt/win_d type
vfat (rw,iocharset=iso8859-1,umask=0,codepage=850)
/dev/hdf5 on /mnt/win_d2 type vfat 
(rw,iocharset=iso8859-1,umask=0,codepage=850)
/dev/hde6 on /mnt/win_e type vfat 
(rw,iocharset=iso8859-1,umask=0,codepage=850)
/dev/hdf6 on /mnt/win_e2 type vfat 
(rw,iocharset=iso8859-1,umask=0,codepage=850)
/proc/bus/usb on /proc/bus/usb type usbdevfs (rw,devmode=0664,devgid=43)


Here is mount with disk in at startup & after mounting hdb4 (zip drive), note 
last 2 lines:

[carl at localhost carl]$ mount
/dev/hde9 on / type ext2 (rw)
none on /proc type proc (rw)
devfs on /dev type devfs (rw)
/dev/hde8 on /boot type ext2 (rw)
none on /dev/pts type devpts (rw,mode=0620)
none on /dev/shm type tmpfs (rw)
/dev/hde10 on /home type ext2 (rw)
/dev/hde1 on /mnt/win_c type vfat 
(rw,iocharset=iso8859-1,umask=0,codepage=850)
/dev/hdf1 on /mnt/win_c2 type vfat 
(rw,iocharset=iso8859-1,umask=0,codepage=850)
/dev/hde5 on /mnt/win_d type vfat 
(rw,iocharset=iso8859-1,umask=0,codepage=850)
/dev/hdf5 on /mnt/win_d2 type vfat 
(rw,iocharset=iso8859-1,umask=0,codepage=850)
/dev/hde6 on /mnt/win_e type vfat 
(rw,iocharset=iso8859-1,umask=0,codepage=850)
/dev/hdf6 on /mnt/win_e2 type vfat 
(rw,iocharset=iso8859-1,umask=0,codepage=850)
/proc/bus/usb on /proc/bus/usb type usbdevfs (rw,devmode=0664,devgid=43)
/dev/hdb4 on /mnt/zip type vfat 
(rw,nosuid,nodev,sync,iocharset=iso8859-1,umask=0,codepage=850,user=carl)


I don't see any error messages in "dmesg", here is the part that pertains to 
the drives.  As you can see, it's layed out just as I described it above:

hda:Pioneer CD-ROM ATAPI Model DR-744 0102, ATAPI CD/DVD-ROM drive
hdb: IOMEGA ZIP 100 ATAPI, ATAPI FLOPPY drive
hdc: PLEXTOR CD-R PX-W1210A, ATAPI CD/DVD-ROM drive
hde: IC35L040AVER07-0, ATA DISK drive
hdf: Maxtor 53073H6, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
ide2 at 0x1420-0x1427,0x1416 on irq 10
hde: 80418240 sectors (41174 MB) w/1916KiB Cache, CHS=79780/16/63, UDMA(100)
hdf: 60030432 sectors (30736 MB) w/2048KiB Cache, CHS=59554/16/63, UDMA(100)
hda: ATAPI 32X CD-ROM drive, 128kB Cache, DMA
Uniform CD-ROM driver Revision: 3.12
ide-floppy driver 0.97
hdb: No disk in drive
hdb: 98304kB, 96/64/32 CHS, 4096 kBps, 512 sector size, 2941 rpm
Partition check:
 /dev/ide/host2/bus0/target0/lun0: [PTBL] [5005/255/63] p1 p2 < p5 p6 p7 p8 
p9 p
10 >
 /dev/ide/host2/bus0/target1/lun0: [PTBL] [3736/255/63] p1 p2 < p5 p6 >
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
ide-floppy driver 0.97
 

If I run "dmesg" with a disk in drive the line that reads: "hdb: No disk in 
drive" changes to: "hdb: 98304kB, 196608 blocks, 512 sector size"