MacOS – Changing the Finder icon for an external disk formatted as ExFat

external-diskfindericonmacos

I used this web page recipe – Create Your Own Custom Icons in OS X 10.7.5 or Later – for creating a .icns icon set containing a set of icons for an external disk that has been formatted with the ExFat file system.

However, whatever I do, when I drag the .icns file on top of the drive, it just shows a .png dummy icon:

Drive icon for ExFat file system

If I erase the drive and reformat it as OS X Journaled, then repeat the process, the icon is shown correctly:

drive icon for OS X Journaled file system

Is there a trick where I can reassign the icon also for an ExFat drive? I plan on using this drive both on a Windows machine and on my MacBook so keeping it as OS X Journaled isn't really an option. I know there are custom software for Windows so that I can read and write OS X file system disks but that's not an option either since I plan on connecting this drive to computers where I cannot really expect the owner to install custom software to use the disk.

And the icon is not that important. It would just be a nice touch.

What I've tried:

  • Basic .png file (that works on OS X Journaled formatted drive)
  • Full .icns file (that works on OS X Journaled formatted drive)

So can it be done? If so, how?

This is OS X El Capitan 10.11.4 and the drive is a WD My Passport Air 1TB if if matters.

Best Answer

I do a "Get Info" on the drive. This brings up the info window. To add the icon, I drag and drop the .icns file on the image shown in the upper left corner of the window.

When I refer to a "drive", what I really mean is a partition located on a physical or virtual drive. Since the partition is ExFAT formatted, the partition can also be referred to as a volume.

Maybe your .icns file is no good. Maybe you should try one of mine. You can download the ones I use here. Or, you can try the free online tool I used to create these .icns files. Go to iconvert icons.

When you drop the .icns file, a copy of this file is renamed .VolumeIcon.icns and placed in the root directory of the drive. For example, if I use a Terminal application window, I can show this file.

Steelhead:~ davidanderson$ diskutil list /dev/disk1
/dev/disk1 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *4.0 GB     disk1
   1:             Windows_FAT_32 UNTITLED 1              808.2 MB   disk1s1
   2:                 DOS_FAT_32 UNTITLED 2              808.2 MB   disk1s2
   3:               Windows_NTFS UNTITLED 3              808.2 MB   disk1s3
   4:                 DOS_FAT_32 UNTITLED 4              808.2 MB   disk1s5
   5:                 DOS_FAT_32 UNTITLED 5              808.1 MB   disk1s6
Steelhead:~ davidanderson$ mount | grep disk1
/dev/disk1s1 on /Volumes/UNTITLED 1 (msdos, local, nodev, nosuid, noowners)
/dev/disk1s2 on /Volumes/UNTITLED 2 (msdos, local, nodev, nosuid, noowners)
/dev/disk1s3 on /Volumes/UNTITLED 3 (exfat, local, nodev, nosuid, noowners)
/dev/disk1s5 on /Volumes/UNTITLED 4 (msdos, local, nodev, nosuid, noowners)
/dev/disk1s6 on /Volumes/UNTITLED 5 (msdos, local, nodev, nosuid, noowners)
Steelhead:~ davidanderson$ cd "/Volumes/UNTITLED 3"
Steelhead:UNTITLED 3 davidanderson$ ls -l .VolumeIcon.icns
-rwxrwxrwx@ 1 davidanderson  staff  26582 May  5 15:50 .VolumeIcon.icns
Steelhead:UNTITLED 3 davidanderson$ 

Here is a screen shot from my Desktop.

enter image description here

If you something goes wrong read this:

There must be a cache of volume names to icons buried in OS X. I say this because no matter what combination of reformats, ejects, unmounts and deletes I preform, the same icon reappears. Something like the following is happening:

  1. The operating system encounters a valid .VolumeIcon.icns file in the root directory of a partition (volume).
  2. The .VolumeIcon.icns is read in to the cache and associated with the volume name.
  3. Even if the .VolumeIcon.icns file is changed, the operating system does not update the cache. (This is one of the bugs!)

If you do the following, you may have a shot at success. I do not guarantee this to be an inclusive list.

  1. Remove the .VolumeIcon.icns (if it exists) from the root folder on the drive, by following these instructions. Highlight the drive (volume) and select "Get Info" from the menu bar. Next, highlight the icon shown in the upper left of the pop up window. Finally, from the menu bar, select "Cut". Note: This file is not normally shown in the Finder, unless you enable the Finder to Show Hidden Files.

  2. Rename the drive to some name never used before.

  3. Eject the drive and remove from the computer.
  4. If necessary, quit the Disk Utility application.
  5. If necessary, quit the Terminal application.
  6. Close all Finder Windows"
  7. Hold down the option key and right click on the Finder icon on the Dock. Select "Relaunch".
  8. Connect the drive back into the computer

  9. Drag and drop the .icns files on the icon in the upper left corner of the "Get Info" window for the drive. It may appear as if nothing has happened.

  10. (Optional) Verify the .VolumeIcon.icns appears in the root folder of the partition (volume). This file is not normally shown in the Finder unless you enable the Finder to Show Hidden Files. Experienced users can also use the Terminal application to verify this file exists

  11. Use the Disk Utility application to unmount the partition (volume).

  12. Use the Disk Utility application to mount the partition (volume).