I have a MacBook Pro running Sequoia, and an external clone SSD that was Sonoma. It had a custom icon, while appeared when the MBP was booted from internal (Sequoia), and the SSD was mounted.
Yesterday I re-cloned the SSD, so now it is Sequoia. I re-applied the custom icon. It appears when I boot from that SSD, but it does not appear when I start up from the internal drive and mount it.
Any ideas? Everything looks right with permissions, but it just doesn’t want to read the icon from the Data volume root.
I know that custom icons in this situation were broken with Catalina, but some later macOS fixed it so the Finder knows to read the icon from the Data root, even though that’s not where the symlink at the System root is pointing.
Unlock permissions (padlock icon in lower right corner)
Apply the custom icon
Unmount
Remount
I think I know what happened. I think there’s a bug in Sequoia, where when you apply a custom icon to the startup drive, it doesn’t flip on the “custom icon” flag at the root of the Data volume.
If I check it now with GetFileInfo -a ., it says avbstClinmedz. The C is the custom icon flag.
So when you’re booted from the drive, the Finder is just following the symlink from the root, and not looking for flags. But when the drive is attached while booted somewhere else – and it has to look at the Data volume directly – it is respecting the presence or lack of the custom icon flag.
The proof would be to wipe out the icon file and reapply it while booted to it, then check the Finder flags again. I bet the C will be missing.
update: Yup. Added a custom icon to my internal drive, and confirmed that it didn’t update the Finder flag on the Data volume.