Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
flasher_le_bios [Le 15/12/2011, 15:17] 127.0.0.1 modification externe |
flasher_le_bios [Le 25/05/2020, 21:27] 37.48.120.196 [Reset un BIOS à partir d'un système Linux sur un système ayant NVRAM] beaver </end> |
||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
- | <note important>**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) d'en **brancher l'alimentation 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.</note> | + | <note important>**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.</note> |
+ | <note>**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).</note> | ||
===== En émulant DOS ===== | ===== En émulant DOS ===== | ||
==== Avec FreeDOS (clé USB) ==== | ==== 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. | + | 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. Vous trouverez les archives de FreeDOS [[http://www.freedos.org/download/|ici]]. |
=== Préparation de la clé USB === | === Préparation de la clé USB === | ||
- | * Formatez une clé USB en fat32. | + | * [[:tutoriel:formater_une_cle_usb|Formater une clé USB]] en **FAT 16 !!** et donnez-lui le drapeau boot. |
- | * Installez **[[apt://unetbootin|UNetbootin]]**. | + | * Installer **[[UNetbootin]]**. |
- | * Lancez UNetbootin: ''//Applications//'' -> ''//Outils système//'' -> ''//UNetbootin//''. | + | * Lancer UNetbootin et cocher ''//Distribution//'' et choisissez ''//FreeDOS//''. En bas (''Drive:''), sélectionner la clé USB. Puis faites ''//OK//''. |
- | Cochez ''//Distribution//'' et choisissez ''//FreeDOS//''. En bas, sélectionnez votre clé USB. Puis faites ''//OK//''. | + | |
{{ http://it-experts.dk/cfs-filesystemfile.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jjonsson/3010.UNetbootin.png }} | {{ http://it-experts.dk/cfs-filesystemfile.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jjonsson/3010.UNetbootin.png }} | ||
- | * Fermez UnetBootIn, ouvrez la clé dans Nautilus, copiez-y simplement le/les fichier(s) de flashage récupérés sur le site du constructeur. La clé est prête pour flasher. | + | * 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 === | === Flash du BIOS === | ||
- | - Bootez sur la clé. Le système va charger //FreeDOS//. | + | - Booter sur la clé. Le système va charger //FreeDOS//. |
- | - Choisissez la seule option possible: //Default//. | + | - Choisir la seule option possible: //Default//. |
- | - Une sorte de grub s'affiche, choisissez //FreeDOS Safe Mode (don't load any drivers)//. | + | - Une sorte de grub s'affiche, choisir //FreeDOS Safe Mode (don't load any drivers)//. |
- | - On arrive sur un prompt, par défaut sur le disque A: -> aller dans le disque C: en tapant ''C:'' . | + | - Un prompt s'affiche, par défaut sur le disque A |
- | - Tapez la commande ''dir'' qui vous listera le contenu de la clé. Vérifiez que votre fichier de flashage apparaît bien dans la liste. | + | - Si les fichiers ajouté ne s'affichent pas sur le disque **A:**, Aller dans le disque C: en tapant « ''C:'' » |
- | - Tapez le nom complet, avec l'extension, du fichier de flashage. | + | - 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. |
- | - Tapez ''Entrée''. | + | - 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é. | - Le flashage du BIOS commencera et prendra quelques secondes **ou minutes**, puis il sera vérifié. | ||
- | - Il est possible qu'il y ait un reboot un peu brutal à la fin du flashage, mais ça reboot bien. | + | - Il est possible qu'il y ait un redémarrage un peu brutal à la fin du flashage, mais ça redémarre bien. |
- | Votre BIOS est flashé. Au reboot, allez dans le BIOS, et effectuez les directives fournies par le constructeur (en général //load setup defaults//). | + | 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étrez votre BIOS à votre convenance, sauvegardez, et rebootez. | + | Paramétrer le BIOS, sauvegarder, et redémarrer. |
- | ==== Avec FreeDOS (création d'une iso à graver sur cd) ==== | + | |
+ | **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. | C'est un peu long car on part d'une image ISO pour en recréer une nouvelle. | ||
- | * On télécharge l'image ISO de FreeDOS [[http://sunsite.rediris.es/mirror/freedos/files/distributions/1.0/fdbasecd.iso| par exemple ici]]. | + | - 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érifiez le checksum d'après celui du [[http://www.freedos.org/|site officiel]]. | + | - (Facultatif) Vérifier le checksum d'après celui du [[http://www.freedos.org/|site officiel de FreeDOS]]<code>sha256sum fdbasecd.iso</code> |
- | <code> | + | - Monter l'image pour en récupérer le contenu<code>sudo modprobe loop |
- | sha256sum fdbasecd.iso | + | |
- | </code> | + | |
- | * On monte l'image pour en récupérer le contenu | + | |
- | <code> | + | |
- | sudo modprobe loop | + | |
mkdir tmp | mkdir tmp | ||
- | sudo mount fdbasecd.iso tmp -t iso9660 -o loop | + | sudo mount fdbasecd.iso tmp -t iso9660 -o loop</code> |
- | </code> | + | - Récupérer le contenu dans un nouveau dossier<code>mkdir freedosmod |
- | * On récupère le contenu dans un nouveau dossier : | + | |
- | <code> | + | |
- | mkdir freedosmod | + | |
cp -ra tmp/* freedosmod/ | cp -ra tmp/* freedosmod/ | ||
sudo umount tmp | sudo umount tmp | ||
- | rmdir tmp | + | rmdir tmp</code> |
- | </code> | + | - Y copier les fichiers du BIOS<code>cp /chemin_vers_votre_bios/* freedosmod/</code> |
- | * On y copie les fichiers du BIOS : | + | - Créér l'image ISO<code>cd freedosmod |
- | <code> | + | |
- | cp /chemin_vers_votre_bios/* freedosmod/ | + | |
- | </code> | + | |
- | * On crée l'image ISO : | + | |
- | <code> | + | |
- | cd freedosmod | + | |
chmod u+w ./isolinux/isolinux.bin | chmod u+w ./isolinux/isolinux.bin | ||
mkisofs -o ../freedos_biosupdate.iso -q -l -N \ | mkisofs -o ../freedos_biosupdate.iso -q -l -N \ | ||
Ligne 75: | Ligne 66: | ||
-publisher "FreeDOS" \ | -publisher "FreeDOS" \ | ||
-A "FreeDOS 1.0" -V FDOS_1 -v . | -A "FreeDOS 1.0" -V FDOS_1 -v . | ||
- | cd .. | + | cd ..</code> |
- | </code> | + | - (Facultatif) Tester l'iso, voir [kvm] pour plus d'infos<code>kvm -cdrom freedos_biosupdate.iso -boot d -m 512</code> |
- | * (Facultatif) On teste l'iso, voir [kvm] pour plus d'infos : | + | - [[:gravure|Graver]] le fichier image.iso sur un CD réinscriptible |
- | <code> | + | - Si tout est OK, faire le ménage<code>rm -r freedosmod |
- | kvm -cdrom freedos_biosupdate.iso -boot d -m 512 | + | rm freedos_biosupdate.iso</code> |
- | </code> | + | - Redémarrer la machine, et booter sur le CD |
- | * On grave le fichier image.iso sur un CD réinscriptible : | + | - Au premier menu, choisir "1" pour lancer FreeDOS |
- | <code> | + | - Au deuxième menu, choisir "1" pour INSTALL (Contrairement à ce que l'on pourrait croire, ça n'installe rien à cette étape) |
- | cdrecord -v blank=fast dev=/dev/cdrom freedos_biosupdate.iso | + | - Au troisième menu, choisir "Français" pour avoir le clavier azerty. |
- | </code> | + | - Au quatrième menu, choisir "Run from CD" |
- | * Si tout est OK, on peut faire le ménage : | + | - Un prompt s'affiche, taper ''dir'' et vérifier la présence de nos fichiers<code>dir</code> |
- | <code> | + | - Lancer votre exécutable, en respectant le mode d'emploi du fabricant. |
- | rm -r freedosmod | + | |
- | rm freedos_biosupdate.iso | + | |
- | </code> | + | |
- | * On redémarre la machine en démarrant sur le CD | + | |
- | * Au premier menu, on choissit "1" pour lancer FreeDOS | + | |
- | * Au deuxième menu, on choisit "1" pour INSTALL. N'ayez pas peur, ça n'installe rien à cette étape ! | + | |
- | * Au troisième menu, on choisit "Français" pour avoir le clavier azerty. | + | |
- | * Au quatrième menu, on choisit "Run from CD" | + | |
- | * On arrive sur un prompt, on tape dir pour vérifier la présence de nos fichiers. | + | |
- | <code> | + | |
- | dir | + | |
- | </code> | + | |
- | * 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) ==== | + | ==== Avec une image DR-DOS (création d'une ISO à graver sur CD) ==== |
<note>FIXME\\ | <note>FIXME\\ | ||
- | Il semble que DR-DOS n'existe plus et soit remplacé par FreeDOS (cf. [[http://fr.answers.yahoo.com/question/index?qid=20080701183403AAak1vk/|ici]] ou [[http://boot.oldos.net/DRDOS703.zip|là]] et [[http://www.unet.univie.ac.at/~a0503736/php/drdoswiki/index.php/|là]]). À confirmer.\\ | + | 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.</note> | En tout cas le lien de téléchargement ci-dessous est mort.</note> | ||
- | Regardez si vous n'avez pas un utilitaire dans le bios directement. Sinon : | + | Regarder si vous n'avez pas un utilitaire dans le bios directement. Sinon : |
- | * Téléchargez l'image du dos [[http://www.drdos.net/download.htm|ici]] ou [[http://boot.oldos.net/DRDOS703.zip|là]], dans notre cas d'exemple le DR-DOS 7.03 (qui fonctionne à merveille), l'utilitaire pour flasher le bios (chez moi AWDFASH.EXE), et le fichier biosupdate.file correspondant au bios de votre carte mère, téléchargeables sur le site du constructeur. | + | * 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 : | + | * Exécuter les commandes suivantes |
<code> | <code> | ||
- | cd <repertoire de telechargement> | + | cd <répertoire de téléchargement> |
mkdir tmp | mkdir tmp | ||
sudo mount -o loop -t vfat DRDOS703.IMG tmp | sudo mount -o loop -t vfat DRDOS703.IMG tmp | ||
Ligne 123: | Ligne 101: | ||
* Graver le fichier image.iso sur un CD | * Graver le fichier image.iso sur un CD | ||
- | * Démarrer sur le CD, et à l'invite A:\ lancez votre utilitaire (chez moi : AWDFASH biosupdate.file) | + | * Démarrer sur le CD, et à l'invite A:\ lancer votre utilitaire (par exemple : AWDFASH biosupdate.file) |
<code><logiciel>.exe</code> | <code><logiciel>.exe</code> | ||
Ligne 129: | Ligne 107: | ||
==== Avec Flashrom ==== | ==== 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). | ||
- | <note>Flashrom ne se lance pas sur les laptops: //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.//</note> | + | <note important>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. »//</note> |
- | Flashrom est un programme pour **flasher directement depuis votre système**. | + | * [[tutoriel:comment_installer_un_paquet|Installez le paquet]] [[apt>flashrom]] |
- | Utilisable sous Linux, FreeBSD, DragonFly BSD, Solaris, Mac OSX, etc. | + | * Voir la version du BIOS en cours |
+ | <code bash> sudo dmidecode -s bios-version </code> | ||
- | [[http://www.coreboot.org/Flashrom| Flashrom]] | + | * Vérifier si votre ROM est supportée |
- | + | <code bash> sudo flashrom </code> | |
- | * [[tutoriel:comment_installer_un_paquet|Installez le paquet]] [[apt://flashrom|flashrom]] ou via apt : | + | La commande doit renvoyer le message suivant : |
- | <code bash> | + | <code>Calibrating delay loop... OK. |
- | sudo apt-get install flashrom | + | |
- | </code> | + | |
- | + | ||
- | Voir la version du BIOS en cours | + | |
- | <code bash> | + | |
- | sudo dmidecode -s bios-version | + | |
- | </code> | + | |
- | + | ||
- | Vérifier si votre ROM est supportée | + | |
- | <code bash> | + | |
- | sudo flashrom | + | |
- | </code> | + | |
- | + | ||
- | Vous devriez obtenir un message comme suit : | + | |
- | <code> | + | |
- | Calibrating delay loop... OK. | + | |
No coreboot table found. | No coreboot table found. | ||
Found chipset "NVIDIA MCP51", enabling flash write... OK. | Found chipset "NVIDIA MCP51", enabling flash write... OK. | ||
Found chip "PMC Pm49FL004" (512 KB) at physical address 0xfff80000. | Found chip "PMC Pm49FL004" (512 KB) at physical address 0xfff80000. | ||
- | No operations were specified. | + | No operations were specified. </code> |
- | </code> | + | |
- | Sauvegarder le BIOS de votre machine : | + | <note> |
- | <code bash> | + | 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.</note> |
- | sudo flashrom -r A7Tversion.ROM | + | |
- | </code> | + | |
- | <code> | + | * Sauvegarder le BIOS |
- | Calibrating delay loop... OK. | + | <code bash> sudo flashrom -r VotreModeledeCM.version.ROM </code> |
+ | <code> Calibrating delay loop... OK. | ||
No coreboot table found. | No coreboot table found. | ||
Found chipset "NVIDIA MCP51", enabling flash write... OK. | Found chipset "NVIDIA MCP51", enabling flash write... OK. | ||
Found chip "PMC Pm49FL004" (512 KB) at physical address 0xfff80000. | Found chip "PMC Pm49FL004" (512 KB) at physical address 0xfff80000. | ||
- | Reading flash... done. | + | Reading flash... done. </code> |
- | </code> | + | |
- | + | ||
- | Pour flasher la ROM avec un nouveau BIOS : | + | |
- | <code bash> | + | |
- | sudo flashrom -w A7TNouvelleVersion.ROM | + | |
- | </code> | + | |
- | <code bash> | + | * Flasher la ROM avec un nouveau BIOS |
- | Calibrating delay loop... OK. | + | <code bash> sudo flashrom -w 'FichierROM.NouvelleVersion.ROM' </code> |
+ | <code bash> Calibrating delay loop... OK. | ||
No coreboot table found. | No coreboot table found. | ||
Found chipset "NVIDIA MCP51", enabling flash write... OK. | Found chipset "NVIDIA MCP51", enabling flash write... OK. | ||
Found chip "PMC Pm49FL004" (512 KB) at physical address 0xfff80000. | Found chip "PMC Pm49FL004" (512 KB) at physical address 0xfff80000. | ||
Flash image seems to be a legacy BIOS. Disabling checks. | Flash image seems to be a legacy BIOS. Disabling checks. | ||
- | Programming page: 0007 at address: 0x00070000 | + | Programming page: 0007 at address: 0x00070000 </code> |
- | </code> | + | |
- | **Rebootez votre machine**. | + | * Rebooter la machine (**à faire uniquement si flashrom n'a pas détecté d'erreurs**). |
- | Vérifiez la version du BIOS : | + | * Vérifier la version du BIOS |
+ | <code bash> sudo dmidecode -s bios-version </code> | ||
- | <code bash> | + | ===== Reset un BIOS à partir d'un système Linux sur un matériel ayant NVRAM ===== |
- | sudo dmidecode -s bios-version | + | |
- | </code> | + | Veuillez ouvrir un [[:terminal]] avec pour contenu : |
- | ==== Pour les Dells ==== | + | - Nous chargeons [[wpfr>Mémoire_non_volatile|NVRAM]] :\\ <code bash>sudo modprobe nvram</code> |
+ | - Nous écrivons des zéros dans [[wpfr>Mémoire_non_volatile|NVRAM]] :\\ <code bash>sudo dd if=/dev/zero of=/dev/nvram</code> | ||
+ | - Nous redémarrons notre ordinateur, pensez à accéder((https://www.disk-image.com/faq-bootmenu.htm.)) à votre [[wpfr>Basic_Input_Output_System|BIOS]] :\\ <code bash>sudo reboot</code> | ||
- | voir lien externe | + | ---- |
- | ===== Liens externes ===== | + | ===== 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). | ||
- | * **(en)** [[http://forum-en.msi.com/index.php?topic=138659.0|Cartes MSI avec Flashrom ]] (forum MSI) | + | ---- |
- | * **(fr)** [[http://perso.ens-lyon.fr/sebastien.mei/wiki/doku.php?id=documentations:updatebiosdell|Upgrader les firmwares sur des Dells depuis une Debian(lenny) ]] | + | |
+ | //Contributeur(s)/trice(s) : [[https://doc.ubuntu-fr.org/communaute#communaute_ubuntu-fr|La Communauté Ubuntu-fr]], [[:utilisateurs:BeAvEr|BeAvEr]] (Ajout de la section **Reset un BIOS à partir d'un système Linux sur un système ayant NVRAM**).// | ||
+ |