Passer au contenu principal

Effacer et réinstaller macOS en un clic

Publié dans: Jamf Pro, Education, Enterprise

[Vous trouverez les mises à jour adaptées à macOS Mojave à la fin de l’article]

La nouvelle version mac OS High Sierra 10.13.4 permet aux administrateurs systèmes d’effacer et réinstaller un mac en un seul clic. Ce processus ne requiert aucune application tierce, seulement l’application « Install macOS High Sierra.app ». (« Installer macOS High Sierra.app » sur un système en français). Cette dernière intègre une nouvelle option à l’outil en ligne de commande startosinstall inclus :

 --eraseinstall

Cette option fait exactement ce que son nom indique ! En utilisant cette commande, il est possible d’effacer un Mac et de réinstaller macOS. Il n’est pas nécessaire de disposer d’un disque externe ou d’une solution de type NetBoot. Elle ne nécessite même pas de démarrer sur la partition de récupération (Recovery HD).

Tant que l’application d’installation est présente sur l’ordinateur, nous avons tout ce qu’il nous faut.

Pourquoi faut-il utiliser cette méthode à la place de l’imaging ?

Apple s’éloigne de plus en plus du concept de l’imaging. Pourquoi ?

Le lien entre le système d’exploitation macOS et le Mac lui-même se fait par le biais de mises à jour de firmware. Ces dernières ne peuvent être installées que par l’application d’installation et ne sont appliquées que lorsque cette dernière effectue la phase de préparation du matériel avant la mise à jour.

Lorsque vous mettez à jour un Mac de Sierra à High Sierra en utilisant un programme tel que AutoDMG, par exemple, les images créées ne contiennent pas ces mises à jour de firmware. Ceci peut engendrer un manque de stabilité et donc des résultats inattendus.

Oui, passer par l’application d’installation de macOS prend plus de temps que le déploiement en mode copie de blocs d’images, cependant ce compromis vous garantit une meilleure sécurité et une performance améliorée.

Comment utiliser—eraseinstall ?

L’option—eraseinstall est un argument de la ligne de commande « startosinstall ». Téléchargez macOS High Sierra depuis le Mac App Store, vous la retrouverez dans votre dossier Applications. Faites ensuite un clic droit (ou clic secondaire) sur l’application « Install macOS High Sierra.app » et sélectionnez l’option « Afficher le contenu du paquet > Content > Resources > startosinstall ». Faites glisser ce fichier dans une fenêtre du terminal en ajoutant —usage à la fin.

 "/Applications/Install macOS High Sierra.app/Contents/Resources/startosinstall" ‑‑usage

Cette commande listera tous les arguments (chacun commençant par deux tirets) ainsi qu’une explication pour chacun d’entre eux. Tous ne sont pas requis, et ce sera à vous de faire le tri par tâtonnements, mais certains doivent être impérativement spécifiés.

Voici un exemple de commande aboutissant à ce que l’on recherche, un effacement et une réinstallation de macOS :

 "/Applications/Install macOS High Sierra.app/Contents/Resources/startosinstall" ‑‑eraseinstall
‑‑newvolumename "Macintosh HD" --agreetolicense

L’argument—eraseinstall est obligatoire afin de passer à l’étape suivante, cependant —newvolumename ne l’est pas. Cet argument permet de renommer la partition de démarrage au cas où un utilisateur l’ait modifié. L’argument —agreetolicense n’est pas obligatoire mais est utile. Sans cela, vous devrez visualiser et accepter la licence manuellement. En l’ajoutant, cette étape n’est pas affichée.

Création du « bouton »

Il nous faut maintenant ajouter tout cela dans Self Service. Nous vous suggérons d’implémenter deux règles à cet effet.

1. Création du paquet

La première règle placera l’application « Install macOS High Sierra.app » dans le dossier Applications sur vos machines cibles :

  • Utilisez Composer pour créer un nouveau paquet qui déploiera l’application « Install macOS High Sierra.app » dans le dossier voulu. Enregistrez ensuite le paquet en tant que PKG (ceci n’installera pas High Sierra et ne fera que placer l’application dans le bon dossier sur les machines).
  • Uploadez votre nouveau paquet sur votre point de distribution par le biais de Jamf Admin, ou le portail web Jamf Pro si vous utilisez un serveur cloud.

2. Création du groupe intelligent d’ordinateurs

Nous allons maintenant créer un groupe intelligent d’ordinateurs afin de répertorier les machines disposant de l’application « Install macOS High Sierra.app ».

  • Utilisez les deux critères comme dans la capture d’écran ci-dessous.
  • Dans le critère Application Title, il faut bien utiliser le nom original de l’application en anglais dans ce cas-là.
  • Utilisez « 13.4 » et non pas « 10.13.4 » pour déterminer la version de l’application, car celle-ci ne correspond pas directement à la version de macOS.
  • Nommez ce groupe « Installeur macOS High Sierra présent ».

3. Création de la première règle

Il nous faut maintenant créer la règle qui lancera le déploiement du paquet, qui placera l’application « Install macOS High Sierra.app » de manière silencieuse sur les ordinateurs cibles.

Pourquoi silencieusement ? D’une part, l’utilisateur final n’a pas forcément besoin d’être notifié que cette application est copiée sur son appareil. Mais surtout, nous souhaitons que ce fichier de plus de 5GB soit présent sur le Mac avant que nous lancions la commande —eraseinstall (via la seconde règle, voir plus loin). En déployant d’abord l’application avant d’afficher la règle suivante dans Self Service, cela évite à l’utilisateur d’attendre plus de dix minutes pour télécharger le paquet et donne l’impression que la réinstallation de macOS commence de manière immédiate.

4. Création de la seconde règle

Cette seconde règle va contenir la commande startosinstall, et nous la placerons dans Self Service afin de créer l’illusion de réinstaller le Mac en un clic.

Puisque cette règle est placée dans Self Service, nous devons ajouter une esperluette (&) à la fin de la ligne pour permettre à Self Service de quitter lorsque l’appareil est sur le point de redémarrer. Vous trouverez la commande ci-dessous :

Une fois placée dans le Self Service avec un nom explicite tel que « Effacer et Installer », n’oubliez pas d’avertir vos utilisateurs que toutes leurs données seront effacées. Pour les sensibiliser aux conséquences, nous vous suggérons d’utiliser du markdown pour afficher l’avertissement.

Comment fonctionne ce bouton ?

Une fois qu’un utilisateur ou un technicien clique dans Self Service sur « Effacer et Ré-installer », la commande ne prend que quelque secondes avant que l’ordinateur ne redémarre. Cette commande crée une nouvelle partition, copie l’installeur vers cette dernière et redémarre le Mac. Après le redémarrage, l’application supprimera l’ancienne partition, ainsi que toutes ses données, et en crée une nouvelle où sera installée cette version propre de macOS.

Ce processus prend autant de tant que réinstaller macOS depuis un lecteur externe et beaucoup moins de temps que de passer par la partition de récupération Recovery HD, qui télécharge d’abord un nouvel installeur. Vous pourriez envisager de garder en permanence une copie de l’application « Installer macOS High Sierra.app » sur vos Mac gérés afin de pouvoir rapidement effacer et réinstaller le système d’exploitation à tout moment.

Une mise en garde cependant : l’argument —eraseinstall ne fonctionne qu’avec les volumes APFS. C’est-à-dire que vous pouvez effacer et réinstaller macOS High Sierra (10.13) qui est déjà formaté APFS, cependant cette commande ne fonctionne pas pour les versions précédant et incluant 10.12.

Néanmoins la commande « startosinstall » prend en charge la mise à jour de macOS Sierra (et des systèmes plus anciens) vers macOS High Sierra (sans l’effacement). Cette mise à jour convertit automatiquement les volumes SSD formatés en HFS+ en APFS. La commande est la suivante :

 "/Applications/Install macOS High Sierra.app/Contents/Resources/startosinstall" ‑‑applicationpath "/Applications/Install macOS High Sierra.app" ‑‑agreetolicense &

Mise à jour concernant macOS Mojave

Peu de choses diffèrent en ce qui concerne l’installeur macOS Mojave 10.14 initialement publié en septembre 2018 et ses mises à jour ultérieures. L’installeur de Mojave n'effacera et ne ré-installera que les Macs disposant de disques formatés APFS, ce qui signifie qu'ils doivent exécuter au minimum macOS High Sierra 10.13. (L’installeur de Mojave ne pourra que mettre à jour les Macs disposant de disques formatés HFS+, sans les effacer.)

Vous ne pouvez pas utiliser l'argument ‑‑eraseinstall pour rétrograder un Mac de Mojave à High Sierra. L’installeur de macOS High Sierra ne fonctionne pas sur le système d'exploitation Mojave. Le Mac doit démarrer sur un volume externe où l'administrateur peut ensuite exécuter « Utilitaire de disque » pour effacer le disque et installer l'ancien système.

Avec ces changements mineurs à l'esprit, passons en revue le workflow mis à jour.

1.Création du paquet

  • Utilisez Composer pour créer un nouveau paquet (PKG) qui déploiera l’application « Install macOS Mojave.app » dans le dossier Applications.
  • Uploadez votre nouveau paquet sur votre point de distribution à l’aide de Jamf Admin ou directement via le portail web Jamf Pro si vous utilisez un serveur cloud

2. Création du groupe intelligent d’ordinateurs

Mettez à jour votre groupe intelligent d’ordinateurs (ou créez-en un nouveau) « Installeur macOS Mojave présent ». Dans le critère Application Title, il faut bien utiliser le nom original de l’application en anglais dans ce cas. La version minimum à rechercher pour l’installeur de Mojave est 14.4.

3. Création de la première règle

Il vous faut ensuite mettre à jour (ou créer) la règle « Déployer Install macOS Mojave.app » qui installera le paquet et déploiera l’application « Install macOS Mojave.app » de manière silencieuse sur les ordinateurs cibles.

4. Création de la seconde règle

Il faut maintenant mettre à jour la règle « Effacer et Réinstaller macOS High Sierra » existante ou en créer une nouvelle (renommez-la « Effacer et Réinstaller macOS Mojave dans les deux cas). Cette règle va lancer la commande startosinstall contentant l’argument—eraseinstall. Il ne faut pas oublier de mettre à jour le nom de l’application dans le payload « Files and Processesv» et de mettre l’esperluette (&) à la fin de la ligne pour permettre à Self Service de quitter lorsque l’appareil est sur le point de redémarrer.

  • Activez la règle dans Self Service en lui donnant un nom explicite tel que « Effacer et Réinstaller » et n’oubliez pas de mettre à jour l’icône pour Mojave. Encore une fois, assurez-vous d'inclure un avertissement dans la description afin que l’utilisateur soit conscient qu'en continuant, toutes les données seront irrémédiablement effacées. Pour sensibiliser aux conséquences nous suggérons d’utiliser le markdown.

Qu'en est-il de la mise à jour vers Mojave mais sans effacement ? La commande startosinstall prend en charge la mise à jour depuis OS X Mountain Lion 10.8 et des Macs plus récents vers macOS Mojave. Cette mise à jour convertit automatiquement les disques SSD formatés HFS+, les disques flash et les disques durs tournants vers des volumes APFS. La commande pour Mojave est un peu différente de celle de High Sierra et n'a plus besoin de l'argument—applicationpath (une ligne) :

 "/Applications/Install macOS Mojave/Contents/Resources/startosinstall" ‑‑agreetolicense &

Et le tour est joué.