Introduction
Récemment, une mise à jour proposée sur les ordinateurs Fujitsu a mené à un grand nombre de plantages. Les ordinateurs se retrouvent bloqués. Le problème est identifiable par le fait que Windows ne se lance pas. Jusque là, ce n'est pas très grave, mais impossible de rentrer dans le menu du BIOS. Même les utilisateurs aguerris se retrouvent alors bloqués. Par ailleurs, les option de réparations dans les centres certifiés ont un coût élevé.
Fujitsu ne propose pas de solution officielle à jour pour restaurer un BIOS complètement corrompu sur le Q956.
💡 Point important
Après quelques recherches, on trouve rapidement que le problème vient d'une ROM contenant des instructions exécutées au début du démarrage, d'où l'impossibilité de rentrer dans le menu du BIOS.
Localisation du problème
Que faire dans cette situation ? changer la carte mère sera peut être le plus simple, bien que nécessitant de bien vouloir tout démonter. L'autre solution est de réparer les données se trouvant dans la fameuse ROM
Démontage
La première étape est donc de trouver cette ROM, et d'espérer que l'écriture se fera sans encombre...
- Démonter la coque
- Retirer l'unité de refroidissement
- Extraire la carte mere et la retourner
- Localiser la ROM (SOP8)
⚠️ Attention
Lors de la manipulation, utilisez un environnement protégé contre les décharges éléctrostatiques. Vos mains pourraient endommager le circuit éléctronique, ce qui vous obligerait surement à changer de carte mere pour de bon.
Flash ROM programmer
Si vous possédez un Flash ROM Programmer, celui-ci a surement été livré avec une pince faite pour se mettre sur les SOP-8. Alignez le fil rouge au petit cercle dans le coin du composant.
Ensuite, branchez le sur votre ordinateur comme ci-dessous.
Réparation
L'outil que nous allons utiliser est flashrom. Il est très pratique, on va grâce à lui pouvoir détecter le type de ROM, récupérer la version corrompue, nettoyer la ROM et écrire une version fonctionnelle.
Détection de la ROM
Une fois la pince connectée, vous pouvez lancer la détection de la ROM avec :
flashrom -p ch341a_spi -r rom_corrompue.bin
Cette commande lit le contenu actuel de la puce EEPROM et l'enregistre.
flashrom -p ch341a_spi -r rom_corrompue.bin
Analyse avec Binwalk
Avant de flasher le nouveau BIOS, on peut s'intéresser à l'image actuelle. Pour cela, on peut utiliser binwalk :
binwalk rom_corrompue.bin
Grâce à la commande suivante, on va avoir un aperçu de l'entropie du binaire (et donc de la "structure" de la ROM) :
binwalk -E rom_corrompue.bin
Récupération du bon BIOS
Après quelques recherches, j'ai trouvé une version de la rom que vous pouvez télécharger ici : (attention, je n'ai pas vérifié ce qu'il y a dedans)
Fujitsu Esprimo Q956 BIOS - Badcaps.net
Écriture de la nouvelle ROM
Une fois le fichier .bin téléchargé, flashez-le directement avec :
flashrom -p ch341a_spi -w bios_fonctionnel.bin
Un message de succès vous confirmera que l'écriture a bien été réalisée.
Étapes à suivre
- Lire le contenu de la ROM actuelle avec
flashrom -r - Analyser la ROM avec
binwalk -E - Télécharger un BIOS sain depuis le lien fourni
- Écrire le nouveau BIOS avec
flashrom -w
⚠️ Attention
Évitez d'écrire un BIOS incorrect sur votre puce, assurez-vous que la version téléchargée correspond bien à votre modèle exact de carte mère.
Conclusion
Avec moins de 10€ de matériel, la réparation a finalement été possible.
Cette expérience est aussi une belle opportunité pour comprendre un peu mieux le fonctionnement bas niveau d'un PC.