Comment activer le mode sans échec à partir de la ligne de commande sur un Mac

Dépanner des problèmes complexes sur un Mac peut être difficile en l'état, et si vous êtes confronté à des situations complexes, vous pouvez trouver la ligne de commande pour donner un coup de main majeur. Dans ce cas, les utilisateurs avancés peuvent démarrer un Mac en mode sans échec en utilisant l'utilitaire nvram, un outil qui permet aux utilisateurs de manipuler directement les variables du micrologiciel. Nous allons utiliser nvram pour activer le démarrage en toute sécurité via la ligne de commande, empêchant un utilisateur d'utiliser la méthode Mac standard pour démarrer en mode sans échec en maintenant une touche Maj enfoncée lors du démarrage du système d'OS X, ce qui ouvre la porte à distance activation du mode sans échec et amélioration du dépannage à distance, et pour une variété d'applications de script.


C'est une astuce avec une application assez avancée, donc la plupart des utilisateurs n'auront jamais besoin de l'utiliser. Néanmoins, la commande nvram permet un dépannage vraiment à distance, ou pour les situations où il y a un problème avec un clavier Mac et des interfaces USB qui empêchent la touche Shift d'être utilisée pour un démarrage sûr comme d'habitude.

La séquence de commandes pour activer le mode sans échec via le terminal avec nvram est la suivante:

sudo nvram boot-args="-x"

Notez que cela applique un argument de démarrage pour que le mode sans échec soit défini pour toujours être activé, ce qui veut dire jusqu'à ce qu'il ait été spécifiquement désactivé, chaque démarrage sera 'sûr' avec toutes les limitations qui l'accompagnent.

Une fois le dépannage terminé, vous devez supprimer boot-arg du firmware pour que le Mac puisse démarrer normalement et se comporter normalement, ce qui peut être fait en effaçant boot-args avec la chaîne de commande suivante:

sudo nvram boot-args=""

Vous pouvez également vérifier les arguments de démarrage nvram en cours avec la commande suivante:

nvram boot-args

Si elle est désactivée, vous verrez un message d'erreur indiquant qu'aucune variable n'a été trouvée.

Cela peut évidemment être utilisé directement à partir du terminal local d'OS X, mais pour pouvoir utiliser cette commande nvram à des fins de gestion à distance sur une machine différente, le Mac cible doit avoir activé le serveur SSH pour permettre une connexion à distance administrer le Mac.

L'argument -x boot-arg peut également être utilisé en conjonction avec l'argument -v pour combiner le mode de démarrage sans échec avec le démarrage continu du mode verbeux, bien que l'utilité de l'amorçage détaillé sur un Mac administré à distance soit discutable.

J'ai dû utiliser cette astuce lors du dépannage d'un Mac avec un comportement erroné mystérieux qui avait des claviers et des interfaces USB non fonctionnels, finalement on a découvert que le Mac avait un contact avec l'eau, et la machine a finalement récupéré après séchage. Dans ce cas, les trucs de dépannage n'étaient pas nécessaires, mais il y a beaucoup de situations où ils seraient.