Comment updater le firmware d’un SSD coincé dans un Mac

Pas mal de nos tutos – pour ne pas dire tous – sont liés à une problématique qui nous a touchés à un moment ou un autre. Ça motive pour rassembler les informations et expliquer comment se dépatouiller de problèmes parfois bien casse-tête. Cette fois, je rentabilise quelques nuits blanches pour vous expliquer comment updater le firmware d’un SSD installé dans un Mac, sans lecteur de CD, et avec des solutions constructeurs périmées. Le cas présenté concerne un vieux M4 de chez Crucial, mais cette méthode est applicable à tous les SSD, voire à des problématiques annexes qui nécessitent de faire booter un Mac sur un périphérique qui restera introuvable à moins de lui donner un petit coup de pouce.

Mac Mini 1

Le nerf de la guerre pour ces updates de firmware ou pour installer / tester certains OS sur un Mac, c’est de réussir à booter la machine et lui faire reconnaître le périphérique de démarrage. Or, nos pommes sont du genre pénible dans ce domaine. En fonction de l’âge de votre Mac, de la version de macOS, de votre format de disque, les exigences varient. Et après quelques heures de recherche sur le Net, on devient allergique aux mélanges de HFS+, MBR, GPT et autres formats qui vont vite frustrer le galérien qui cherche à faire démarrer sa machine. Je vais vous raconter toute l’histoire qui m’a amené à m’intéresser au sujet pour satisfaire les curieux, mais la méthode elle-même se trouve en bas de tout ce blabla !

MAIS JE PIGE PAS ÇA DEVRAIT BOOTER LÀÀÀÀÀÀÀÀ !

Vous n’avez pas les bases

Enfin Crucial n’a pas les bases, et plus précisément son SAV. Ce fabricant qui met sur le marché de nombreux SSD depuis longtemps assure un suivi appréciable du firmware de ces derniers. Suivi nécessaire vu les bugs qu’on y trouvait / trouve…. Dernière blague en date, l’update de macOS 10.13.4 sur mon Mac Mini donnait un résultat plutôt frustrant : la machine ne rebootait tout simplement pas. Le SSD Crucial M4 que j’ai installé dedans semblait ne pas digérer cette update, alors qu’il n’avait pas bronché lors du passage à High Sierra ou – plus risqué – à l’APFS. Un scan plus tard, le verdict tombe : le système de fichiers n’est pas content, avec un paquet d’erreurs sur le fsroot tree. Une bonne vieille corruption qui rappelle les heures sombres de HFS+…

Mac Mini 2

Le but est d’éviter d’avoir à (re)mettre les mains dedans

Machine à remonter dans le temps

Après avoir updaté plusieurs machines sans problème, j’ai tout de suite pensé qu’il était le coupable probable. Ce vieux SSD dispose de nombreuses updates de firmware jamais appliquées, car monsieur Crucial livre pour ces engins des patchs à graver sur CD pour “démarrer facilement”. Rappelez-vous, le CD, ce truc désuet dont est dépourvu tout Mac depuis si longtemps… Démonter le SSD pour le patcher sur PC ? Entre la flemme et la trouille d’achever mon Mac Mini (j’ai déjà flingué un capteur thermique lors du 3ème démontage), hors de question.

Déjà, j’ai voulu vérifier que le SSD était en bon état avant l’update. Formatage via clé USB (merci DiskMakerX), réinstallation via Time Machine (ça sert d’avoir un backup complet quotidien sur un NAS) et quelques heures plus tard (oui, ce n’est pas rapide surtout quand le Mac Mini en question n’est qu’un vieux CoreDuo) je peux enfin confirmer que le SSD n’avait aucun défaut avant le patch. Que je m’empresse de réappliquer pour voir le résultat. Même erreur. Bien, on sait ce qui cloche.

Le chaînon manquant

Quelques recherches plus tard, je m’aperçois que depuis 2012, je ne suis pas le seul à avoir eu le problème de l’update sans CD, ni le seul à chercher à faire ça depuis une clé USB. C’est un pépin récurent sur plein de SSD. Incroyablement, je tombe sur la page providentielle : un post de blog qui explique parfaitement comment régler exactement ce problème précis ! Et là, c’est le drame. Le blog est abandonné, mais surtout, le lien et la page qui ont servi de source à cette solution ont disparu du Net. Autre point qui n’arrange rien, la méthode utilisée est basée sur un soft (rEFIt) abandonné depuis longtemps.

Elle consiste à ruser pour formater une clé USB avec ce programme de démarrage, pour pouvoir ensuite “graver” une version de Syslinux (qui va alors pouvoir se lancer sur le Mac) dont on modifie les paramètres pour le forcer à charger l’image disque contenant le patch, récupéré au sein de l’image CD de Crucial. Tout ça pour faire gober son nouveau firmware au SSD. Sans l’image disque citée dans le blog en question, il fallait se casser la tête à retrouver toute la méthode pour générer une clé USB avec rEFIt et Syslinux… Mouais.

La puissance de la flemme

refind

De base, c’est moche, mais c’est magique.

Si rEFIt est mort, il existe un programme qui a pris sa suite, encore plus puissant : rEFInd. Ce gestionnaire de boot, créé par un certain Roderick W. Smith, sait démarrer toute machine à pomme, depuis mon MacBook Pro de 2007 jusqu’aux derniers trucs de 2017. Je le connaissais déjà pour l’avoir utilisé pour installer plusieurs Linux sur différentes bestioles à pommes. Restait à le faire cohabiter avec Syslinux pour enfin lancer le programme du M4, qui était tellement vieux qu’il était impossible d’imaginer le booter directement, contrairement aux derniers SSD de la marque qui disposent de patchs plus modernes.

Mais là, une petite loupiote s’est allumée au-dessus de ma tête. Toutes les méthodes mises en place par les utilisateurs dont je découvrais les péripéties sur le Net semblaient ignorer les prouesses de rEFInd, plus récent. Et un Mac Mini dispose de plusieurs ports USB…

Cool story bro, donne la méthode bon sang !

Mon idée est alors d’une simplicité enfantine :

  • Préparer une clé USB de boot avec rEFInd
  • “Graver” l’image disque de patch du firmware sur un autre stick USB
  • Voir si rEFInd voit cette clé et peut démarrer dessus. Si c’est le cas, bingo, il suffit de lancer l’update !

Et là, miracle, ça passe. Et quand je dis “ça passe”, je pourrais chanter les louanges de rEFInd très longtemps. Cette clé USB démarre sur tous les Mac testés. Y compris un vieux modèle avec BIOS EFI 32 bits (et processeurs 64 bits) qui a fait pleurer plus d’un linuxien tentant de lancer une installation de son OS favori dessus !

Booter avec ce soft permet de voir tous les OS proposés, invisibles si on se contente de démarrer avec la touche Option (ALT) du Mac.

UNetbootin

Sélectionnez l’image ISO de votre update de firmware, la clé USB visée, et en avant !

Le guide :

  • Téléchargez l’image disque de l’update firmware – prenez l’image à installer manuellement (M4 Crucial dans mon cas).
  • Téléchargez l’image pour clé USB de rEFInd (lien “A USB flash drive image file”).
  • Préparez deux clés USB pour y installer les deux fichiers IMG que vous venez de récupérer.
  • Pour le firmware, les softs dédiés du genre UNetbootin sur macOS ou Rufus (Windows) sont utiles. Dans mon cas, il suffit de déziper le fichier et d’utiliser un de ces 2 logiciels pour placer l’ISO sur la clé USB.
  • Pour rEFInd, il va falloir ouvrir un terminal pour utiliser la commande magique (et dangereuse) “dd”.
  • Commencez par taper “diskutil list” pour repérer la clé USB à préparer. Sa taille devrait vous donner un indice et c’est souvent la dernière de la liste. Vous allez trouver un truc du genre /dev/diskX où X sera un chiffre (souvent 2 ou 3). Ce chiffre est PRIMORDIAL pour ne pas effacer autre chose que la clé USB visée ! Geekzone décline toute responsabilité en cas de fausse manœuvre, que ça soit très clair…
  • La commande magique est ci-dessous, et attention, il va falloir l’adapter à votre cas !

dd if=refind-flashdrive-{version}.img of=/dev/sdX

diskutil list refind

Exemple de clé USB avec rEFInd sur /dev/disk2

Après “dd if=“ vous pouvez glisser-déposer votre fichier IMG de rEFInd dans la fenêtre du terminal pour avoir directement le chemin complet vers celui-ci. Remplacer le X de la fin par le numéro trouvé avec “diskutil list”. Lancer la commande et hop, vous avez une clé USB de démarrage universelle. Sans OS, mais capable de reconnaître des systèmes d’exploitation variés sur d’autres sticks USB ou disques externes. La commande est la même pour générer la clé USB avec le firmware de votre SSD. Il suffit cette fois de glisser-déposer le fichier IMG de votre constructeur à la place de celui de rEFInd.

Et le patch patcha

Il vous suffit ensuite d’utiliser les deux sticks USB en même temps pour que rEFInd vous permette de démarrer sur celui contenant le patch du firmware. Pour ça, appuyez sur Option (Alt) au démarrage de votre machine. Il est possible de mixer tout ça sur la même clé USB avec deux partitions, mais ça complique tout…

Pour conclure cette petite histoire, sachez qu’après cette aventure, mon bon vieux M4 accepta macOS 10.13.4 sans sourciller. Comme quoi, maintenir à jour ces firmwares obscurs n’est pas du luxe et peut éviter bien des problèmes. Surtout si vous n’avez pas de backups à jours !

J’espère que ce tutoblog (oui c’est nouveau) en dépannera certains, même indirectement, et je compte sur vous pour partager vos expériences dans le genre sur le forum. Ça fait de la lecture nerdy pour les jours pluvieux.

refind theme

Il est possible de totalement customiser les icônes de rEFInd, pour faire du multiboot pas trop laid.


Note : cet article est l’équivalent de plusieurs pages de magazine. Il n’est possible de rédiger (ou plutôt écrire / réécrire / corriger / intégrer) des papiers de cette taille que grâce à nos soutiens Paypal, et surtout à nos patrons. Oui, on sait, ce n’est pas le bon terme. Mais nous, ça nous fait rire. Et quand on reçoit des sous aussi, d’ailleurs. Du coup, merci à vous, qui mettez la main à la poche pour nous inciter à bien bosser ! Et si vous n’avez pas encore franchi le pas, pensez à soutenir Geekzone pour que nous puissions augmenter la cadence !

Vous devriez également aimer…