📰 La Revue de TheRaphit.com Article n° 30 [17 septembre 2025] 🎲 [Au hasard !] - [Précédent] Dernier

UTM : la virtualisation sur macOS

Guide complet de prise en main
La virtualisation bare metal n'a jamais été aussi accessible à votre Mac !


[ Retrouvez également mes autres guides UNIX/Linux sur TheRaphit.com ]


[UTM sur macOS]




UTM (Universal Turing Machines) est un logiciel open-source et gratuit, disponible sur macOS, qui vous permet d'accéder à la virtualisation.

Le projet est assez abouti, et totalement intégré : en un seul logiciel, vous disposez de tous les outils pour créer et gérer toutes sortes de machines virtuelles. UTM embarque directement un portage sur macOS du virtualiseur et émulateur QEMU, mais peut également utiliser le framework Apple Virtualization, ce qui vous permet de créer aussi des VM sur macOS, bien que ce ne soit pas l'objet principal de cet article.

Ce guide vous propose de prendre en main le logiciel pour déployer des machines virtuelles natives fonctionnant sous divers systèmes libres, mais aussi de vous donner toutes les petites astuces vous permettant de profiter au maximum de cette application, en vous permettant de gagner beaucoup de temps sur les différentes étapes de la création et de l'administration de vos machines virtuelles.

Je n'ai pas ménagé ma peine pour vous réunir en un seul endroit toute une palanquée d'informations dispersées un peu partout sur Internet. :-)

Qu'est-ce que la virtualisation bare metal ?



[ Vous pouvez passer cette présentation et accéder directement au
sommaire du guide si vous savez déjà ce dont il s'agit. ]



UTM vous permet d'exploiter de la virtualisation native dite bare metal aussi appelée hardware-assisted virtualization. Cela permet de faire fonctionner des machines virtuelles à un niveau de performance équivalent à celui qu'elles auraient si elles étaient installées nativement sur du matériel équivalent.

Avec ce type de virtualisation, il ne s'agit pas seulement d'un OS hôte qui fait fonctionner un OS invité, mais réellement de plusieurs systèmes d'exploitation s'exécutant simultanément sur le même processeur. Il n'y a pas de surcouche de processeur virtuel, le code de l'OS invité s'exécute directement sur le CPU physique. Les fondeurs de puces ont en effet développé des technologies destinées à optimiser la virtualisation, extensions VT-x sur les processeurs Intel par exemple. Pour cela, le processeur gère des contextes pour chacun des systèmes exécutés.


[Schéma décrivant la virtualisation hardware]


Un logiciel intégré au noyau du système hôte, nommé hyperviseur, est chargé de créer et de gérer ces contextes, ainsi que du partage du temps CPU entre les différents systèmes. Celui-ci communique avec un processus exécuté en mode utilisateur de l'OS hôte, le virtualiseur, qui permet notamment de créer les machines virtuelles et de définir la quantité de mémoire ainsi les périphériques auxquels celles-ci auront accès. L'OS invité sous lequel fonctionne les machines virtuelles doit exister dans une version supportant la même architecture CPU que l'hôte.

Dans le cas des hôtes macOS avec les puces Apple Silicon en particulier, il s'agit de l'architecture ARM64 (parfois dénomée ARMv8).



Sur macOS, la partie noyau est simplement nommée hypervisor, et la partie utilisateur Apple Virtualization. Cependant il est aussi possible d'utiliser QEMU à ce niveau (comme sous Linux avec KVM) car celui-ci est disponible sur macOS. Ce portage de QEMU fournit un framework de virtualisation plus largement reconnu par les différents OS libres, tout en étant capable d'interagir avec hypervisor, et permettant ainsi d'obtenir aussi les performances natives recherchées.


[Puce Apple M4]


Du côté hardware, les puces Apple Silicon disposent des extensions de virtualisation nécessaires, et ce dès le M1. Et avec l'arrivée du M3, toutes les primitives de virtualisation disponibles sur les processeurs haut de gamme d'Intel et AMD le sont désormais également sur les puces Apple Silicon - notamment celles pour la nested virtualization, la possiblité d'exécuter une machine virtuelle dans une machine virtuelle, toujours avec les mêmes performances.

Un Mac équipé d'un processeur M3, pour peu que vous disposiez de suffisamment de mémoire, est une plateforme de virtualisation hardware tout à fait au niveau d'un serveur Linux faisant fonctionner QEMU avec KVM !

Ce guide est constitué de plusieurs pages

J'en avais initialement prévu qu'une seule, mais pour que ce soit qualitatif - en gros, pas de la mayrde - j'ai préféré le scinder en plusieurs pages.
En espérant que cela ne vous empêchera pas d'y trouver toutes les informations que vous cherchez !

Partie 1 - Installation d'une machine virtuelle



Si vous souhaitez vous lancer dans l'aventure de la virtualisation sur macOS avec UTM, tout ce dont vous aurez besoin c'est d'un Mac (même un portable) avec une puce Apple Silicon (y compris le tout premier M1) et de suffisamment de mémoire. Avec 16 Go, vous pourrez expérimenter et installer une unique machine virtuelle (VM), mais je vous recommande tout de même 32 Go. A partir de 64 Go, vous pourrez faire fonctionner plusieurs VM simultanément avec moult applications dans chacune d'entre elles (serveur HTTP, base de données, ...) sans aucun problème !

Cette partie détaille pas à pas la configuration de votre première VM, en abordant toutes les petites subtilités de paramétrage qui pourront vous faire gagner du temps, mais aussi de bénéficier des meilleures performances possibles.


[Fenêtre de configuration principale d'une VM]   [Configuration CPU en mode 'host' d'une VM]


Dans le cadre de ce guide, nous allons installer une machine virtuelle sous FreeBSD, histoire de sortir un peu des sentiers battus !

Partie 2 - Démarrage automatique d'UTM et des machines virtuelles



Maintenant que vous disposez d'une multitude de machines virtuelles et que votre Mac est devenu un véritable datacenter à lui tout seul, cela pourrait être intéressant pour vous qu'UTM et que toutes ces VM puissent démarrer automatiquement avec la machine hôte.

UTM est en effet davantage conçu comme une application desktop, plutôt que comme une suite de virtualisation pour hébergeur en centre de données, à l'image de produits tels que Proxmox VE sur PC/Intel. Fort heureusement, macOS dispose en standard de tous les outils nécessaires pour cela, avec notamment Automator.


[Automator sur macOS]


Dans cette partie, vous allez apprendre comment mettre en place un workflow dans Automator qui vous permettra de démarrer non seulement UTM lorsque vous ouvrez votre session utilisateur, mais aussi toutes (ou une partie) de vos VM facilement.

Optionnellement, vous aurez également la possiblité d'activer l'ouverture automatique de session au boot de macOS, dans le cas où vous souhaiteriez transformer votre Mac en véritable hôte dédié de machines virtuelles !

Partie 3 - Les machines virtuelles « headless » et le pilotage d'UTM à distance



Pour faire suite à la partie précédente, cette troisième page va vous livrer toutes les petites astuces vous permettant de procéder à la daemonization complète d'UTM, ou comment vous allez pouvoir transformer une application de bureau en un véritable service s'exécutant en tâche de fond de manière transparente.

Egalement, vous allez pouvoir configurer toutes vos machines virtuelles « serveur » dans le mode dit « headless », c'est à dire qu'elles fonctionneront également en arrière-plan, sans ouvrir la moindre fenêtre sur votre bureau.


[Accès à la console d'une VM avec Screen - #3]   [Utilisation de 'utmctl' en ligne de commande]


Vous serez ainsi en mesure de superviser et d'aministrer aussi bien UTM que vos VM, depuis un simple shell, et donc potentiellement à distance.

Une partie qui ravira les unixiens purs et durs, amateurs de console, de terminal et de ligne de commande !

Partie 4 - Sauvegarde et restauration



Pour conclure ce guide, nous allons voir comment réaliser une sauvegarde ainsi que la restauration d'une machine virtuelle.


[Savegarde d'une VM avec FileZilla]


UTM ne le propose pas de manière intégrée directement dans l'application, toutefois la structure de données gérée par le logiciel n'est pas cryptique, et vous permet ainsi d'y parvenir facilement à l'aide d'un programme tiers.

Les machines virtuelles UTM n'auront désormais plus aucun secret pour vous !

En complément de ce guide, vous pouvez également consulter la documentation officielle d'UTM qui disponible en ligne (en anglais). Elle est plutôt bien faite, et aborde également l'utilisation d'UTM sur les appareils mobiles sous iOS.
UTM : la virtualisation sur macOS

Page principale

[(1) Installation d'une VM] [(2) Démarrage automatique]
[(3) Pilotage à distance] [(4) Sauvegarde et restauration]

La Revue de TheRaphit.com

[Compteur]
Nombre de visiteurs
depuis le 13 mai 1997.


[Accueil] [C'est quoi ?]

TheRaphit's Web Site - La dernière homepage du Web


[(Tout)2 Evangelion] Webzine : La Revue [Manga Pink Zone] [Mathématiques]

[Nouveautés] [Zone de téléchargement]


Site créé le 16 janvier 1997
©1997-2025 by TheRaphit

www.theraphit.com