10.13 High Sierra Tuto : activer diskutil en Single User

  • Créateur du sujet Membre supprimé 1060554
  • Date de début
M

Membre supprimé 1060554

Invité
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 par un modérateur:
  • J’aime
Réactions: FULLCRUM et Berthold
: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
: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:
 
Salut @macomaniac j'espère que tu va bien?
Je me permet de te pauser une question car j'ai un petit soucis sur un SSD externe c'est le 120 Go mon Mac ne le lis lis plus je voudrais savoir si tu peux m'eguiller stp j'essaie de l'effacer mais impossible je te met en PJ quelques photos.
Merci d'avance en espérant que je poste au bon endroit " Je suis nouveau"
 

Fichiers joints

  • IMG_20211001_191030.jpg
    IMG_20211001_191030.jpg
    43,4 KB · Affichages: 97
Bonsoir Jeremy

Tu postes dans un fil où je détaillais naguère comment activer la commande diskutil dans une session de Single User. Commande diskutil non disponible dans une telle session > faute d'activation des services de l'OS en Single User - notamment le service diskarbitrationd & le service diskmanagementd (mais pas que). Ton problème ne correspond pas à la problématique exacte de ce fil > mais s'agissant d'un fil d'archives de type "tuto" ne connaissant aucune activité > et comme la commande diskutil est impliquée --> personnellement ça ne me gêne pas.

----------

Ton disque externe de 120 Go a une table de partition GUID avec une petite partition EFI qui va avec. Après quoi je vois 3 partitions de faible taille de type Windows / Linux --> ce qui implique énormément d'espace libre.

- passe en guise de test la commande (copier-coller) :​
Bloc de code:
diskutil eraseDisk jhfs+ TEST gpt disk1 ; diskutil list disk1
  • la commande réinitialise le disque externe : table GPT > format jhfs+ > volume TEST - puis affiche la configuration du disque externe seul

Poste le retour complet --> qu'on voie comment le disque réagit à cette commande basique.
 
Merci pour ta réactivité, j'ai fais le copier collé, je te met la photo.
 

Fichiers joints

  • IMG_20211001_215432.jpg
    IMG_20211001_215432.jpg
    61 KB · Affichages: 92
Échec de la commande. La mention : "Couldn't open device" (impossible d'ouvrir l'appareil pour écriture) n'est pas très encourageante.

- passe la commande :​
Bloc de code:
sudo gpt show disk1
  • à validation > une demande de password s'affiche (commande sudo) --> tape ton mot-de-passe de session admin en aveugle - aucun caractère ne se montrant à la frappe - et revalide
  • la commande lit la table de partition GPT d'en-tête du disque > et affiche en retour la distribution des blocs gérés par cette table

Poste le tableau obtenu.