miliuco Posted August 3, 2021 Share Posted August 3, 2021 (edited) @SardusX86 i understand you. You want to pick an icon depending on the device type or to pick different icons for 2 disks with the same version of macOS. There is a way to do this using custom boot icons. In the OpenCore configuration PDF you can read: PickerAttributes Description: Sets specific attributes for the OpenCore picker. Different OpenCore pickers may be configured through the attribute mask containing OpenCore-reserved (BIT0 ~ BIT15) and OEM-specific (BIT16 ~ BIT31) values. Current OpenCore values include: 0x0001 - OC_ATTR_USE_VOLUME_ICON, provides custom icons for boot entries: OpenCore will attempt loading a volume icon by searching as follows, and will fallback to the default icon on failure: .VolumeIcon.icns file at Preboot volume in per-volume directory (/System/Volumes/Preboot/{GUID}/ when mounted at the default location within macOS) for APFS (if present). .VolumeIcon.icns file at the Preboot volume root (/System/Volumes/Preboot/, when mounted at the default location within macOS) for APFS (otherwise). .VolumeIcon.icns file at the volume root for other filesystems. In summary: you must copy the icon with name .VolumeIcon.icns to /System/Volumes/Preboot/{GUID}/ or /System/Volumes/Preboot/ and select (among others) the first option of PickerAttributes (0x0001 - OC_ATTR_USE_VOLUME_ICON). Edited August 5, 2021 by miliuco 1 1 Link to comment Share on other sites More sharing options...
SardusX86 Posted August 5, 2021 Share Posted August 5, 2021 On 8/3/2021 at 6:18 PM, miliuco said: @SardusX86 i understand you. You want to pick an icon depending on the device type or to pick different icons for 2 disks with the same version of macOS. There is a way to do this using custom boot icons. In the OpenCore configuration PDF you can read: PickerAttributes Description: Sets specific attributes for the OpenCore picker. Different OpenCore pickers may be configured through the attribute mask containing OpenCore-reserved (BIT0 ~ BIT15) and OEM-specific (BIT16 ~ BIT31) values. Current OpenCore values include: 0x0001 - OC_ATTR_USE_VOLUME_ICON, provides custom icons for boot entries: OpenCore will attempt loading a volume icon by searching as follows, and will fallback to the default icon on failure: .VolumeIcon.icns file at Preboot volume in per-volume directory (/ System / Volumes / Preboot / {GUID} / when mounted at the default location within macOS) for APFS (if present). .VolumeIcon.icns file at the Preboot volume root (/ System / Volumes / Preboot /, when mounted at the default location within macOS) for APFS (otherwise). .VolumeIcon.icns file at the volume root for other filesystems. In summary: you must copy the icon with name .VolumeIcon.icns to /System/Volumes/Preboot/{GUID}/ or /System/Volumes/Preboot/ and select (among others) the first option of PickerAttributes (0x0001 - OC_ATTR_USE_VOLUME_ICON). This is my system drive situation: /dev/disk4 (synthesized): #: TYPE NAME SIZE IDENTIFIER 0: APFS Container Scheme - +499.9 GB disk4 Physical Store disk3s2 1: APFS Volume macOS Big Sur - Dati 9.0 GB disk4s1 2: APFS Volume Preboot 364.6 MB disk4s2 3: APFS Volume Recovery 1.2 GB disk4s3 4: APFS Volume VM 3.2 GB disk4s4 5: APFS Volume macOS Catalina - Dati 115.1 GB disk4s5 6: APFS Volume macOS Catalina 11.2 GB disk4s6 7: APFS Volume 15.3 GB disk4s7 8: APFS Volume Update 413.7 KB disk4s8 I have 2 versions of macOS (Catalina/Big Sur) installed in two separate APFS volumes, where should I copy the .VolumeIcon.icns files for each version of macOS? Link to comment Share on other sites More sharing options...
miliuco Posted August 5, 2021 Share Posted August 5, 2021 @SardusX86 In the OC instructions it says to copy .VolumeIcon.icns to the folder /System/Volumes/ Preboot/{GUID}/ where GUID is a 36 character long number with the structure XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. This number corresponds to the file system UUID of each DATA volume. You have 2 DATA volumes on this disk: macOS Catalina - Dati and macOS Big Sur - Dati. To know to which folder you have to copy .VolumeIcon.icns you have to know the UUID of the Big Sur volume and the UUID of the Catalina volume. You can see them in Disk Utility >> select a disk DATA >> Get info. As you only have one Preboot volume, there must be at least 2 folders with the UUIDs of Big Sur and Catalina in it. Link to comment Share on other sites More sharing options...
SardusX86 Posted August 6, 2021 Share Posted August 6, 2021 (edited) 22 hours ago, miliuco said: In the OC instructions it says to copy .VolumeIcon.icns to the folder /System/Volumes/ Preboot/{GUID}/ where GUID is a 36 character long number with the structure XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. This number corresponds to the file system UUID of each DATA volume. You have 2 DATA volumes on this disk: macOS Catalina - Dati and macOS Big Sur - Dati. To know to which folder you have to copy .VolumeIcon.icns you have to know the UUID of the Big Sur volume and the UUID of the Catalina volume. You can see them in Disk Utility >> select a disk DATA >> Get info. Sorry I'm a bit confused: so I should retrieve the UUID of the macOS Catalina - Data and macOS Big Sur - Data volumes using Disk Utility (Get Info). Next I should copy within each volume (macOS Catalina - Data / macOS Big Sur - Data) the icon chosen for each OpenCore menu boot entry renamed as .VolumeIcon.icns: How to? Simply using "show in the finder" in disk utility for each volume "macOS Version - Data" and than copying the chosen icon within each volume? 22 hours ago, miliuco said: As you only have one Preboot volume, there must be at least 2 folders with the UUIDs of Big Sur and Catalina in it. Should I copy the icons chosen for the opencore menu into those folders? Where do i find this folders? How to access the "Preboot" volume? This my Picker Attributes config, is it OK? Thanks again Edited August 6, 2021 by SardusX86 Link to comment Share on other sites More sharing options...
miliuco Posted August 6, 2021 Share Posted August 6, 2021 @SardusX86 Picker Attributes is ok. The Preboot volume is easily accessible because it is on the path: /System/Volumes/Preboot. Inside Preboot there must be at least 2 folders whose names are the UUIDs of each DATA disk. There is a problem with this method. Preboot volume is write protected and to be able to write to it you must have SIP disabled and probably GateKeeper disabled as well. GateKeeper is easily disabled, but disabling SIP is a difficult task. For both questions that are outside the topic of this thread there is enough information in this forum and elsewhere. Link to comment Share on other sites More sharing options...
Anto65 Posted August 6, 2021 Share Posted August 6, 2021 (edited) 4 hours ago, SardusX86 said: Sorry I'm a bit confused: so I should retrieve the UUID of the macOS Catalina - Data and macOS Big Sur - Data volumes using Disk Utility (Get Info). Next I should copy within each volume (macOS Catalina - Data / macOS Big Sur - Data) the icon chosen for each OpenCore menu boot entry renamed as .VolumeIcon.icns: How to? Simply using "show in the finder" in disk utility for each volume "macOS Version - Data" and than copying the chosen icon within each volume? Should I copy the icons chosen for the opencore menu into those folders? Where do i find this folders? How to access the "Preboot" volume? This my Picker Attributes config, is it OK? Thanks again This way you should succeed First disable SIP from the terminal via Recovery Open the terminal and type " diskutil list " locate the Preboot disk in my case disk3s2 mount it with " sudo diskutil mount disk3s2 " once mounted, open it with " open / System / Volumes / Preboot " you will find a folder named with the UUID of the disk / partition (my example 3583CAA1-E632-4B94-BC8D-689CED58B496) open it and copy the icon of your choice in my example Apple.icns you will need to rename it in " .VolumeIcon.icns " this is always possible and only via the terminal in this way type cd / System / Volumes / Preboot / 3583CAA1-E632-4B94-BC8D-689CED58B496 (or cd and drag the UUID folder) to rename it type sudo mv Apple.icns .VolumeIcon.icns the icon will become invisible you can check by enabling the option for hidden files Copy the icon After rename Before After https://drive.google.com/file/d/1Efl6ARBfzO_KgByai0esJV80cmfHtbqj/view?usp=sharing 😉 Edited August 6, 2021 by antuneddu 2 Link to comment Share on other sites More sharing options...
miliuco Posted August 6, 2021 Share Posted August 6, 2021 @SardusX86 Last help: to disable SIP >> open config.plist from your OpenCore EFI folder >> look for the key NVRAM / 7C436110-AB2A-4BBB-A880-FE41995C9F82 / csr-active-config >> change its value to FF0F0000 >> save the file >> reboot. Then do what @antuneddu says, verbatim. Link to comment Share on other sites More sharing options...
SardusX86 Posted August 8, 2021 Share Posted August 8, 2021 (edited) @antuneddu i'm trying following your guide but after mounting the PreBoot volume, it doesn't open using the commands you suggested. This is the diskutil list output for the disk7 (backup): /dev/disk7 (synthesized): #: TYPE NAME SIZE IDENTIFIER 0: APFS Container Scheme - +500.0 GB disk7 Physical Store disk3s2 1: APFS Volume macOS Mojave BAK 144.5 GB disk7s1 2: APFS Volume macOS Catalina BAK 11.0 GB disk7s2 3: APFS Volume PreBoot 126.6 MB disk7s3 4: APFS Volume Recovery 1.1 GB disk7s4 5: APFS Volume VM 9.7 GB disk7s5 6: APFS Volume Dati - macOS Catalin... 10.0 GB disk7s6 This is the mount/open PreBoot Volume commands output: andrea2@iMac-di-Andrea2 ~ % sudo diskutil mount disk7s3 Password: Volume PreBoot on disk7s3 mounted andrea2@iMac-di-Andrea2 ~ % open /System/Volumes/Preboot The file /System/Volumes/Preboot does not exist. andrea2@iMac-di-Andrea2 ~ % open /System/Volumes/PreBoot The file /System/Volumes/PreBoot does not exist. Any idea about? Edited August 8, 2021 by SardusX86 Link to comment Share on other sites More sharing options...
miliuco Posted August 8, 2021 Share Posted August 8, 2021 4 hours ago, SardusX86 said: @antuneddu i'm trying following your guide but after mounting the PreBoot volume, it doesn't open using the commands you suggested. This is the diskutil list output for the disk7 (backup): /dev/disk7 (synthesized): #: TYPE NAME SIZE IDENTIFIER 0: APFS Container Scheme - +500.0 GB disk7 Physical Store disk3s2 1: APFS Volume macOS Mojave BAK 144.5 GB disk7s1 2: APFS Volume macOS Catalina BAK 11.0 GB disk7s2 3: APFS Volume PreBoot 126.6 MB disk7s3 4: APFS Volume Recovery 1.1 GB disk7s4 5: APFS Volume VM 9.7 GB disk7s5 6: APFS Volume Dati - macOS Catalin... 10.0 GB disk7s6 This is the mount/open PreBoot Volume commands output: andrea2@iMac-di-Andrea2 ~ % sudo diskutil mount disk7s3 Password: Volume PreBoot on disk7s3 mounted andrea2@iMac-di-Andrea2 ~ % open /System/Volumes/Preboot The file /System/Volumes/Preboot does not exist. andrea2@iMac-di-Andrea2 ~ % open /System/Volumes/PreBoot The file /System/Volumes/PreBoot does not exist. Any idea about? Open it from the Finder. 2 Link to comment Share on other sites More sharing options...
SardusX86 Posted August 9, 2021 Share Posted August 9, 2021 (edited) On 8/8/2021 at 8:36 PM, miliuco said: Open it from the Finder. Yes, using Finder works! @antuneddu, @miliuco, Thanks for the in-depth explanation and for supporting me with Your guide&hints!😀👍 Now I can distinguish the system volume from the backup volume. Edited August 9, 2021 by SardusX86 3 Link to comment Share on other sites More sharing options...
miliuco Posted August 9, 2021 Share Posted August 9, 2021 @SardusX86 I’m glad to read you. You have learned a new thing. And thanks to @blackosx for all these beautiful icons. 1 Link to comment Share on other sites More sharing options...
rajkhand Posted August 16, 2021 Share Posted August 16, 2021 On 8/7/2021 at 1:43 AM, antuneddu said: This way you should succeed First disable SIP from the terminal via Recovery Open the terminal and type " diskutil list " locate the Preboot disk in my case disk3s2 mount it with " sudo diskutil mount disk3s2 " once mounted, open it with " open / System / Volumes / Preboot " you will find a folder named with the UUID of the disk / partition (my example 3583CAA1-E632-4B94-BC8D-689CED58B496) open it and copy the icon of your choice in my example Apple.icns you will need to rename it in " .VolumeIcon.icns " this is always possible and only via the terminal in this way type cd / System / Volumes / Preboot / 3583CAA1-E632-4B94-BC8D-689CED58B496 (or cd and drag the UUID folder) to rename it type sudo mv Apple.icns .VolumeIcon.icns the icon will become invisible you can check by enabling the option for hidden files Copy the icon After rename Before After https://drive.google.com/file/d/1Efl6ARBfzO_KgByai0esJV80cmfHtbqj/view?usp=sharing 😉 How you have assigned icons to the tools programs like openshell by even changing the name displayed below, Reset NVRAM is same as clearNVRAM? Also where to put the volumeicon for Ubunti system? Link to comment Share on other sites More sharing options...
rajkhand Posted August 18, 2021 Share Posted August 18, 2021 I have solved most of the problems but I am unable to rename the main Boot drive. The name of the drive is Hackintosh and I want to show this drive name as BigSur in Opencore/OpenCanopy I have tried all the solution mentioned here and in the configuration.pdf like hidden file in EFI/Boot .contentFlavour creating .disk_label (.disk_label_2x) .contentDetails or .disk_label.contentDetails my pickerattribute is 144 and my OC version is 0.7.0 Please Help! Link to comment Share on other sites More sharing options...
Matgen84 Posted August 18, 2021 Share Posted August 18, 2021 1 hour ago, rajkhand said: I have solved most of the problems but I am unable to rename the main Boot drive. The name of the drive is Hackintosh and I want to show this drive name as BigSur in Opencore/OpenCanopy I have tried all the solution mentioned here and in the configuration.pdf like hidden file in EFI/Boot .contentFlavour creating .disk_label (.disk_label_2x) .contentDetails or .disk_label.contentDetails my pickerattribute is 144 and my OC version is 0.7.0 Please Help! What is the name your drive in Disk Utility ! Rename it if necessary. It must be also named Big Sur in .disk_label.contentDetails, by using vi in Terminal. If I remember well. Link to comment Share on other sites More sharing options...
Anto65 Posted August 18, 2021 Share Posted August 18, 2021 (edited) 2 hours ago, rajkhand said: I have solved most of the problems but I am unable to rename the main Boot drive. The name of the drive is Hackintosh and I want to show this drive name as BigSur in Opencore/OpenCanopy I have tried all the solution mentioned here and in the configuration.pdf like hidden file in EFI/Boot .contentFlavour creating .disk_label (.disk_label_2x) .contentDetails or .disk_label.contentDetails my pickerattribute is 144 and my OC version is 0.7.0 Please Help! Hi, sorry but I lost your post, in the past I tried with the tool that is in the OC Release but it didn't work. To rename the main Boot drive you need to access the ".disk_label_contentsDetails" file inside the UUID folder. it is hidden you have to activate the option to view it but first of all it is necessary to deactivate Sip. To access the file and the Preboot disk and edit it, you can follow the procedure above via the terminal "diskutil list" to locate the Preboot disk example disk2s2 mount it "sudo diskutil mount disk2s2" once mounted open it "open / System / Volumes / Preboot" (or via finder if it doesn't open) you will find a folder named with the UUID of the disk / partition (my example 3583CAA1-E632-4B94-BC8D-689CED58B496) go to "/ System / Library / CoreServices" folder (you need to show hidden files) find the file named " .disk_label_contentsDetails " open it with text editor and rename it 🙂 Short video guide https://drive.google.com/file/d/1SwDyqGrlHGBTnMEci4EP2yxDG8n7BAV9/view?usp=sharing Edited August 18, 2021 by antuneddu 1 1 Link to comment Share on other sites More sharing options...
miliuco Posted August 18, 2021 Share Posted August 18, 2021 (edited) @rajkhand Or in an easier manner, install Intel Power Gadget or reinstall it if it's already installed AFTER renaming the volume with the new name. Reboot. Intel Power gadget updates Preboot volume and .disk_label_contentsDetails file. Edited August 18, 2021 by miliuco 1 Link to comment Share on other sites More sharing options...
Anto65 Posted August 18, 2021 Share Posted August 18, 2021 1 hour ago, miliuco said: @rajkhand Or in an easier manner, install Intel Power Gadget or reinstall it if it's already installed AFTER renaming the volume with the new name. Reboot. Intel Power gadget updates Preboot volume and .disk_label_contentsDetails file. I do not understand what the Intel Power Gadget is for, once the volume is renamed it remains, no need to update anything Link to comment Share on other sites More sharing options...
miliuco Posted August 18, 2021 Share Posted August 18, 2021 (edited) 1 hour ago, antuneddu said: I do not understand what the Intel Power Gadget is for, once the volume is renamed it remains, no need to update anything Yes but he wants to rename the volume so a new installation of IPG updates Preboot volume and the new volume name. It’s a side effect of IPG, since this app updates Preboot when installing we can use this feature to internally change the macOS volume name. Edited August 18, 2021 by miliuco Link to comment Share on other sites More sharing options...
Anto65 Posted August 18, 2021 Share Posted August 18, 2021 26 minutes ago, miliuco said: Yes but he wants to rename the volume so a new installation of IPG updates Preboot volume and the new volume name. It’s a side effect of IPG, since this app updates Preboot when installing we can use this feature to internally change the macOS volume name. I still don't understand are you telling me that IPG renames the Volume for you? Link to comment Share on other sites More sharing options...
miliuco Posted August 18, 2021 Share Posted August 18, 2021 13 minutes ago, antuneddu said: I still don't understand are you telling me that IPG renames the Volume for you? No, you rename the volume but internally (.disk_label_contentsDetails file) the old name remains so OpenCore doesn't show the new name. You can fix it by the way you have wrote (disable SIP, show invisibles, change /System/Library/CoreServices/.disk_label_contentsDetails) but IPG does this in an easier way. IPG is for another thing but since it updates Preboot when installing we can use this feature for this task. 1 Link to comment Share on other sites More sharing options...
Anto65 Posted August 18, 2021 Share Posted August 18, 2021 4 minutes ago, miliuco said: No, you rename the volume but internally (.disk_label_contentsDetails file) the old name remains so OpenCore doesn't show the new name. You can fix it by the way you have wrote (disable SIP, show invisibles, change /System/Library/CoreServices/.disk_label_contentsDetails) but IPG does this in an easier way. IPG is for another thing but since it updates Preboot when installing we can use this feature for this task. So you have to rename it as I described. .... but IPG does this in an easier way..... Explain to me how thanks 1 Link to comment Share on other sites More sharing options...
miliuco Posted August 18, 2021 Share Posted August 18, 2021 7 minutes ago, antuneddu said: So you have to rename it as I described. .... but IPG does this in an easier way..... Explain to me how thanks By design (Intel) IPG upon installation also updates the Preboot volume including the volume name if it does not match the one in .disk_label_contentsDetails. On reboot, the effect is the same as modifying the .disk_label_contentsDetails file by hand after disabling SIP. I think my bad English makes my explanation difficult to understand, sorry. Link to comment Share on other sites More sharing options...
Anto65 Posted August 18, 2021 Share Posted August 18, 2021 I mean you are saying that if I have the volume named Hackintosh and I have installed Big Sur, installing IPG will rename the volume atomatically to Big Sur, right? Link to comment Share on other sites More sharing options...
Anto65 Posted August 18, 2021 Share Posted August 18, 2021 I manually renamed the Monterey Preboot volume in Hackintosh Hd After I installed IPG, once I rebooted the Preboot volume it was automatically renamed to Monterey... Gracias @miliuco for this nice trick it works So @rajkhand you have 2 ways to rename the Volume now if you don't feel like fiddling with the terminal 🙂 1 Link to comment Share on other sites More sharing options...
rajkhand Posted August 19, 2021 Share Posted August 19, 2021 I am unable to disable SIP As suggested put csr-active-config=FF0F000, rebooted still shows csr enabled even tried SIP Toggle tool (csrUtil.efi)) in opencore boot but SIP is not dissabled Link to comment Share on other sites More sharing options...
Recommended Posts