{{tag>matériel carte_mère bios}} ====== Flasher le BIOS de la carte mère sans installer windows ? ====== **Le flash d'un BIOS est une opération simple mais** surtout **délicate**, comme chacun sait. Pour les portables, il est préférable (voire nécessaire, certains constructeurs mettant des protections) de les **brancher sur le secteur**. Par ailleurs, il est très important de veiller à **ne pas redémarrer votre ordinateur pendant la mise à jour du bios** et de bien attendre jusqu'à la fin de l'opération. **Sur les cartes mères récentes**, il suffit de télécharger la dernière version en date du BIOS sur le site du constructeur et de la mettre sur une clé USB au format FAT 32/16 en n’utilisant qu’une seule partition. Puis d’insérer la clé USB contenant le fichier BIOS sur l’un des ports USB de votre ordinateur, de démarrer et d'aller dans le bios...(voir le manuel de votre carte mère pour plus d'informations). ===== En émulant DOS ===== ==== Avec FreeDOS (clé USB) ==== Nous allons utiliser [[http://fr.wikipedia.org/wiki/Freedos|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 === * [[:tutoriel:formater_une_cle_usb|Formater une clé USB]] en **FAT 16 !!** * Installer **[[apt://unetbootin|UNetbootin]]**. * Lancer UNetbootin: ''//Applications//'' -> ''//Outils système//'' -> ''//UNetbootin//''. Cocher ''//Distribution//'' et choisissez ''//FreeDOS//''. En bas (''Drive:''), sélectionner la clé USB. Puis faites ''//OK//''. {{ http://it-experts.dk/cfs-filesystemfile.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jjonsson/3010.UNetbootin.png }} * 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 [[tutoriel:comment_creer_un_live_usb_freedos|Comment créer un live-USB contenant FreeDOS]].** ==== Avec FreeDOS (création d'une image 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 ([[http://sunsite.rediris.es/mirror/freedos/files/distributions/1.0/fdbasecd.iso| Lien direct vers l'image ISO de FreeDOS]]). Puis dans un [[:terminal]] à laide des lignes de [[commande_shell|commandes]] suivantes: - (Facultatif) Vérifier le checksum d'après celui du [[http://www.freedos.org/|site officiel de FreeDOS]]sha256sum fdbasecd.iso - Monter l'image pour en récupérer le contenusudo modprobe loop mkdir tmp sudo mount fdbasecd.iso tmp -t iso9660 -o loop - Récupérer le contenu dans un nouveau dossiermkdir freedosmod cp -ra tmp/* freedosmod/ sudo umount tmp rmdir tmp - Y copier les fichiers du BIOScp /chemin_vers_votre_bios/* freedosmod/ - Créér l'image ISOcd 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'infoskvm -cdrom freedos_biosupdate.iso -boot d -m 512 - [[:gravure|Graver]] le fichier image.iso sur un CD réinscriptible - Si tout est OK, faire le ménagerm -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 fichiersdir - 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) ==== FIXME\\ Il semble que DR-DOS n'existe plus et soit remplacé par FreeDOS (cf. [[http://fr.answers.yahoo.com/question/index?qid=20080701183403AAak1vk/|topic sur Yahoo Answers]] ou [[http://boot.oldos.net/DRDOS703.zip|lien direct vers DRDOS 7.03 sur OldDOS.net]] et [[http://www.unet.univie.ac.at/~a0503736/php/drdoswiki/index.php/|topic sur DRDOS Wiki]]). À 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 : * Télécharger l'image du dos [[http://www.drdos.net/download.htm|lien direct vers DRDOS.net]] ou [[http://boot.oldos.net/DRDOS703.zip|lien direct vers OlDOS.net]], dans notre cas d'exemple le DR-DOS 7.03 (qui fonctionne à merveille), l'utilitaire pour flasher le BIOS (par exemple AWDFASH.EXE), et le fichier biosupdate.file correspondant au BIOS de votre carte mère, téléchargeables sur le site du constructeur. * Exécuter les commandes suivantes cd 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 (par exemple : AWDFASH biosupdate.file) .exe ===== À partir d'un système Linux ===== ==== Avec Flashrom ==== [[http://www.coreboot.org/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). Flashrom ne se lance pas sur les ordinateur portables: //« Laptops, notebooks and netbooks are difficult to support and we recommend to use the vendor flashing utility. The embedded controller (EC) in these machines often interacts badly with flashing. »// * [[tutoriel:comment_installer_un_paquet|Installez le paquet]] [[apt>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 vérifie uniquement la possibilité pour la puce du BIOS d'intégrer les données brutes du fichier ; il n'effectue aucune vérification quant à l'intégrité du code contenu, que ce soit au niveau d'éventuels bogues logiciels ou bien au niveau de l'adéquation de modèle et de version. Bien veiller à vérifier que la mise à jour correspond à votre type de BIOS en précisant votre modèle complet dans la page de recherche de mises à jour sur le site du constructeur. * 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 ===== Voir aussi ===== * Page sur la [[:cmospwd|mise à zéro du mot de passe bios]]. * Le paquet [[apt>firmware-tools]] permet également de travailler sur les Bios, * [[:tutoriel:flasher_bios_dell|Procédure de mise à jour du bios propre à DELL]], * **(fr)** [[http://forum.ubuntu-fr.org/viewtopic.php?pid=16193171#p16193171|[Tuto] Comment flasher un bios à partir de Xubuntu ( Ubuntu -...buntu)]], * **(fr)** [[http://perso.ens-lyon.fr/sebastien.mei/wiki/doku.php?id=documentations:updatebiosdell|Upgrader les firmwares sur des Dells depuis une Debian(lenny) ]] * **(en)** [[http://forum-en.msi.com/index.php?topic=138659.0|Cartes MSI avec Flashrom ]] (forum MSI)