10.13 High Sierra Récupérer données APFS container corrompu

Je vois que le volume Sophie est en format apfs et recèle 287 Go de données.

Passe d'abord la commande :
Bloc de code:
csrutil disable

  • qui désactive le SIP (protocole de sécurisation). Cette désactivation permettra d'avoir les coudées franches dans la session toto => pour inspecter la base de données du Service d'Annuaire.

Passe ensuite la commande (avec la plus grande exactitude) -->
Bloc de code:
rm /Volumes/Sophie/var/db/.AppleSetupDone
(un espace entre rm et /Volumes--- ; pas d'espace (!) entre db/ et .AppleSetupDone)
  • cette commande supprime un fichier de finalisation vide dans le volume Sophie --> ce qui va te permettre de ré-obtenir les panneaux de paramétrage du Mac / création d'un compte admin comme à la fin d'une 1ère installation
  • re-démarre normalement (Menu  > Disque de démarrage > choisis Sophie > redémarre dessus) --> à la fin du chargement de l'OS > au lieu d'avoir l'écran de connexion > tu vas toucher la série des panneaux de paramétrage du Mac (Pays etc.). Renseigne tout avec exactitude.
  • le dernier panneau te permet de créer un compte admin : ne reprends surtout pas les identifiants de ton compte > choisis : Nom complet = toto > nom de compte = toto > mot-de-passe = toto.

Tu ouvres une session toto --> confirme si c'est bien le cas.
 
Ça marche parfaitement, je suis bien connecté sur la session toto et j'accède bien aux données du user Sophie.
Reste à pouvoir se reconnecter à sa session.
Merci pour tout ceci, quelle est la marche à suivre ?
 
J'ai préparé mon brouillon en anticipation de ton succès. Ce qui me pemet de poster illico.

----------

Logé dans ta session toto > commence par aller à la barre de menus supérieure du Finder : Finder > Préférences > Général -->

- coche les cases d'affichage de : "Disques durs" & "Disques externes"​

=> le volume Sophie est affiché sur le Bureau (au cas où ce n'aurait pas été le cas).

----------

Tu trouves le Terminal de macOS dans le volume Sophie at: Applications > Utilitaires > Terminal.

Lance-le et passe les commandes (copier-coller ; une seule à la fois) :
Bloc de code:
sudo ls /private/var/db/dslocal/nodes/Default/users | sed '/^_/ d'
diskutil listUsers / | grep -v '.*[\^\_\].*'
dscl . -list /Users home | grep -v '.*[\^\_\].*'
sudo du -sh /Users/*

  • tu t'authentifies en aveugle avec le mot-de-passe toto après exécution de la 1ère et tu revalides (commande sudo). Pas besoin pour le 2è sudo.
  • la 1ère liste les fichiers identitaires d'utilisateurs à noms pleins (recelés dans la base de données du Service d'Annuaire)
  • la 2è liste en correspondance : nomcourt (Short Name) / nom complet (Long Name) pour les mêmes
  • la 3è affiche en correspondance nomcourt / adresse au dossier d'ouverture de session pour les mêmes
  • la 4è liste & mesure les dossiers domiciles du répertoire des Utilisateurs

=> poste tous les affichages retournés dans une fenêtre de code.
 
1ère commande :
Bloc de code:
Guest.plist
daemon.plist
nobody.plist
root.plist
toto.plist

2ème commande :
Bloc de code:
USERS
-----

Disk: disk1s1
Volume: Sophie
Mountpoint: /

UID       Short Name                      Long Name
------------------------------------------------------------------------
501       toto                            toto
-2        nobody                          Unprivileged User
201       Guest                           Utilisateur invité
0         root                            System Administrator
1         daemon                          System Services

3ème commande :
Bloc de code:
USERS
-----

Disk: disk1s1
Volume: Sophie
Mountpoint: /

UID       Short Name                      Long Name
------------------------------------------------------------------------
501       toto                            toto
-2        nobody                          Unprivileged User
201       Guest                           Utilisateur invité
0         root                            System Administrator
1         daemon                          System Services
MacBook-Pro-de-Sophie:~ toto$ dscl . -list /Users home | grep -v '.*[\^\_\].*'
daemon                  /var/root
Guest                   /Users/Guest
nobody                  /var/empty
root                    /var/root
toto                    /Users/toto

4ème commande :
Bloc de code:
  0B    /Users/Guest
12K    /Users/Shared
209G    /Users/sophiemaillard
339M    /Users/toto
 
  • J’aime
Réactions: litobar71
Tout est clair comme l'eau de source en montagne -->

- on voit dans le dernier tableau un dossier domicilaire : sophiemaillard (contenant 209 Gi = 225 Go de données). On en déduit que le nomcourt de l'utilisatrice était sophiemaillard et son nom complet : Sophie Maillard.​

- or cette utilisatrice n'est pas reconnue comme existante par le Système (ni dans le 2è tableau des utilisateurs recensés > ni dans le où le nomcourt se trouve associé à l'adresse au dossier d'ouverture de session).​

- et pourquoi ? => car (1er tableau) aucun fichier identitaire sophiemaillard.plist n'existe dans la base de données du Service d'Annuaire > pour permettre de faire valoir cette existence pour le Système. Il ne s'agit plus d'une corruption de fichier identitaire > mais d'une suppression carrément.​

=> ce qui permet une recréation directe de l'identité de l'utilisatrice > qui va donc recréer un fichier sophiemaillard.plist dans la base de données users du Service d'Annuaire -->

- d'accord et go ?​
 
  • J’aime
Réactions: litobar71
Va à : Menu  > Préférences Système > Utilisateurs & groupes > déverrouille le cadenas > bouton + pour créer un nouvel utilisateur > et tu recrées ainsi ton identité -->

  • Nouveau compte = Administrateur > Nom complet = Sophie Maillard > Nom du compte = sophiemaillard (il faut absolument que ce soit cet intitulé ici) > Mot de passe = le même qu'avant (important pour le Trousseau de session) > Confirmation : idem => Créer l'utilisateur
  • un panneau va déclarer qu'il existe déjà un dossier de ce nom (sophiemaillard) dans les Utilisateurs et te demandant si tu veux l'utiliser comme dossier de départ de session ? => presse le bouton bleu : "Utiliser le dossier existant"

=> en conséquence > un fichier identitaire sophiemaillard.plist va être recréé at: /private/var/db/dslocal/nodes/Default/users/ sophiemaillard.plist > avec des écritures valides > dont à la clé home cette adresse : /Users/sophiemaillard => qui va te permettre de réouvrir ta session sur ton dossier de compte plein de données.

Cela fait > vois-tu affichée l'utilisatrice : Sophie Maillard, Admin dans la colonne de gauche des Utilisateurs & groupes ?
 
2 commandes de finalisation et ce sera réglé.

- passe d'abord la commande informative :
Bloc de code:
sudo defaults read /private/var/db/dslocal/nodes/Default/users/sophiemaillard.plist home

  • qui lit dans le nouveau fichier identitaire : sophiemaillard.plist => le chemin au dossier d'ouverture de session associé à la clé : home (= domicile)

Poste le retour. Pour bien faire > il faut que la réponse soit -->
Bloc de code:
(
    "/Users/sophiemaillard"
)
 
Pardon, erreur de capture, c'est mieux ainsi :
Bloc de code:
MacBook-Pro-de-Sophie:~ toto$ sudo defaults read /private/var/db/dslocal/nodes/Default/users/sophiemaillard.plist home
Password:
(
    "/Users/sophiemaillard"
)
 
Chemin d'ouverture de session valide.

Dernière commande -->
Bloc de code:
sudo chown -R sophiemaillard /Users/sophiemaillard

  • la commande confirme (s'il en était besoin) l'utilisatrice sophiemaillard => en propriétaire du dossier sophiemaillard (des Utilisateurs) et de tous ses contenus

=> est-ce que tu as eu un retour ?
 
Classique et sans importance.

Redémarre
une fois > et à l'écran d'ouverture de session => loge-toi comme Sophie Maillard (Nom complet toujours affiché à cet écran) -->

- tu n'as qu'à dire si tu as bien pu réouvrir ta session et retrouver ton environnement...​