Really?
There is a file called deficons.prefs in env: resp. envarc: which defines all recognised file types. It's a binary file but its structure is documented in the NewIcons developer docs. OS 3.9 contains an editor for the file which allows do define new file types.
For each recognised file type you can create a def_<filetype>.info in envarc:sys to override the default icon.
For drives you can use def_<drivename>.info or def_<volumename>.info in OS 3.5+ or def_<drivename>disk.info in OS 3.1 (for example def_RAMdisk.info).
(Note: I wrote all this from memory, so no guarantee that every aspect is correct. If you want the definite truth, you should RTFM.)