Les SSD M.2 NVMe avec une (Legacy) Option ROM

Je l’avais évoqué quand j’ai parlé d’un SSD PCI-Express dans un vieux Mac, les SSD M.2 peuvent être reconnus dans d’anciennes machines, mais il est généralement impossible de démarrer dessus. Sauf avec un PC et quelques modèles de première génération.

Pour qu’un ordinateur démarre, il faut un firmware, qui peut être un BIOS (dans les PC jusqu’il y a une dizaine d’année), un Open Firmware (dans les Mac PowerPC), un (U)EFI (dans les PC récents et les Mac Intel), etc. Le firmware va ensuite détecter le périphérique de stockage et lancer l’OS. Cette solution fonctionne, mais elle pose un souci : si vous ajoutez une carte d’extension (au sens large), le firmware ne connaît généralement pas son fonctionnement et il est donc impossible de démarrer dessus.

La solution existe depuis toujours et porte le nom d’Option ROM. C’est en simplifiant un bout de code présent dans la carte qui va se greffer sur le firmware et fournir le nécessaire pour gérer le démarrage. Si vous avez par exemple installé une carte SCSI dans un PC, vous avez peut-être déjà vu le menu qui peut apparaître au démarrage : l’Option ROM, c’est ça. L’Option ROM dépend évidemment du firmware visé : elle peut gérer le BIOS, l’Open Firmware, l’UEFI, etc. C’est pour ça que certaines cartes disposent d’une version PC et d’une version Mac, identiques techniquement mais avec un logiciel différent : une version pour le BIOS, une pour l’Open Firmware.

Maintenant, parlons des SSD PCI-Express NVMe. Vous pouvez booter dessus sur la majorité des PC pour une bonne raison : l’UEFI des PC contient un pilote générique pour le protocole NVMe. Ce n’est pas quelque chose de totalement systématique : avant High Sierra, par exemple, les Mac n’avaient pas le pilote dans l’UEFI. Apple l’a ajouté dans pas mal de Mac avec le temps, comme pour les derniers Mac Pro « tour ». Mais si jamais l’UEFI ne contient pas le pilote ou si votre PC a un BIOS, démarrer sur un SSD M.2 NVMe est impossible… sauf dans quelques cas précis.

Le 950 Pro possède une Option ROM


En réalité, les premières générations de SSD NVMe contiennent une Option ROM pour le BIOS, ce qui permet de démarrer sur le SSD même avec un BIOS ou avec un UEFI qui ne contient pas le pilote. La liste des SSD compatibles est assez faible : j’ai pu le vérifier sur le Samsung 950 Pro, c’est a priori aussi le cas des Samsung SM963 et PM953, des Plextor M8pe et M8se et de l’Intel 750. Attention, ce dernier est un SSD NVMe… mais pas M.2 : c’est une carte PCI-Express classique. Je parle d’Option ROM, mais je devrais dire Legacy Option ROM, plus exactement (le Legacy indique que c’est pour l’antique BIOS).

Dans un adaptateur PCIe

J’ai trouvé un Samsung 950 Pro de 256 Go, que j’ai d’abord testé dans un vieux PC à base de Pentium 4 (avec un BIOS). Et le résultat est mitigé : si je peux voir le SSD dans le BIOS, je n’ai pas réussi à installer Windows (ma clé USB ne veut pas démarrer et reboot la machine). Mais c’est concluant sur un point : le Samsung est vu dans le BIOS, au contraire d’un WD Black SN750.

Il est bien en 4x (dans le slot 16x du GPU)


Il est vu


Le WD Black ne l’est pas (faute d’Option ROM)

Ensuite, j’ai testé sur un autre PC, plus récent et doté d’un UEFI. L’UEFI ne contient pas de pilotes NVMe, et en forçant le mode BIOS (et en utilisant une clé USB prévue pour installer Windows 10 en mode BIOS), ça fonctionne parfaitement : le SSD est bootable. Parce qu’on arrive à un défaut des SSD NVMe : même si l’Option ROM permet de démarrer sur le SSD en le faisant reconnaître par le BIOS, ça ne fonctionne pas avec tous les OS. En effet, il faut que l’OS prennent en charge le NVMe et ce n’est pas le cas de tous les systèmes. Chez Microsoft, il y a un pilote standard depuis le Service Pack 1 de Windows 7, et il existe des pilotes tiers pour les OS plus anciens (dès Windows XP). Mais donc pour installer l’OS sur le SSD et démarrer dessus, il faut ajouter le pilote au média d’installation (je n’ai pas essayé). Sous GNU/Linux, par exemple, ça ne devrait pas poser de soucis si vous avez une distribution assez récente.

L’UEFI de catte carte Ivy Bridge (Core 3e gen.) le voit en mode BIOS



Rufus permet de créer une clé pour une installation en mode BIOS

Dans tous les cas, ces vieux SSD avec Legacy Option ROM peuvent être pratique pour du dépannage ou pour mettre à jour des machines anciennes mais pas totalement dépassées. Le seul problème vient du prix : pour plusieurs raisons (dont cette Option ROM), les rares modèles compatibles sont assez onéreux, souvent plus qu’un SSD NVMe moderne plus rapide.