Alors j'ai enfin récupéré la plupart de mes données mais c'était une expérience longue et douloureuse. Voici ce qui m'a aidé à la fin :
Je ne sais pas exactement, mais après une autre tentative infructueuse de lancer un premier secours sur mon disque dur, j'ai essayé de démonter/monter manuellement à l'aide du terminal en mode de récupération (démarré depuis l'USB externe) :
$ diskutil unmount /dev/disk2 # c'était réussi
$ diskutil mount /dev/disk2. # cela a échoué
Cependant, après avoir redémarré à nouveau en mode de récupération, le premier secours s'est subitement effectué avec succès. Alors ne renoncez pas trop tôt. Parfois, redémarrer semble réparer quelque chose. Peut-être aussi que le fait de réinitialiser la nvram via le terminal avec nvram -c
a aidé. Peut-être même le fait d'utiliser Utilitaire de disque en Anglais
au lieu de ma langue maternelle a aidé. J'ai également réalisé qu'il faut toujours cliquer sur Affichage -> Afficher tous les appareils
dans Utilitaire de disque et également de lancer le premier secours sur le conteneur. J'ai essayé de redémarrer pour voir si mon Mac se redémarrait mais il restait bloqué. Comme il était très clair pour moi à ce moment-là que j'avais un problème matériel avec mon disque et parce que je ne pouvais pas ouvrir l'iMac, je l'ai éteint pour le laisser refroidir. Je l'ai également retourné et déplacé un peu en cas de câble légèrement desserré ou quelque chose du genre. Après ça, j'ai redémarré en mode de récupération (cette fois à partir du disque dur interne).
Ensuite, j'ai essayé de copier mes données en utilisant
cp -npRv /Volumes/Macintosh HD/ /Volumes/BACKUP_USB_APFS
et ça a marché. Pour m'assurer que mon iMac ne se mette pas en veille et que le processus de copie ne s'arrête pas, j'ai commencé dans une fenêtre terminal séparée
$ caffeinate
Et pour être absolument sûr, j'ai également configuré les paramètres d'alimentation globaux et éteint la veille et la mise en veille du disque dur
$ pmset -a sleep 0
$ pmset -a disksleep 0
Cependant, le processus de copie était lent/bloqué à plusieurs fichiers (probablement à cause de blocs défectueux ou de dommages au disque dur). Mais j'ai réalisé que je pouvais accélérer le processus en lançant encore et encore le même processus de copie dans des fenêtres de terminal séparées. L'option -n
fait en sorte qu'aucun fichier ne soit écrasé, cela signifie qu'aucun processus de copie ne sera fait deux fois.
Au bout de plusieurs heures (je l'ai laissé tourner toute la nuit), j'avais enfin copié la plupart des données avec succès sur mon disque dur externe USB. Maintenant, pour être très sûr que mes multiples processus de copie n'avaient pas perturbé les choses, j'ai décidé d'exécuter rsync
en plus. rsync
est inclus dans Mac OS X, mais il n'est pas dans votre chemin d'accès lorsque vous travaillez en mode de récupération. Donc, vous devez d'abord passer au répertoire /usr/bin
avant de pouvoir l'utiliser. Au début, j'ai fait un essai à vide pour voir quels fichiers seraient modifiés :
$ cd /Volumes/Macintosh HD/usr/bin
$ ./rsync -ai --exclude="._*" --dry-run /Volumes/Macintosh HD/ /Volumes/BACKUP_USB_APFS | grep "^>" >> /Volumes/BACKUP_USB_APFS/lost_data.txt
Cela montrera tous les fichiers qui seront ajoutés par rsync (l'option -i
/--itemize
montrera un >
pour chaque fichier que rsync prévoit de modifier, que nous filtrons avec grep
). Ici, j'ai découvert un détail intéressant de la version de rsync fournie avec Mac OS. Lorsqu'on utilise l'option -E
, rsync n'autorise pas à exclure les fichiers avec des points, ce qui signifie que --exclude="._*"
ne fonctionne pas. Mais pour la copie, j'ai utilisé l'option -E
pour m'assurer d'obtenir les attributs étendus, que cp
ignorait.
$ rsync -vaEP /Volumes/Macintosh HD/ /Volumes/BACKUP_USB_APFS
Il convient de noter que rsync
fonctionne beaucoup plus lentement que cp
sur un disque dur endommagé. Surtout quand on essaie de copier des fichiers volumineux (films), rsync prend beaucoup de temps avant de finalement abandonner. Le processus entier a duré 1,5 jours. C'est pourquoi je recommande toujours d'utiliser d'abord cp
et seulement après utiliser rsync
.
C'est tout. J'ai réussi à récupérer la plupart des données de mon disque dur défectueux avec cela. Mais je tiens également à mentionner beaucoup de choses qui n'ont pas fonctionné :
- Le mode de transfert Apple (appuyer sur
T
au démarrage) n'a pas fonctionné. L'ordinateur portable de destination affichait le disque de mon iMac défectueux mais plantait rapidement lors de sa tentative d'accès.
- Les diagnostics Apple (appuyer sur
D
au démarrage) n'ont pas fonctionné. Il a affiché uniquement l'erreur -2002D
. C'était bizarre, car mon Wifi fonctionnait même en mode de récupération.
- J'ai essayé d'utiliser Rclone, car contrairement à
rsync
et cp
, il est multi-threadé. Vous pouvez l'installer en mode de récupération en le téléchargeant avec curl curl -O https://downloads.rclone.org/v1.59.1/rclone-v1.59.1-osx-amd64.zip
, dézippez le fichier avec \usr\bin\unzip
et démarrez simplement l'exécutable. Cependant, il s'est avéré être encore plus lent que rsync
dans mon cas.
- J'ai essayé d'utiliser Disk Drill en mode de récupération comme décrit ici. Cependant, le processus de copie s'est simplement arrêté, car le disque dur "a disparu" pendant le processus. Il s'est démonté d'une manière ou d'une autre. Cela s'est produit plusieurs fois donc j'ai abandonné. De plus, par défaut, DiskDrill ne copie pas les fichiers cachés (vous devez trouver le point de menu pour l'activer d'abord) et semble ne pas copier correctement tous les métadonnées.
- La création d'une clé USB bootable a échoué au début. J'ai essayé de télécharger l'installateur de Catalina (sur un autre ordinateur portable) depuis l'App Store comme décrit par Apple. Mais le téléchargement a échoué avec une erreur. Alors j'ai essayé de le télécharger via la ligne de commande, mais cela a également échoué avec une étrange erreur. La seule chose qui a fonctionné était d'utiliser mist-cli. Voici comment créer rapidement une clé USB bootable en ligne de commande avec mist-cli
Faites ceci :
$ brew install mist
$ mist list installer
$ sudo mist download installer 10.15.7 application
$ sudo /Users/Shared/Mist/Install\ macOS\ Catalina.app\ 10.15-19H15.app/Contents/Resources/createinstallmedia --volume /Volumes/