10.13 High Sierra Tuto : activer diskutil en Single User

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
83 810
25 181
Forêt de Fontainebleau
Voici le descriptif des opérations au clavier pour activer diskutil en mode Single User.

Rappel : le clavier est QWERTY et le volume de démarrage monté readonly par défaut.

Voici les conversions AZERTY => QWERTY pour les commandes impliquées :
Bloc de code:
m     ,
-     )
/     =
a     q
*     ⇧8

Note : si l'invite de commande :
Bloc de code:
root#
  • n'est pas affichée en fin de défilé des logs de démarrage ou outrepassée par de nouveaux logs --> forcer son affichage par une pression sur la touche "Entrée".
----------
Bloc de code:
mount -uw /
exécution
Bloc de code:
launchctl load /System/Library/LaunchDaemons/com.apple.notif*
exécution --> ctrl c (pour couper le processus inachevé)
touche ▲ pour réafficher la commande précédente -->
Bloc de code:
launchctl load /System/Library/LaunchDaemons/com.apple.notif*
réexécution --> réponse :
Bloc de code:
com.apple.notifyd was already loaded !
----------

touche ▲ pour réafficher la commande précédente -->
Bloc de code:
launchctl load /System/Library/LaunchDaemons/com.apple.notif*
effacer notif* --> remplacer par conf* -->
Bloc de code:
launchctl load /System/Library/LaunchDaemons/com.apple.conf*
exécution --> ctrl c (pour couper le processus inachevé)
touche ▲ pour réafficher la commande précédente -->
Bloc de code:
launchctl load /System/Library/LaunchDaemons/com.apple.conf*
réexécution --> réponse :
Bloc de code:
com.apple.configd was already loaded !
----------

touche ▲ pour réafficher la commande précédente -->
Bloc de code:
launchctl load /System/Library/LaunchDaemons/com.apple.conf*
effacer conf* --> remplacer par disk* -->
Bloc de code:
launchctl load /System/Library/LaunchDaemons/com.apple.disk*
exécution --> ctrl c (pour couper le processus inachevé)
touche ▲ pour réafficher la commande précédente -->
Bloc de code:
launchctl load /System/Library/LaunchDaemons/com.apple.disk*
réexécution --> réponse :
Bloc de code:
com.apple.diskmanagementd & com.apple.diskarbitrationd were already loaded !
----------

touche ▲ pour réafficher la commande précédente -->
Bloc de code:
launchctl load /System/Library/LaunchDaemons/com.apple.disk*
effacer disk* --> remplacer par secu* -->
Bloc de code:
launchctl load /System/Library/LaunchDaemons/com.apple.secu*
exécution --> ctrl c (pour couper le processus inachevé)
touche ▲ pour réafficher la commande précédente -->
Bloc de code:
launchctl load /System/Library/LaunchDaemons/com.apple.secu*
réexécution --> réponse :
Bloc de code:
com.apple.securityd was already loaded !

----------

Les services permettant l'usage de la commande diskutil sont à présent initialisés --> on étrenne son usage par la commande -->
Bloc de code:
sudo diskutil list

  • affiche tous les devices et volumes. Les volumes externes sont tous affichés > et remontés sur leurs devices. Aucun périphérique qui serait attaché au Mac a posteriori (après le démarrage en Single User) n'est reconnu --> toujours attacher au Mac les périphériques a priori (avant le démarrage en Single User). Note : l'usage de sudo est requis pour faire opérer la commande - même si l'utilisateur est root.
  • tous les volumes étant remontés > la recopie directe (de volume à volume) est supportée - via les commandes cp ou rsync ou ditto. Préfacer toujours par sudo.
Note : l'affichage à un écran Retina est en caractères minuscules --> ce qui rend le Single User quasi inscrutable.

----------
 
Dernière édition:
  • J’aime
Réactions: FULLCRUM et Berthold

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
83 810
25 181
Forêt de Fontainebleau
:coucou: FULLCRUM

Qu'il soit possible d'activer la commande diskutil dans le Terminal du Single User : j'avais fini par considérer cette éventualité comme une sorte de "légende urbaine" du Mac.

Car j'avais essayé pendant des années (en gros à chaque nouvelle publication d'une version d'OS X - macOS) de rendre diskutil opérationnel en Single User - sans jamais réussir une seule fois. Et - faut-il dire aussi - sans trop insister dans l'entreprise, que la saisie intégrale de chaque commande isolée rendait des plus ingrate.

L'idée d'employer la touche ▲ du clavier pour réafficher chaque fois la commande précédemment passée & d'utiliser des abréviations aisément remplaçables de fin de commande (notif* > conf* > disk* > secu*) pour appeler les daemons requis > en rendant les saisies confortables --> m'a permis d'explorer leur réitération chaque fois. L'idée enfin d'employer sudo en préface de la commande diskutil (alors même qu'être dans un Terminal où l'utilisateur est root rend a priori ce recours superflu) --> a fini par débloquer l'emploi de la commande diskutil.

Cette activation de diskutil en Single User a peu de chance de devenir populaire et n'offre pas non plus de fonction pratique étendue. Disons que, dans un cas exceptionnel de volume de démarrage du disque interne qui ne monte plus (suite à des erreurs graves dans le système de fichiers) --> il arrive que le volume soit remontable en Single User. Quelqu'un qui n'a pas de sauvegarde des données de ce volume > peut alors trouver intéressante l'activation de diskutil dans le Terminal du Single User > car l'initialisation des services qui permettent cette activation --> commence par remonter les volumes des disques externes attachés au Mac au préalable. Une copie directe du volume de démarrage à un volume externe monté devient par là-même envisageable.
 
  • J’aime
Réactions: FULLCRUM et litobar71

Fullcrum

OS Collector
Club MacG
5 Janvier 2016
4 174
1 056
Dole 39
:coucou:macomaniac,

Lorsque j'ai reçu la notification par mail de ce post, j'ai d'abord cru que c'était une pelletée de commandes que tu donnais en réponse à l'un des nombreux demandeurs. Je me suis dis : Maco a flingué une membrane :eek:

C'est à la re-lecture que j'ai compris que c'était le post unique fruit de tes longues "érrances neuronnale " ...

Cette activation de diskutil en Single User a peu de chance de devenir populaire

N'en est-il pas heureux !! Imagine le margoulin tomber la dessus :dead: