Faire une installation propre de macOS depuis le logiciel d’installation de macOS avec startosinstall

macOS Install App

Si vous devez réinstaller macOS de façon totalement propre (clean install, comme on dit dans notre jargon d’informaticien), vous disposez de plusieurs méthodes : 

  • Démarrer depuis une clé de démarrage créée avec DiskMaker X (ou un autre outil) ou la ligne de commande, formater le disque et réinstaller le système;
  • Démarrer depuis la partition macOS Recovery, formater le disque et réinstaller le système depuis Internet ;

Mais depuis le logiciel d’installation de macOS 10.13.4, il existe une autre méthode : utiliser la commande startosinstall  en y ajoutant l’option eraseinstall. Cette commande est « cachée » dans le logiciel d’installation de macOS. Vous pouvez la lancer depuis le système en cours d’utilisation, ce qui aura pour effet de redémarrer le Mac, effacer le contenu de la partition en cours et réinstaller le système au propre. Et oui, tout d’un seul coup ! Evidemment, n’utilisez pas cette méthode si vous avez encore des données non sauvegardées à conserver !!!

Pour utiliser cette méthode, le plus simple est de laisser l’application Installer macOS Mojave (lien de téléchargement) ou Installer macOS High Sierra (lien de téléchargement) dans le dossier… /Applications.

Ensuite, lancez le Terminal, et tapez la commande suivante :

– Pour macOS Mojave :

sudo /Applications/macOS\ Mojave\ Install.app/Contents/Resources/startosinstall --eraseinstall

– Pour macOS High Sierra :

sudo /Applications/macOS\ High\ Sierra\ Install.app/Contents/Resources/startosinstall --eraseinstall

Vous devrez ensuite valider en tapant votre mot de passe d’administrateur, puis en tapant A pour valider le fait que vous souhaitez reformater le système, et encore une fois A pour accepter la licence de macOS. Votre Mac va alors redémarrer, puis réinstaller un système tout beau tout propre.

Quelques remarques :

  • Le système doit être installé sur une partition APFS. Si vous êtes encore en HFS+, ça ne fonctionnera pas.
  • L’application d’installation de macOS 10.13 doit installer macOS 10.13.4 minimum. Si vous essayez avec une version plus ancienne, ça ne passera pas. Téléchargez à nouveau macOS 10.13 depuis l’App Store pour récupérer la dernière version (10.13.6).
  • Cette astuce ne fonctionne que si le système installé est déjà en 10.13.4 minimum. Par exemple, vous ne pourrez pas faire un effacement / réinstallation si vous essayez d’utiliser startosinstall depuis un Mac ayant démarré sur un 10.12.
  • Si la partition est chiffrée avec FileVault, elle sera effacée et le système sera réinstallé sur le volume non chiffré. Il faudra donc réactiver FileVault derrière (en tout logique).
  • Si vous ne souhaitez pas afficher le message de licence, ajoutez après la commande l’option –agreetolicense
  • Par défaut, macOS crée sur un disque APFS un conteneur qui peut intégrer des volumes additionnels dont l’espace de stockage est partagé au sein du conteneur. Par exemple, un conteneur de 1 To peut intégrer deux volumes distincts mais dont le stockage est partagé entre les deux volumes. Si vous utilisez l’option eraseinstall, tous les volumes du conteneur APFS seront effacés. Pour éviter cela, ajoutez l’option –preservecontainer pour effacer uniquement le volume de démarrage courant sans toucher aux autres volumes.
  • Vous pouvez renommer automatiquement la partition avec le nom de votre choix en ajoutant l’option –-newvolumename suivie du nom de votre choix (pensez à mettre le nom entre guillemets si vous souhaitez le nommer avec des espaces). Exemple :
sudo /Applications/macOS\ High\ Sierra\ Install.app/Contents/Resources/startosinstall --eraseinstall --newvolumename "Macintosh HD"

 Notez que la réinstallation est alors assez rapide : comptez une quinzaine de minutes.

Si vous utilisez une solution de gestion de parc type Jamf Pro, FileWave, Munki… vous pouvez utiliser cette méthode pour facilement remettre un poste au propre, en déployant au préalable l’app d’installation puis en lançant la commande via un script.

Et si vous avez n’aimez pas le Terminal, il existe EraseInstall.app, une interface graphique pour cette commande.