Ceci est une ancienne révision du document !
Flasher le BIOS de la carte mère sans installer windows ?
En émulant DOS
Avec FreeDOS (clé USB)
Nous allons utiliser FreeDOS pour flasher le BIOS à partir d'un fichier .exe, non-exécutable sous Linux… mais exécutable sous DOS.
Préparation de la clé USB
- Formater une clé USB en FAT 16 !!
- Installer UNetbootin.
- Lancer UNetbootin:
Applications
→Outils système
→UNetbootin
.
Cocher Distribution
et choisissez FreeDOS
. En bas (Drive:
), sélectionner la clé USB. Puis faites OK
.
- Fermer UnetBootIn, ouvrir la clé dans Nautilus, y copier simplement le/les fichier(s) de flashage récupérés sur le site du constructeur. La clé est prête pour flasher.
Flash du BIOS
- Booter sur la clé. Le système va charger FreeDOS.
- Choisir la seule option possible: Default.
- Une sorte de grub s'affiche, choisir FreeDOS Safe Mode (don't load any drivers).
- Un prompt s'affiche, par défaut sur le disque A
- Si les fichiers ajouté ne s'affichent pas sur le disque A:, Aller dans le disque C: en tapant «
C:
» - Taper la commande
dir
qui vous listera le contenu de la clé. Vérifier que votre fichier de flashage apparaît bien dans la liste. - Taper le nom complet, avec l'extension, du fichier de flashage.
- Taper
Entrée
. - Le flashage du BIOS commencera et prendra quelques secondes ou minutes, puis il sera vérifié.
- Il est possible qu'il y ait un redémarrage un peu brutal à la fin du flashage, mais ça redémarre bien.
Le BIOS est flashé. Au redémarrage, aller dans le BIOS, et effectuer les directives fournies par le constructeur (en général load setup defaults). Paramétrer le BIOS, sauvegarder, et redémarrer.
Si les fichiers stockés sur la clé usb ne sont pas accessibles sur les lecteurs A: ou C:, veuillez suivre le tutoriel Comment créer un live-USB contenant FreeDOS.
Avec FreeDOS (création d'une iso à graver sur cd)
C'est un peu long car on part d'une image ISO pour en recréer une nouvelle.
- Télécharger l'image ISO de FreeDOS ( par exemple ici)
- (Facultatif) Vérifier le checksum d'après celui du site officiel
sha256sum fdbasecd.iso
- Monter l'image pour en récupérer le contenu
sudo modprobe loop mkdir tmp sudo mount fdbasecd.iso tmp -t iso9660 -o loop
- Récupérer le contenu dans un nouveau dossier
mkdir freedosmod cp -ra tmp/* freedosmod/ sudo umount tmp rmdir tmp
- Y copier les fichiers du BIOS
cp /chemin_vers_votre_bios/* freedosmod/
- Créér l'image ISO
cd freedosmod chmod u+w ./isolinux/isolinux.bin mkisofs -o ../freedos_biosupdate.iso -q -l -N \ -boot-info-table -iso-level 4 -no-emul-boot \ -b isolinux/isolinux.bin \ -publisher "FreeDOS" \ -A "FreeDOS 1.0" -V FDOS_1 -v . cd ..
- (Facultatif) Tester l'iso, voir [kvm] pour plus d'infos
kvm -cdrom freedos_biosupdate.iso -boot d -m 512
- Graver le fichier image.iso sur un CD réinscriptible
cdrecord -v blank=fast dev=/dev/cdrom freedos_biosupdate.iso
- Si tout est OK, faire le ménage
rm -r freedosmod rm freedos_biosupdate.iso
- Redémarrer la machine, et booter sur le CD
- Au premier menu, choisir "1" pour lancer FreeDOS
- Au deuxième menu, choisir "1" pour INSTALL (Contrairement à ce que l'on pourrait croire, ça n'installe rien à cette étape)
- Au troisième menu, choisir "Français" pour avoir le clavier azerty.
- Au quatrième menu, choisir "Run from CD"
- Un prompt s'affiche, taper
dir
et vérifier la présence de nos fichiers
dir
- Lancer votre exécutable, en respectant le mode d'emploi du fabricant.
Avec une image DR-DOS (création d'une iso à graver sur cd)
Il semble que DR-DOS n'existe plus et soit remplacé par FreeDOS (cf. ici ou là et là). À confirmer.
En tout cas le lien de téléchargement ci-dessous est mort.
Regarder si vous n'avez pas un utilitaire dans le bios directement. Sinon :
- Exécuter les commandes suivantes
cd <repertoire de telechargement> mkdir tmp sudo mount -o loop -t vfat DRDOS703.IMG tmp sudo cp AWDFASH.EXE biosupdate.file tmp sudo umount tmp mkisofs -o image.iso -b DRDOS703.IMG DRDOS703.IMG
- Graver le fichier image.iso sur un CD
- Démarrer sur le CD, et à l'invite A:\ lancer votre utilitaire (chez moi : AWDFASH biosupdate.file)
<logiciel>.exe
À partir d'un système Linux
Avec Flashrom
Flashrom est un logiciel qui permet de flasher le BIOS directement depuis votre système (utilisable sous Linux, FreeBSD, DragonFly BSD, Solaris, Mac OSX, etc).
- Installez le paquet flashrom, ou via apt
sudo apt-get install flashrom
- Voir la version du BIOS en cours
sudo dmidecode -s bios-version
- Vérifier si votre ROM est supportée
sudo flashrom
La commande doit renvoyer le message suivant :
Calibrating delay loop... OK. No coreboot table found. Found chipset "NVIDIA MCP51", enabling flash write... OK. Found chip "PMC Pm49FL004" (512 KB) at physical address 0xfff80000. No operations were specified.
Flashrom ne vérifie que si la taille du fichier contenant le BIOS correspond à la taille de la puce du BIOS et ne vérifie pas le contenu de ce fichier. Il faudra donc veiller à ce que ce fichier corresponde bien au BIOS.
- Sauvegarder le BIOS
sudo flashrom -r VotreModeledeCM.version.ROM
Calibrating delay loop... OK. No coreboot table found. Found chipset "NVIDIA MCP51", enabling flash write... OK. Found chip "PMC Pm49FL004" (512 KB) at physical address 0xfff80000. Reading flash... done.
- Flasher la ROM avec un nouveau BIOS
sudo flashrom -w 'FichierROM.NouvelleVersion.ROM'
Calibrating delay loop... OK. No coreboot table found. Found chipset "NVIDIA MCP51", enabling flash write... OK. Found chip "PMC Pm49FL004" (512 KB) at physical address 0xfff80000. Flash image seems to be a legacy BIOS. Disabling checks. Programming page: 0007 at address: 0x00070000
- Rebooter la machine (à faire uniquement si flashrom n'a pas détecté d'erreurs).
- Vérifier la version du BIOS
sudo dmidecode -s bios-version
Liens externes
- (en) Cartes MSI avec Flashrom (forum MSI)