../Icons/Drive iconsHome
Changing drive icons
Apply a different icon to different drives.
 
Using an .inf file
Simply create a new textfile in the root of your drive, typing this text:
[AUTORUN]
Icon="(path)\(name)"
then rename the file to autorun.inf.
You might put the icon in the root of the drive too, and give both the icon and inf-file the attribute 'hidden'; less easy to mess up stuff ;).
In the registry
You can apply different icons to seperate floppy drives, cdrom-drives and hard drives with some simple regkeys (Win 98 or above needed, or, more specific, shell at or above version 4.71 (check version info on i.e. explorer.exe or shell32.dll)). To do so create/edit a registry key...
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\DriveIcons
Underneath this key, create/edit news keys with only the drive letter as their name. Underneath each create another key called "DefaultIcon", and modify the standard value on the right to point to your icon (full path), add a comma and number when it's in an .icl file (first inside = 0). Note that if there's an autorun.inf, as mentioned above, present in the root of the drive, this one will be displayed instead.
With shell version 5.0 (Win Me/2k) and above you can also add a custom label for the drive. For this, add another subkey next to the DefaultIcon key, "DefaultLabel" and edit the standard value to your liking.
Also note this key, in case of trouble. Been reported to work on 2k and XP with sp2. Same rules on creating subfolders and strings:
HKEY_CLASSES_ROOT\Applications\explorer.exe\Drives\
XP and the registry...
Then, XP... MS broke it, somehow. DefaultIcon settings stopped working, but if you follow structure and apply a DefaultLabel for a drive, label des work, and also, if you applied a custom icon for any type of drive, with a program or manually, that shows up after label is assigned... very weird (MS documentation assumes it to work, this seems not deliberately done). Indeed, Servicepack 1 fixes this and both above mentioned keys work again.

A workaround, enabling assignment of individual icons to seperate hard/cdrom-drives etc was discovered by deano at the TweakXP forums (stops working after sp1 is installed). You need to have a look at this registry key:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2
You'll find a couple of subkeys, probably. Focus on the keys with CLSID values (them numbers - you might find some keys with drive characters and more, ignore). Messy, cause no way of telling which key represents which drive, though some of DefaultLabel keys as set above show up as "_LabelFromReg" strings, so you can tell. Also, there might be some doubles, and your cdrom drives have a "_AutorunStatus" string. Heh, you're up to some experimenting, but the way to apply a custom icon is simple:
Rightclick the key chosen, choose new/key, name it "DefaultIcon" (no quotes). Then just modify the default string to contain the path to your icon, like "D:\Icons\Scrow\Prime\Drive.ico".
No need to restart, just refresh a window.
Icons for removable media
Now my cd-writer has got a different icon, also any data cd-rom can have it's own icon. Just choose an icon and create the .inf file as mentioned above. Use no drive letter in the path, but make it look like "Icon="xxx.ico"" or "Icon="Images\xxx.ico"". Then copy both to the cd.

Even floppy disks, zip disks and other removable media can have their own icon added this way. But by default "autorun" can only be enabled/disabled for data and music cd's. To have it enabled for all drives, go into the registry to:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
There's a binary value called "NoDriveTypeAutoRun", which by default says "95 00 00 00". Change the first bit to "91" and restart your computer. Note that inserting a new disk won't refresh the icon until you hit F5, or choose "view/refresh". Also note that the "floppy seek", everytime you open My computer, can be very annoying...
Though value is there in XP, be it a dword value, set to 91 (that is, 0x00000091 (145)), it doesn't seem to work anymore ?
Top

xhtml 1.1