Impossible de faire tourner un vieux macOS virtualisé sur les nouveaux Mac M4
La virtualisation, c’est vraiment un truc que j’utilise tout le temps. Ca permet aux bidouilleurs et développeurs que nous sommes, de faire tourner plusieurs systèmes d’exploitation sur une même machine… Enfin, quand tout fonctionne comme prévu ! Et justement, j’ai une petite mauvaise nouvelle pour ceux qui lorgnent sur les nouveaux Mac M4 : ils ne sont pas copains avec les anciennes versions de macOS en virtualisation.
Figurez-vous que ces petites bêtes, pourtant superpuissantes sur le papier, refusent catégoriquement de faire tourner toute version de macOS antérieure à la 13.4. Un véritable casse-tête pour les techos que nous sommes, qui avons parfois besoin de tester nos applications sur d’anciennes versions du système !
Concrètement, quand vous essayez de lancer une machine virtuelle avec, disons, macOS Monterey ou une version plus ancienne de Ventura, c’est le drame : écran noir et plus rien ne bouge. Vous pouvez bien tenter toutes les incantations possibles, changer les paramètres de virtualisation, essayer de démarrer en mode Recovery ou même supplier votre Mac à genoux, rien n’y fait. La VM refuse obstinément de démarrer.
La situation est d’autant plus frustrante que ça marche parfaitement sur les Mac M1, M2 et M3. C’est à se demander si Apple n’aurait pas décidé de nous pousser gentiment vers les versions récentes de son OS… Mais pour ceux qui développent des applications devant fonctionner sur plusieurs versions, c’est plutôt embêtant.
Et le pire dans tout ça ? Les logs ne nous apprennent strictement rien ! Le système semble démarrer normalement, initialise tranquillement ses composants virtuels comme Virtio, et puis… plus rien. Nada. Le néant. Comme si votre VM partait méditer au fond d’une grotte.
Pour les curieux qui se demandent d’où vient le problème, les experts pointent du doigt la phase de démarrage du kernel. En effet, le Moniteur d’activité montre qu’un seul cœur virtuel est actif, suggérant que le plantage survient avant même que le kernel ne puisse activer les autres cœurs. Certains ont même tenté de faire tourner la VM sur un seul cœur, mais même cette solution de contournement échoue sur les M4.
Alors bien sûr, certains esprits optimistes suggèrent qu’Apple pourrait corriger le tir en publiant des mises à jour des anciennes versions de macOS et de nouvelles images IPSW. Mais la probabilité que ça arrive est à peu près aussi élevée que de voir Steve Jobs revenir présenter le prochain iPhone en trottinette électrique.
Du coup, si comme moi vous êtes du genre à jongler avec différentes versions de macOS pour vos tests, voici un petit récapitulatif de ce qui tourne (ou pas) sur les différentes générations de Mac Apple Silicon :
- Sur M4 : uniquement macOS 13.4 (Ventura) et versions ultérieures
- Sur M1/M2/M3 : à partir de macOS 12.0.1 (Monterey)
- Pour Big Sur (11) : oubliez, ça ne fonctionne sur aucun Mac Apple Silicon
Petit bonus pour les utilisateurs de Sonoma (14) et Sequoia (15) : ces versions apportent quelques améliorations sympathiques pour la virtualisation, comme un meilleur support de l’affichage, l’accès à iCloud Drive et même certaines fonctionnalités de compte Apple. Par contre, évitez Sonoma 14.2/14.2.1 si vous comptez utiliser les dossiers partagés - il y a un petit bug qui a été corrigé dans la 14.3.
Tout ça pour dire que si vous avez absolument besoin de faire tourner d’anciennes versions de macOS en virtualisation, gardez précieusement votre Mac M1/M2/M3 avant de sauter le pas vers un M4. Ou alors, faites comme moi : gardez un vieux Mac sous le coude pour ces cas particuliers. Ce n’est pas l’idéal, mais c’est toujours mieux que de se retrouver coincé !
J’espère vraiment qu’Apple prendra en compte les besoins des développeurs et des bidouilleurs dans ses futures mises à jour. Mais bon, je ne parierais pas mon iMac M3 là-dessus !