10.14 Mojave nchildren does not match drec count

tabasko

Membre actif
1 Décembre 2003
753
17
49
Paris
www.123boost.com
Bonjour à tous !

En panique ce midi.
J’arrive à l’ordinateur qui était en veille et ça me demandait un mot de passe (admin ou système j’ai pas fait attention) sur un affichage semblable à l’ouverture de session mais inhabituel...

L’ordi démarre mais jeu des lenteurs inhabituelles.

Voici ce que me retourne l’utilitaire disk :

Bloc de code:
Vérification du système de fichiers.
Impossible de démonter le volume.
Mode en direct actif.
Exécution de fsck_apfs -n -l -x /dev/rdisk2s1
Checking the container superblock.
Checking the fusion superblock.
Checking the EFI jumpstart record.
Checking the space manager.
Checking the space manager free queue trees.
Checking the object map.
Checking the Fusion data structures.
Checking volume.
Checking the APFS volume superblock.
The volume 2to FusionDrive iMac5k was formatted by hfs_convert (945.200.129) and last modified by apfs_kext (945.275.7).
Checking the object map.
Checking the snapshot metadata tree.
Checking the snapshot metadata.
Checking snapshot 1 of 13.
error: directory valence check: directory (oid 0xe002e): nchildren (1) does not match drec count (0)
warning: snapshot fsroot tree corruptions are not repaired; they'll go away once the snapshot is deleted
error: directory valence check: directory (oid 0x1a002e): nchildren (4) does not match drec count (0)
error: directory valence check: directory (oid 0x2b0072): nchildren (3) does not match drec count (0)

(...)

Verifying allocated space.
Performing deferred repairs.
error: nchildren of inode object (id 917550) does not match expected value
error: nchildren of inode object (id 1703982) does not match expected value
error: nchildren of inode object (id 2818162) does not match expected value
error: nchildren of inode object (id 4980801) does not match expected value
Deferred repairs failed.
The volume /dev/rdisk2s1 could not be verified completely.
 
Bonjour tabasco

Les morceaux choisis que tu as affichés d'une vérifiation de l'apfs (vérification en mode "live" = le volume de démarrage laissé monté) --> révèlent une double corruption :

- a) corruption de snapshots = instantanés archivant des images en lecture seule d'états du volume de démarrage à un point T du temps. Je note que tu en a 13 (!) en tout - ce qui est susceptible de créer un espace occupé fantôme par verrouillage de tous les blocs portant les écritures des fichiers indexés - même après suppression massive desdits fichiers.​

- b) corruption (possible) de l'allocation d'espace de blocs. Ce qui constituerait une erreur du spaceman ou gestionnaire de l'allocation des blocs de l'apfs.​

Passe une commande :
Bloc de code:
diskutil list

  • et poste le tableau des disques --> que je voie la configuration actuelle de ton disque interne.

Question : tu confirmes pouvoir ouvrir ta session d'utilisateur quand même ?
 
Bonjour MacoManiac !
Merci de venir à mon secours.

Voici ce que me retourne la commande :

Bloc de code:
diskutil list
/dev/disk0 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         121.3 GB   disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk2         121.0 GB   disk0s2

/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *2.0 TB     disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                 Apple_APFS Container disk2         1.9 TB     disk1s2
   3:       Microsoft Basic Data BOOTCAMP                81.0 GB    disk1s3
   4:           Windows Recovery                         523.2 MB   disk1s4

/dev/disk2 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +2.0 TB     disk2
                                 Physical Stores disk0s2, disk1s2
   1:                APFS Volume 2to FusionDrive iMac5k  1.7 TB     disk2s1
   2:                APFS Volume Preboot                 45.0 MB    disk2s2
   3:                APFS Volume Recovery                510.2 MB   disk2s3
   4:                APFS Volume VM                      3.2 GB     disk2s4
 
Je vois que tu as un Fusion Drive de type apfs --> on en déduit que tu as un iMac (associant un SSD de 121 Go et un HDD de 2 To) > et que l'OS installé est Mojave (car cet OS est l'introducteur du type apfs de Fusion Drive). Tu as une partition BOOTCAMP indépendante en fin de HDD.

Le Conteneur apfs du Fusion Drive a une capacité de 2 To et une occupation de blocs de 1,7 To. Passe la commande (copier-coller) :
Bloc de code:
sudo tmutil thinlocalsnapshots / 99000000000000 4 ; say 'ENFIN TERMINÉ LA PURGE'

  • tu t'authentifies en aveugle avec ton mot-de-passe de session à la demande de password et tu revalides (commande sudo)
  • la commande supprime en lot les snapshots - instantanés du volume de démarrage rétenteurs d'espace-disque (et corrompus ici - d'après la vérification). Attends d'entendre une voix déclarer : "Enfin ! terminé la purge..." en signal de fin.

Cela fait > passe la commande :
Bloc de code:
tmutil listlocalsnapshots /

  • qui liste les snapshots du volume de démarrage

Est-ce que tu obtiens un retour ?
 
J'avais pas vu ton message (pas reçu la notification).
J'ai relancé une fois l'utilitaire disk (çà m'a fait la même chose, sauf que j'avais 21 snapshots).

J'ai bien passé ta commande
Bloc de code:
tmutil listlocalsnapshots /
Suite à quoi ta commande me retourne rien. J'imagine que c'est voulu.

Quelle est la prochaine étape ?
Comment vérifier que tout est redevenu comme "normal".

J'ai relancé l'utilitaire disk qui me retourne :
Bloc de code:
Exécution de S.O.S. sur « 2to FusionDrive iMac5k » (disk2s1)

REMARQUE : S.O.S. verrouillera temporairement le volume de démarrage.

Vérification du système de fichiers.
Impossible de démonter le volume.
Mode en direct actif.
Exécution de fsck_apfs -n -l -x /dev/rdisk2s1
Checking the container superblock.
Checking the fusion superblock.
Checking the EFI jumpstart record.
Checking the space manager.
Checking the space manager free queue trees.
Checking the object map.
Checking the Fusion data structures.
Checking volume.
Checking the APFS volume superblock.
The volume 2to FusionDrive iMac5k was formatted by hfs_convert (945.200.129) and last modified by apfs_kext (945.275.7).
Checking the object map.
Checking the snapshot metadata tree.
Checking the snapshot metadata.
Checking the extent ref tree.
Checking the fsroot tree.
error: directory valence check: directory (oid 0xe002e): nchildren (1) does not match drec count (0)
error: directory valence check: directory (oid 0x1a002e): nchildren (4) does not match drec count (0)
error: directory valence check: directory (oid 0x2b0072): nchildren (3) does not match drec count (0)
error: directory valence check: directory (oid 0x4c0041): nchildren (1) does not match drec count (0)
warning: apfs_num_other_fsobjects (334) is not valid (346)
Verifying allocated space.
Performing deferred repairs.
error: nchildren of inode object (id 917550) does not match expected value
error: nchildren of inode object (id 1703982) does not match expected value
error: nchildren of inode object (id 2818162) does not match expected value
error: nchildren of inode object (id 4980801) does not match expected value
Deferred repairs failed.
The volume /dev/rdisk2s1 could not be verified completely.
 
Dernière édition:
Pour fermer le robinet à snapshots --> va à : Menu  > Préférences Système > Time Machine => décoche l'option : "Sauvegarder automatiquement".

- repasse ma commande de suppression une fois encore après --> afin de purger tout snapshot qui aurait été automatiquement recréé dans l'intervalle.​

=> avec ces actions --> tu as éliminé le problème de la corruption des snapshots dans l'apfs.

----------

Il reste une autre erreur interne à l'apfs à traiter --> redémarre > les 2 touches ⌘R pressées pour ouvrir la session de secours (écran des 4 Utilitaires macOS).

- lance l'Utilitaire de disque. Dans le coin supérieur gauche du panneau > clique la pastille : "Présentation" & sélectionne l'option : "Afficher tous les appareils" => le Conteneur apfs global se trouve alors affiché.​

- sélectionne-le et fais un S.O.S. dessus (à vocation de réparation - aucune réparation de système de fichiers ne pouvant être effectuée depuis une session du volume 2to FusionDrive iMac5k démarré).​

Cela fait > redémarre (Menu  > Redémarrer). Ta session d'utilisateur réouverte > repasse une commande :
Bloc de code:
diskutil verifyVolume disk1

  • et reposte l'affichage complet de la vérification.
 
Merci MacoManiac pour ton aide.

Alors, c'est fait en mode rescue, et çà a bien corrigé les erreurs présentes à priori.

En revanche de retour sur ma session, la commande :
diskutil verifyVolume disk1
me retourne :

Bloc de code:
Error starting file system verification for disk1: Invalid request (-69886)

voici d'autre information avant que tu me les demandes.

Peut être qu'un diskutil info disk1 t'éclairera sur ma situation :

Bloc de code:
Device Identifier:         disk1
   Device Node:               /dev/disk1
   Whole:                     Yes
   Part of Whole:             disk1
   Device / Media Name:       APPLE SSD SM0128L

   Volume Name:               Not applicable (no file system)
   Mounted:                   Not applicable (no file system)
   File System:               None

   Content (IOContent):       GUID_partition_scheme
   OS Can Be Installed:       No
   Media Type:                Generic
   Protocol:                  PCI-Express
   SMART Status:              Not Supported

   Disk Size:                 121.3 GB (121332826112 Bytes) (exactly 236978176 512-Byte-Units)
   Device Block Size:         4096 Bytes

   Read-Only Media:           No
   Read-Only Volume:          Not applicable (no file system)

   Device Location:           Internal
   Removable Media:           Fixed

   Solid State:               Yes
   Hardware AES Support:      No


diskutil list
Bloc de code:
iMac-5K-2to:~ tabasko$ 
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *2.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk2         1.9 TB     disk0s2
   3:       Microsoft Basic Data BOOTCAMP                81.0 GB    disk0s3
   4:           Windows Recovery                         523.2 MB   disk0s4

/dev/disk1 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         121.3 GB   disk1
   1:                        EFI EFI                     314.6 MB   disk1s1
   2:                 Apple_APFS Container disk2         121.0 GB   disk1s2

/dev/disk2 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +2.0 TB     disk2
                                 Physical Stores disk1s2, disk0s2
   1:                APFS Volume 2to FusionDrive iMac5k  1.6 TB     disk2s1
   2:                APFS Volume Preboot                 45.0 MB    disk2s2
   3:                APFS Volume Recovery                510.2 MB   disk2s3
   4:                APFS Volume VM                      24.6 KB    disk2s4


diskutil info /Volumes/2to\ FusionDrive\ iMac5k
Bloc de code:
   Device Identifier:         disk2s1
   Device Node:               /dev/disk2s1
   Whole:                     No
   Part of Whole:             disk2

   Volume Name:               2to FusionDrive iMac5k
   Mounted:                   Yes
   Mount Point:               /

   Partition Type:            41504653-0000-11AA-AA11-00306543ECAC
   File System Personality:   APFS
   Type (Bundle):             apfs
   Name (User Visible):       APFS
   Owners:                    Enabled

   OS Can Be Installed:       Yes
   Booter Disk:               disk2s2
   Recovery Disk:             disk2s3
   Media Type:                Generic
   Protocol:                  PCI-Express
   SMART Status:              Not Supported
   Volume UUID:               26C809BC-0BBA-31D8-86C9-CB09CCCA7892
   Disk / Partition UUID:     26C809BC-0BBA-31D8-86C9-CB09CCCA7892

   Disk Size:                 2.0 TB (2039639638016 Bytes) (exactly 3983671168 512-Byte-Units)
   Device Block Size:         4096 Bytes

   Volume Total Space:        2.0 TB (2039639638016 Bytes) (exactly 3983671168 512-Byte-Units)
   Volume Used Space:         1.7 TB (1651519569920 Bytes) (exactly 3225624160 512-Byte-Units) (81.0%)
   Volume Free Space:         388.1 GB (388120068096 Bytes) (exactly 758047008 512-Byte-Units) (19.0%)
   Allocation Block Size:     4096 Bytes

   Read-Only Media:           No
   Read-Only Volume:          No

   Device Location:           Internal
   Removable Media:           Fixed

   Solid State:               Yes
   Hardware AES Support:      No
 
Ton Conteneur apfs est disk2 en fait (j'avais oublié le Fusion Drive). Donc la commande de vérification à passer est :
Bloc de code:
diskutil verifyVolume disk2

  • poste l'affichage retourné.
 
Voici

Bloc de code:
Started file system verification on disk2
Verifying storage system
Using live mode
Performing fsck_apfs -n -x -l /dev/disk1s2
Checking the container superblock
Checking the fusion superblock
Checking the EFI jumpstart record
Checking the space manager
Checking the space manager free queue trees
Checking the object map
Checking the Fusion data structures
Checking volume
Checking the APFS volume superblock
The volume 2to FusionDrive iMac5k was formatted by hfs_convert (945.200.129) and last modified by apfs_kext (945.275.7)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Checking volume
Checking the APFS volume superblock
The volume Preboot was formatted by hfs_convert (945.200.129) and last modified by apfs_kext (945.275.7)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
warning: directory valence check: directory (oid 0xe002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x4c0041): orphan directory record
Checking volume
Checking the APFS volume superblock
The volume Recovery was formatted by diskmanagementd (945.200.129) and last modified by apfs_kext (945.275.7)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Checking volume
Checking the APFS volume superblock
The volume VM was formatted by apfs.util (945.200.129) and last modified by apfs_kext (945.275.7)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
error: found file extent gap (id 16) at logical address 1069805568 (expected 0)
Verifying allocated space
Performing deferred repairs
error: found file extent gap (id 16) at logical address 0+1069805568
Deferred repairs failed
The volume /dev/disk1s2 could not be verified completely
Storage system check exit code is 8
Error: -69716: Storage system verify or repair failed
Underlying error: 8
 
Le système de fichiers apfs est toujours trouvé corrompu par des erreurs (code de sortie de la vérification = 8 au lieu de 0) -->

- refais un S.O.S. sur le Conteneur apfs dans l'Utilitaire de disque de la session de secours (tu ne peux pas réparer depuis la session tabasko)​

- de retour dans la session tabasko > repasse encore une commande :
Bloc de code:
diskutil verifyVolume disk2
  • et reposte le tableau des la vérification.
 
Petite précision, la dernière fois en mode rescue j'ai fais réparer sur le nom de ma partition, mais peut être que tu voulais que je le fasse directement sur l'item"conteneur".
Je viens de le refaire sur les 2.

Pour le conteneur j'ai eu ceci (j'ai rusé en me l'envoyant via un webmail)
Bloc de code:
Exécution de S.O.S. sur « Conteneur disk3 »

Réparation du système de stockage
Exécution de fsck_apfs -y -x /dev/disk1s2
Checking the container superblock.
(...)
warning: directory valence check: directory (oid 0xe002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x4c0041): orphan directory record
Checking volume.
Checking the APFS volume superblock.
(...)
warning: directory valence check: directory (oid 0xe002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x4c0041): orphan directory record
(...)
Verifying allocated space.
The volume /dev/disk1s2 appears to be OK.
Le code de sortie de la vérification du système de stockage est 0.

L’opération a été effectuée.


Sur la partition directement (l'item le plus bas)
Aucune erreur cette fois ci.


Et voici pour la commande demandée :
diskutil verifyVolume disk2
Bloc de code:
Started file system verification on disk2

Verifying storage system
Using live mode
Performing fsck_apfs -n -x -l /dev/disk0s2
Checking the container superblock
Checking the fusion superblock
Checking the EFI jumpstart record
Checking the space manager
Checking the space manager free queue trees
Checking the object map
Checking the Fusion data structures
Checking volume
Checking the APFS volume superblock
The volume 2to FusionDrive iMac5k was formatted by hfs_convert (945.200.129) and last modified by apfs_kext (945.275.7)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Checking volume
Checking the APFS volume superblock
The volume Preboot was formatted by hfs_convert (945.200.129) and last modified by apfs_kext (945.275.7)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
warning: directory valence check: directory (oid 0xe002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x4c0041): orphan directory record
Checking volume
Checking the APFS volume superblock
The volume Recovery was formatted by diskmanagementd (945.200.129) and last modified by apfs_kext (945.275.7)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Checking volume
Checking the APFS volume superblock
The volume VM was formatted by apfs.util (945.200.129) and last modified by apfs_kext (945.275.7)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Verifying allocated space
The volume /dev/disk0s2 appears to be OK
Storage system check exit code is 0
Finished file system verification on disk2
 
Dernière édition:
Il reste un avertissement mineur concernant le seul volume de prédémarrage Preboot (non monté par défaut à l'ouverture de ta session).

- le code de sortie global de la vérification est 0 (comme zéro erreurs).​

Je pense que tu peux t'entenir là.
 
Donc les orphans restants sont pas graves ? je peux pas les éliminer ?

Bloc de code:
Exécution de fsck_apfs -y -x /dev/disk1s2
Checking the container superblock.
(...)
warning: directory valence check: directory (oid 0xe002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x4c0041): orphan directory record
Checking volume.
Checking the APFS volume superblock.
(...)
warning: directory valence check: directory (oid 0xe002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x1a002e): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x2b0072): orphan directory record
warning: directory valence check: directory (oid 0x4c0041): orphan directory record
 
Avertissements mineurs.

- si tu voulais les éliminer > il te faudrait cloner ton volume 2to FusionDrive iMac5k => dans un volume de format apfs d'un DDE (avec Carbon Copy Cloner) > démarrer sur le clone > supprimer / recréer le Fusion Drive apfs > cloner à rebours le clone dans le nouveau volume 2to FusionDrive iMac5k.​
 
Avertissements mineurs.

- si tu voulais les éliminer > il te faudrait cloner ton volume 2to FusionDrive iMac5k => dans un volume de format apfs d'un DDE (avec Carbon Copy Cloner) > démarrer sur le clone > supprimer / recréer le Fusion Drive apfs > cloner à rebours le clone dans le nouveau volume 2to FusionDrive iMac5k.​

Ouais, c'est bon, j'ai plus envie :)
Bon en attendant, mon système n'est pas fragilisé ou compromis, n'est ce pas ?

Je peux remettre en automatique mon TimeMachine ?

Merci pour ton secours.
 
Tu peux laisser courir.

- Time Machine archive une distribution de fichiers > pas le système de fichiers apfs qui leur sert de "metteur en scène".​
 
Je viens de le réactiver.

Merci pour tout ton support :)
J'ai bien cru que j'allais devoir installé MacOS pour la première fois :D

Depuis plus de 10 ans, je me promène avec un système que j'importe à chaque nouveau Mac ...
Cela ferait peut être du bien à mon iMac de lui offrir une install bien fraîche !!!
 
Hum ... et juste comme çà ...
Si je vais en rescue, et que je réinstalle complètement MacOS (par la suite je peux toujours faire une restauration TimeMachine).

Dans le cas de la restauration TimeMachine, les orphans me suivront pas, n'est ce pas ?
 
Une réinstallation réécrirait les fichiers-Système du volume de démarrage - sans toucher directement la structure du système de fichiers qui est le formateur du volume -->

- je ne sais pas exactement ce que sont les répertoires orphelins enregistrés dans le système de fichiers : une restauration du Système contenu dans le volume peut-elle conduire à un ré-enregistrement de dossiers-Système qui élimine le problème ?​

=> tu peux essayer ta réinstallation : tu verras bien.
 
Merci pour ton retour.
Entre l'envie de le faire et prendre le temps le temps de le faire alors que c'est mon outil de travail, pour le moment je pense que je vais rester sage :)

Encore merci pour ton aide (et c'est pas ma première fois avec toi :merci:)