Retour d'expérimentation.
J'ai créé dans un volume expérimental de 120 Go
Untitled > une image-disque
DMG de 100 Go
BOOT.dmg > monté son volume
CAPITAN > cloné avec «
CCC» le contenu de mon volume-Système (OS «
El Capitan») dans le volume
CAPITAN de l'image-disque. «
CCC» affiche d'entrée un panneau d'avertissement annonçant que le clone ne sera
pas démarrable > car résidant dans une
image-disque. Bien entendu : aucun volume correspondant n'est affiché par le
boot_manager (touche "
alt").
J'ai esquissé alors une parade : j'ai inscrit dans l'espace du volume
Untitled > à côté donc de l'image-disque
BOOT.dmg > un
boot_loader boot.efi ad-hoc > un cache de démarrage
prelinkedkernel ad-hoc > un fichier
SystemVersion.plist (annonçant la couleur : OS =
El Capitan 10.11.6) > un fichier
PlatformSupport.plist (listant les Macs supportés) > un fichier de préférences de démarrage
com.apple.Boot.plist (associant à une clé
Kernel Cache l'adresse du
prelinkedkernel > et à une clé
Kernel Flags l'adresse de l'image-disque
BOOT.dmg). Cela fait > j'ai procédé à la
bénédiction du volume
Untitled par une commande :
Bloc de code:
sudo bless --folder /Volumes/Untitled --file /Volumes/Untitled/boot.efi
Le volume
Untitled est par suite affiché à l'écran du
boot_manager et choisissable comme disque de démarrage. La s'affiche (signe que l'
EFI a exécuté le
boot_loader : boot.efi) > la barre de progression s'affiche sous la (signe que le
boot_loader : boot.efi a démarré le
kernel du
prelinkedkernel) > la jauge de progression commence à se charger (signe que le
kernel a bien reçu le
flag de montage du volume
CAPITAN de l'image-disque
BOOT.dmg > pris en compte la liste des extensions associées dans le cache adressant le répertoire-Système
Extensions correspondant > et initié l'injection des
kexts) > et
pfuittt ! l'opération du
kernel part en rideau sur un
kernel_panic.
Je présume qu'avec un peu de contention d'esprit il doit être possible d'amender ce démarrage. Mais voici qui est avéré : il faut absolument qu'une distribution de
boot_files existe en-dehors de l'image-disque recelant dans son volume le clone d'un
macOS démarrable > de manière à ce qu'un
mécanisme logique de démarrage puisse s'effectuer :
EFI > boot.efi > com.apple.Boot.plist > prelinkedkernel > image-disque.dmg > volume monté du dmg > injection des extensions > INIT du Système.
Parce qu'une image-disque ne se monte
jamais toute seule en volume : c'est un
kernel démarré qui peut, si de telles instructions lui sont passées, monter en volume l'image-disque pour aller charger les extensions de son Système. Manifestement > «
Carbon Copy Cloner», si on lui fixe comme tâche de cloner un OS dans le volume d'une image-disque, n'est pas équipé pour générer dans l'espace-parent du volume de résidence de l'image-disque les
boot_files permettant le démarrage de l'OS cloné.
Bombich pourrait, sans doute, implémenter en fin de clonage une tâche de génération de ces
boot_files (comme le Programme d'installation Apple de la
Recovery HD sait générer les
boot_files de démarrage de l'image-disque
BaseSystem.dmg recelant le
Recovery OS). Mais il faut bien envisager ce que cela implique : cela implique une
appropriation logique intégrale du volume de résidence de l'image-disque à la finalité exclusive d'être un
volume dédié au démarrage du Système de cette image-disque. Comme l'est le volume
Recovery HD pour le démarrage du
Recovery OS de l'image-disque
BaseSystem.dmg.
Mais supposons à présent que l'image-disque d'accueil d'un clone réside dans un
volume abritant déjà un OS démarrable : il faudrait alors
déposséder ce volume de sa
vocation de volume de démarrage de l'OS déjà en place > pour le
dédier à la
vocation de volume de démarrage du Système de l'image-disque clonée => jamais un développeur responsable > diffusant un utilitaire de clonage d'usage général > ne peut envisager ce type d'appropriation du volume d'accueil d'une image-disque démarrable au démarrage exclusif du Système de cette image-disque...