Uwaga, techniczna sprawa, tylko dla chętnych do grzebania w bebechach!

Klonowanie systemu macOS jest dziecinnie proste. Wystarczy program SuperDuper!, który w gruncie rzeczy jest darmowy. Wybieramy jedynie źródło i cel. Kopiowanie odbywa się w tle i nie blokuje komputera. Pod koniec procesu program tworzy dysk, który startuje tak samo jak ten który kopiujemy.

Jest tylko jeden problem. Ten dysk w menu OpenCore będzie się tak samo nazywał jak ten który kopiujmy. Zawiera bowiem te same informacje. Dzieje się to nie zawsze, ale często.

W praktyce, chociaż kopiujmy na dysk o nazwie „x“ podczas startu z nowego, nazywać się on będzie tak jak dysk z którego zrobiliśmy klon, czyli nie tak jak powinien. Logiczne, przecież to klon. Tak więc jeśli pozostawimy oba dyski w komputerze, podczas startu zobaczymy oba pod nazwą „x“. No i zgaduj wtedy który jest który. I dlaczego u diabła tak jest!

Rozwiązanie zagadki jest proste, ale naprawa już nie jest. Gdzieś tkwi informacja o nazwie dysku, która podczas klonowania została skopiowana. Ale gdzie? Informacja tkwi na /Volumes/Preboot! No gdzie by indziej! Co należy zrobić by nazwa dysku startowego wykonanego klonowaniem w picker OpenCore była taka sama jak nazywa się dysk w rzeczywistości?

Oto mini poradnik:

1. Musimy wyłączyć SIP, ponieważ system nie zezwoli nam na manipulacje plikami należącymi do systemu macOS. Najlepiej to zrobić na USB-Stick, z którego wystartujemy OpenCore. W tym celu zmieniamy na EFI USB-Sticka w config.plist >>  NVRAM >> Add >> 7C436110-AB2A-4BBB-A880-FE41995C9F82 >> csr-active-config:

(I tu uwaga, dla różnych macOS musimy podać inną wartość: dla Mojave albo Catalina będzie to FF070000, dla Big Sur FF0F0000, najlepiej sprawdzić w sieci jak dla danej wersji macOS wyłączyć SIP.)

2. W config.plist pod NVRAM -> Delete -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> wpisujemy csr-active-config, To spowoduje, że poprzedni zapis o aktywności SIP zostanie wykasowany z NVRAM.

3. Robimy reboot I startujemy z EFI z USB-Stick, (przypominamy sobie, by móc modyfikować ten zagadkowy plik systemowy). Dla pewności możemy podać w terminalu: csrutil status. Wszystko powinno być na disabled.

4. Startujemy Terminal i szukamy nasz dysk Preboot na dysku fizycznym, podając rozkaz diskutil list, albo diskutil apfs list, musimy znaleźć jego identyfikację, będzie się nazywać przykładowo disk3s2 albo disk1s2.

Ten dysk musimy zamontować. Wkładamy w Terminal >> sudo diskutil mount /dev/diskXsX, gdzie diskXsX to ten rozpoznany wcześniej Preboot. Musimy potwierdzić hasłem administratora. Nazwa się zmienia w zależności od komputera, ilości dysków. Ten dysk nie pojawi się na pulpicie. No nie ma tak łatwo, Apple wie co robi. Wybieramy z menu u góry >> idź do >> idź do folderu i wpisujemy: /Volumes/Preboot. Pojawi się wtedy okno z zawartością Preboot i folder o nazwie UUID, jaki ma nasz dysk, ten skopiowany. I możemy teraz głośno powiedzieć: pokaż kotku co masz w środku!

5. Łola Boga, w tym momencie jest jeszcze jedna komplikacja, ważne pliki są niewidzialne. Apple, do diaska! No więc trzeba je zmusić do widzialności i robi się to za pomocą 3 klawiszy naciśniętych równocześnie: cmd + Shift + . Dobra, cmd + Shift + kropka.

Szukamy w /UUID-number/System/Library/CoreServices/.disk_label.contentDetails i otwieramy za pomocą TextEdit. Jeśli plik zawierać będzie poprawną nazwę, to istnieć będzie jeszcze jeden dziwny plik o nazwie .contentDetails, i ten zawiera tą nazwę którą ma dysk klonowany i którą chcemy dostosować do nazwy dysku nowego.

No i teraz możemy tą nazwę zmienić bez problemu programem TextEdit. Kopiujemy ten plik na pulpit (ważne). Wpisujemy nazwę jaka się nam podoba, z reguły będzie to ta sama nazwa jaką wybraliśmy podczas formatowania nowego dysku. Kasujemy stary plik .contentDetails (kosz opróżniamy) i przerzucamy ten z pulpitu ze zmienioną nazwą, potwierdzamy hasłem.

Niestety zmienią się wtedy uprawnienia tego pliku i należy je naprawić. Jak się naprawia opisane jest tu: , w punkcie 10. W skrócie naznaczamy folder CoreServices, CMD+i /kłódka/ hasło/ koło zębate - na nowszych macOS trzy kropki/ zastosuj na wszystkie podobiekty (coś tak jakby w tym sensie będzie po polsku). Następnie można sobie sprawdzić w informacji o pliku (cmd + i), czy zmieniły się uprawnienia na systemowe. Po naprawie uprawnień możemy wyłączyć podgląd niewidzialnych plików przy pomocy kombinacji cmd + Shift + kropka.

No i w zasadzie wszystko zrobione, możemy wystartować ze sticka USB, ale wcześniej znowu go modyfikujemy. Mianowicie wracamy do ustawień SIP jakie mieliśmy wcześniej, ale pozostawiamy wpis w Delate. Po jednym restarcie z tego sticka USB możemy go schować do szuflady i nie denerwować się w końcu zdublowanymi nazwami dysków w pickerze OpenCore.

Jest to dużo pracy nad mini problemem. Ale w końcu chcemy porządek! hehe

Dodatkowo poznaliśmy zawartość partycji Preboot.

Gdyby jednak nie było ochoty na całą tą żmudną robotę, to jest naturalnie alternatywa 😃! Wystarczy przemaglować system, czyli przeprowadzić instalację tego samego systemu na istniejący.

@A.M. NOGLIK / 07-03-2023