Mettre à jour un firmware de SSD sans lecteur optique

Un des trucs parfois énervant sur Mac, c’est l’EFI d’Apple, spécialement sur les modèles un peu ancien. Démarrer en USB sur autre chose qu’un disque contenant macOS est vite compliqué. Et quand il faut mettre à jour le firmware d’un SSD, c’est la plaie.

Mon problème est le même que Caféine sur GeekZone (c’est le moment d’aller lire) : un SSD Crucial pas à jour pour le firmware, une mise à jour qui ne se fait officiellement qu’en passant par un CD… et pas de lecteur de CD. Je vous met donc un petit tutorial (merci Caféine) pour gérer ça.

Le firmware

Le SSD à mettre à jour est un M4 de chez Crucial. La société propose le firmware sous forme d’ISO à graver sur son site. Vous pouvez en théorie graver l’ISO sur une clé USB… mais ça ne fonctionnera pas directement. Commencez donc par télécharger le fichier (Manual Boot File for Windows and Mac). S’il est possible de bidouiller avec une seule clé USB, j’ai décidé de faire plus simple en en utilisant deux.

A la base, je copiais l’ISO sur la clé USB manuellement en ligne de commande… mais ça ne fonctionne pas. Le plus simple est de télécharger UNetbootin. Lancez le programme, choisissez ISO puis l’ISO de Crucial et la bonne clé USB. Normalement, il ne montrera que les périphériques externes formatés en FAT32 pour éviter les erreurs, donc évitez de branchez un disque dur ou une carte SD en même temps, pour éviter une catastrophe.

UNetbootin

La copie devrait prendre quelques secondes et la première clé USB est prête.

rEFInd

La seconde étape, et donc la seconde clé USB, consiste à installer rEFInd. Ce gestionnaire de démarrage permet de démarrer à peu près n’importe quoi sur un Mac (ou sur une machine avec un EFI un peu capricieux, ça arrive sur les vieux PC). En le plaçant sur une clé USB, il devient possible de gérer le démarrage sur un périphérique externe, comme ici la seconde clé USB. Techniquement, on peut partitionner ou forcer le démarrage directement depuis la première clé, mais c’est plus simple de le faire avec deux clés USB et – surtout – la clé USB rEFInd peut être réutilisée.

La méthode demande de passer par la ligne de commande, désolé.

Branchez la clé, qui va être effacée, et lancez le Terminal. Tapez la commande suivante qui va vous donner la liste des périphériques.

diskutil list

La clé devrait apparaître en fin de liste, avec les attributs external et sa taille en Go. Notez son numéro (et ne vous trompez pas). Dans mon exemple, c’est /dev/disk8.

/dev/disk8 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *2.0 GB disk8
1: Apple_HFS Sans titre 2.0 GB disk8s1

Démontez la clé sans l’éjecter avant de passer à la suite. Soit en effectuant un clic secondaire puis Démonter dans Utilitaire de disque, soit avec la commande suivante.

sudo diskutil unmount /dev/disk8s1

Maintenant, copiez l’image IMG sur la clé USB avec la commande suivante. Petite astuce, vous pouvez glisser le fichier dans le Terminal juste après avoir écrit dd if=. La fin de la commande doit être la clé USB. Ne vous trompez pas, sinon vous allez effacer un autre disque…

sudo dd if=/Users/Vous/Downloads/refind-flashdrive-0.11.2.img of=/dev/disk8

La MAJ

Maintenant, c’est simple. Branchez les deux clés USB en même temps et démarrez en pressant option (alt). Un menu apparaîtra avec le disque dur interne et un périphérique orange, sous le nom EFI boot.

L’écran de boot

Choisissez ce dernier, qui va lancer rEFInd. Dans l’interface de rEFInd, sélectionnez le pingouin.

L’écran de rEFInd

Maintenant, la suite dépend un peu de votre Mac. Sur un MacBook 2010, ça a fonctionné mais je n’ai pas pu capturer l’image : Linux démarre, ce qui permet ensuite de lancer la procédure de mise à jour. Avec un Mac mini 2009, j’ai obtenu une erreur. Visiblement, sur certains vieux Mac, il faut copier le contenu de la clé USB en interne (par exemple sur le SSD) pour démarrer, encore une limitation des vieux EFI Apple.

Mais la méthode fonctionne au moins sur les Mac à partir de 2010, ce qui m’a permis de mettre à jour le SSD sans devoir installer un lecteur optique fonctionnel. Et donc on dit merci GeekZone.