Récupération à partir d'une corruption de disque sans SuperDrive
Mercredi après-midi, lorsque j’ai essayé de vider la corbeille de mon MacBook Pro, j’ai reçu un message d’erreur. Le message indiquait qu'une erreur s'était produite et me donnait un code d'erreur: -36. Cela m'a beaucoup perturbé car, en tant que développeur Mac à l'ancienne, je sais que -36 est une erreur grave. Dans les anciens fichiers d’en-tête Mac (Carbon et pre-Carbon), cette erreur était décrite comme «erreur d’E / S (bummers)» et c’est généralement ce que cela signifie: une erreur générale grave s’est produite.
Mon MacBook Pro n’est pas tout à fait en stock; J'ai remplacé son lecteur SuperDrive interne par un disque SSD de 120 Go, laissant ainsi le disque dur interne de 500 Go en place. Cette configuration matérielle affecterait mes efforts pour réparer les dégâts. Si vous pensez que ma configuration est vraiment étrange, considérez le fait qu'Apple vend actuellement deux Mac – le MacBook Air et la configuration du serveur du Mac mini – dépourvus de lecteur optique.
Préoccupé par la santé de mon disque, j'ai lancé l'utilitaire de disque et l'ai fait vérifier mon disque de démarrage. Il a détecté plusieurs problèmes mineurs, dont l'un décrit comme un «lien frère non valide». À ce stade, je suis passé en mode de récupération. J'ai arrêté mon MacBook Pro, je l'ai redémarré en mode disque cible FireWire et je l'ai branché sur le Mac Pro que j'ai au travail.
La première chose que j'ai faite après avoir connecté le MacBook Pro en tant que disque au Mac Pro a été d'exécuter de nouveau Utilitaire de disque et de confirmer que le disque SSD était, en fait, corrompu et que le disque dur ne l'était pas. J'ai immédiatement commencé à créer une image disque du disque SSD et, pendant son exécution, a examiné ma situation.
J'ai sauvegardé mon ordinateur portable sur un disque dur externe à l'aide de Time Machine, mais en y repensant, je me suis rendu compte que la dernière fois que j'ai branché le MacBook Pro, c'était dimanche soir. Ma sauvegarde durait donc environ 60 heures. J'avais écrit un tas de code lundi et mardi, mais tout était dans un système de contrôle de source sur un serveur, et donc sans danger. La plupart de mes e-mails sont basés sur un serveur (Exchange at work et Gmail pour des tâches personnelles), mais il me reste deux comptes POP que je lis à l'aide d'Eudora et ces messages sont stockés localement. Il y avait donc définitivement du courrier que je devais récupérer. Il y avait aussi quelques autres petites choses que j'avais faites sur mon MacBook Pro depuis la dernière sauvegarde (nouvelles entrées dans le carnet d'adresses, etc.) qui seraient ennuyeuses, mais pas désastreuses,
perdre.
Une fois l'image disque terminée, j'ai verrouillé le fichier résultant, je l'ai monté et j'ai fait vérifier l'image par Utilitaire de disque. Il avait le même "lien de parenté invalide" que le disque original avait – aucune surprise là. J'ai ensuite créé une autre image du dossier Utilisateurs, l'ai verrouillé et vérifié avec Utilitaire de disque – tout allait bien.
À ce stade, je pouvais voir trois options:
- Réparez le disque. C’est le moyen le plus simple et le plus simple de revenir à l’endroit où j’ai rencontré le problème, mais ce n’est pas toujours possible.
- Restaurez à partir de la sauvegarde Time Machine, puis déposez les dernières modifications apportées à partir des images de disque situées sur le système restauré. Cela prendrait un peu d'effort, mais j'étais à peu près sûr que cela fonctionnerait.
-
Effacez le disque et installez une nouvelle version de Mac OS X. Utilisez ensuite l'Assistant de migration pour copier mes applications, données et fichiers de configuration à partir de la sauvegarde Time Machine, puis récupérez manuellement les fichiers récents à partir des images de disque. Encore une fois, cela fonctionnerait probablement, mais cela semblait être le plus gros effort. (J'ai envisagé d'utiliser l'assistant de migration pour tout récupérer à partir de l'image de disque de sauvegarde, mais le fait qu'elle soit corrompue m'a fait craindre que quelque chose ne soit gâché pendant le processus.)
Il était 22 heures et j'ai donc copié les deux images disque que j'ai créées sur le disque dur interne du MacBook Pro et je suis rentré chez moi. Une fois là-bas, j'ai redémarré le MacBook Pro en mode disque cible FireWire et l'ai connecté à un iMac. J'ai couru Utilitaire de disque et vérifié à nouveau – toujours mauvais. Je lui ai dit de réparer le disque. Il a filé pendant plusieurs minutes et a annoncé qu'il était incapable de réparer le disque. J'ai prononcé de mauvaises paroles et je me suis couché.
Jeudi, comme je devais enseigner un cours d’une journée au travail, j’ai lancé DiskWarrior et l’a démarré sur le disque avant de partir. Il a duré environ 30 minutes avant que je ne parte, et y allait encore quand je suis revenu 9 heures plus tard. J'ai pris cela comme un signe que je devais mettre à jour ma copie de DiskWarrior de la version 4.2 à la version 4.3. La nouvelle version n'a pris que 2 heures environ, mais n'a pas été en mesure de réparer les dégâts. J'ai cherché sur Google «lien de parenté invalide» et ai trouvé plusieurs suggestions selon lesquelles l'outil de ligne de commande fsck_hfs
serait en mesure de le réparer. J'ai essayé ça – pas de dés non plus. Donc, ma première option – réparer le disque – n’allait pas arriver. Passons à la restauration de Time Machine.
La méthode recommandée pour restaurer à partir d'une sauvegarde Time Machine consiste à démarrer à partir d'un DVD d'installation de Mac OS X, à effacer le disque de destination à l'aide de Utilitaires> Utilitaire de disque, puis de choisir Utilitaires> Restaurer à partir de Time Machine. Je ne pouvais pas faire cela, après avoir remplacé mon SuperDrive par le SSD qui posait problème. Puis, je me suis rappelé que les Mac basés sur Intel peuvent démarrer à partir de l’USB, j’ai donc placé le contenu d’un DVD d’installation de Snow Leopard sur un lecteur flash USB de 16 Go.
Malheureusement, mon MacBook Pro ne pouvait pas démarrer à partir de la clé USB. Je pouvais choisir le volume si je maintenais la touche Option enfoncée au démarrage, mais cela ne dépasserait jamais l’écran gris. Tenir v
(pour un démarrage prolixe) ou s
(pour démarrer en mode mono-utilisateur) ne fonctionnait pas non plus. Déconcerté, j’ai également installé Snow Leopard sur le disque dur interne du MacBook Pro, mais il n’a jamais dépassé l’écran gris. À ce stade, je commençais à me demander s’il existait un problème avec le MacBook Pro, aussi j’ai pris du recul et fait autre chose pendant quelques heures pour me vider la tête. J'aurais pu retirer le disque SSD, réinstaller le SuperDrive et remplacer le disque dur interne
conduire avec le SSD de telle sorte que j'aurais pu démarrer à partir d'un DVD et être restauré sur le SSD, mais j'ai décidé de le conserver en dernier recours.
Après le déjeuner et quelques travaux dans la cour, j'ai eu un moment «Aha! J'avais mis 10.6.0 sur le lecteur USB (et le disque dur interne), et mon MacBook Pro 2010 livré après Snow Leopard est sorti. Il n’est pas rare que les Mac refusent de démarrer à partir de versions antérieures à Mac OS X. J'ai extrait les disques originaux de mon MacBook Pro, noté qu'ils étaient au 10.6.3 et mis cette sur le lecteur USB, branchez-le sur le port USB et allumez le Mac. Lo! Il a démarré! (Et j’étais très soulagé qu’il n’y ait pas de problème plus grave.)
Maintenant je pourrais continuer. J'ai effacé le SSD et vérifié. Toujours corrompu. Comment cela peut-il être – c'était vide! Après plus de recherches sur Google et une suggestion du support technique OWC, j'ai appris que je devais repartitionner le lecteur pour qu'il puisse écrire un nouveau volume sur le lecteur. Ensuite, j'ai été en mesure de restaurer Time Machine, ce qui a pris 2 heures. Une fois la restauration terminée, j'ai vérifié à nouveau avec Utilitaire de disque et le disque allait bien. J'ai redémarré, connecté et vérifié qu'il n'y avait pas encore de problèmes dans Utilitaire de disque. Je suis peut-être paranoïaque, mais j'avais aussi presque fini.
La dernière tâche consistait à rechercher sur mon image disque les fichiers plus récents que ma sauvegarde Time Machine. J'ai utilisé le trouver
outil de ligne de commande. Tout d'abord, j'ai monté l'image de disque verrouillée que j'ai créée mercredi soir, lancé Terminal et taper:
find / Volumes / SSD / Utilisateurs -mtime -5
Cela a imprimé les chemins de tous les fichiers avec une date de modification moins de cinq jours avant (à ce stade, c'était vendredi soir). Je me suis retrouvé avec une longue liste, que je pouvais ignorer pour la plupart; les fichiers de mon cache Safari, par exemple. Cependant, le trouver
commande a trouvé tous les fichiers modifiés dans mon dossier Eudora (que j’ai copié intégralement), les transcriptions iChat, quelques fichiers dans mon dossier Téléchargements et quelques photos dans ma photothèque iPhoto. J'ai examiné ceux-ci à la main et les ai copiés aux bons endroits sur mon ordinateur portable, et tout allait bien à nouveau.
À ce stade, je n'avais plus d'ordinateur portable pendant 48 heures et environ 600 messages électroniques m'attendaient. Mais au cas où mon expérience pourrait être utile aux autres, j'ai pensé récapituler ce que j'avais appris.
-
Avoir une sauvegarde est vital, même si ce n’est pas complètement à jour. J'aurais aimé avoir branché mon disque Time Machine plus récemment, mais au moins j'avais une sauvegarde plus ou moins récente qui mettait un plancher sous ce que je perdrais. La façon dont Lion autorisera les sauvegardes de Time Machine à continuer même lorsque le disque de destination n’est pas présent m’a peut-être sauvé, tout comme un programme de sauvegarde comme CrashPlan qui sauvegarde en permanence vers une destination hors site. Les sauvegardes ne doivent pas compter sur une intervention manuelle.
-
Ne paniquez pas face à une éventuelle perte de données. Au lieu de cela, arrêtez-vous, respirez à fond et réfléchissez à ce que vous pouvez faire et aux données qui sont les plus importantes. Pour moi, les données importantes sont ces derniers jours de courrier électronique et mon ensemble d'applications hautement configurées.
-
Ne faites rien qui soit potentiellement destructif sans en avoir préalablement fait une copie. Si les choses ne vous conviennent pas ou si vous faites quelque chose de mal par inadvertance, il est beaucoup plus facile de dire gaiement «Oups!» Si vous travaillez sur une copie plutôt que sur le «seul et unique».
-
Avoir un autre Mac avec beaucoup d'espace disque est un avantage énorme. Au minimum, vous devrez peut-être accéder à Google pour rechercher des solutions aux problèmes que vous rencontrez. Le mode disque cible FireWire est également un avantage, si vos deux Mac sont équipés de FireWire, assurez-vous de disposer d’un câble FireWire pour l’utiliser.
-
Si vous essayez quelque chose et que cela ne fonctionne pas, essayez de comprendre pourquoi plutôt que de passer à autre chose. Si je ne savais pas pourquoi mes tentatives d’installation d’un système opérationnel sur le MacBook Pro échouaient, j’aurais peut-être perdu beaucoup d’efforts pour reconstruire le contenu du disque SSD à partir de zéro.
-
Avoir un moyen indépendant de démarrer votre Mac est la clé – j'ai commandé un lecteur flash de 8 Go sur lequel je vais mettre un système amorçable, et le transporter dans mon sac à dos à partir de maintenant. Même si Lion aura une partition de récupération, cela n’aidera pas si le lecteur lui-même est orienté au sud, alors que ma clé USB fonctionnera toujours.