Faire les mises à jour régulièrement sur son pc est une bonne pratique qui permet de gagner en sécurité et en performances. Elles sont proposées automatiquement par notre système d’exploitation (windows, linux ou macOS).
Mais sais-tu qu’il existe aussi un autre type de mise à jour que l’on a tendance à zapper trop souvent ? Je veux parler de celles qui concernent le BIOS/UEFI de ton ordinateur. On en parle moins mais pourtant elles peuvent parfois te sauver la mise. Problème: sous Linux leur application n’est pas toujours évidente. Dans cet article, je te donne une petite astuce pour pouvoir les faire facilement.
A l’origine , le BIOS/UEFI…
Le BIOS/UEFI est le premier micro programme qui se lance lorsque tu démarres ton ordi. Il est stocké dans une puce sur la carte mère de ton pc. Grosso modo son rôle est de s’assurer au boot du pc que tous les composants et périphériques sont opérationnels pour que le système d’exploitation puisse par la suite démarrer. On appelle cette étape le POST (power on self test) Il comprend bien d’autres fonctionnalités dont je vous fait l’économie dans cet article. A noter que par abus de langage on parle de Bios/uefi ,mais en 2022 tous les pc desktop utilisent bien le mode UEFI.
Un ptit schéma pour rappeler où se situe l’étape du BIOS/UEFI dans la la séquence de boot d’un linux :
Pourquoi mettre à jour le bios/UEFI ?
Globalement dès que tu as un soucis matériel et que tu as tout essayé (maj systèmes, applicatives, pilotes) on te conseille de mettre à jour ton bios/uefi. On aurait pu même commencer par cette étape. Cette mise à jour permet notamment d’obtenir:
- de meilleures performances matérielles
- une sécurité accrue
- une meilleure compatibilité entre carte mère et composants (nouvelle ram ,carte graphique, nouveau proc…)
- nouvelles fonctionnalités …
Comment mettre à jour son bios /uefi ?
Attention, cette opération n’est pas anodine, à réaliser avec d’extrêmes précautions
2 manières de procéder:
– par réseau, méthode la plus simple et valable pour tout type de config avec possibilité de l’activer automatiquement à chaque démarrage
– par media local, on télécharge le fichier de mise à jour sur son pc et on l’exécute au démarrage à partir du menu bios
Dans mon cas , je suis sur un pc qui ne me permet pas de mettre à jour mon bios via le réseau. Je dois donc opter pour l’installation directe par fichier en local.
Problème, le constructeur HP fournit le fichier de mise à jour sous forme d’EXE. Format installable uniquement sous windows :-/
Astuce pour mettre à jour le bios sous Linux
Voici donc les manip à faire sous linux:
- identifier le modèle de son pc (numéro de série) voir ici
- récupérer la maj de Bios sur le site du constructeur dans rubrique souvent appelée: « logiciels et pilotes » sinon tape ton numéro de série direct ici
- télécharger le fichier .exe proposé
J’ai donc un fichier .exe qui s’intitule « sp136491.exe » On va extraire ce fichier comme suit:
Installation du paquet p7zip: sudo apt-get install -y p7zip-full
Création répertoire d’accueil des fichiers à extraire: mkdir /tmp/test ; cd /tmp/test
On extrait les fichiers de maj du bios: 7z e sp136491.exe
On créer un dossier sur la partition uefi: sudo mkdir -p /boot/efi/EFI/HP/BIOS/New
On copie le fichier binaire de maj du bios sur la partition uefi: sudo cp *.bin /boot/efi/EFI/HP/BIOS/New
On vérifie que le dossier contient uniquement le binaire de notre mise à jour: ls -l /boot/efi/EFI/HP/BIOS/New
On allume un cierge.. et on redémarre le pc .
On rentre dans le menu bios (touche esc , suppr ou f12) et on choisit l’update via media local.
Le fichier de mise à jour est détecté et propose de procéder à l’upgrade (voir ci-dessous)
Et voilà mise à jour de bios réussie avec un .exe sous linux o_0
Merci pour ce tuto, j’ai eu le même problème lors de la MAJ du BIOS de mon PC Lenovo. Ça fait une raison de moins de garder mon Dual Boot 😀
Cool, a voir mais specialement pour Lenovo me semble qu’en fonction de leurs modèles tu devrais passer par leur propre outil de maj. Cet article ten dira plus:
https://bladecoder.medium.com/flash-your-lenovo-ideapad-laptop-bios-from-linux-using-uefi-capsule-updates-a82e455ea29c
Pour ceux qui ont des cartes mères « haut de gamme », en général il y a un gestionnaire de fichier intégré dans l’UEFI, permettant d’exécuter la mise à jour. C’est le cas sur ma ASUS ROG X570-F.
C’est donc complètement indépendant du système d’exploitation installé et rien que pour cette fonctionnalité, je suis prêt à mettre un peu plus d’argent dans une carte mère.
Parce que c’est quand même des fois bien l’emmerde pour mettre à niveau son BIOS/UEFI sous Linux selon les fabriquants…
Merci pour ce tuto, c’est vrai qu’à chaque fois que je dois mettre à jour mes bios… Je croise les doigts et transpire à grosse gouttes, pour que cela se passe bien.
Par contre sur mon pc portable pro « Dell » (désolé pour la pub) sous linux par défaut il y a une app fournie qui gère bien ça… et que l’on trouve sur leur site.
Win10 a modifié le Bios pour interdire win XP et il a verrouillé tous les procédés de mise a jour / Gigabyte sortir plle c-mos, court circuit sur terminal de la carte mère. Blocage de la procédure flash. En réinstallant XP l’accès au réseau et internet est impossible
Linux fonctionne correctement . Mais sous win10, la procédure d’edition du bios est impossible, le clavier s’éteint.
c’est incomprehensible pour un néophyte vous n’expliquez pas le chemin d’accé du .exe… vous mettez -e … et ne dites pas comment l’interpreter… zut!
Merci beaucoup pour ce tutoriel très détaillé et précis. A chaque fois que j’achète un micro et avant d’enlever Windows je fait d’abords la mise à jour du Bios puis je formate et installe Linux. Avec votre solution la première chose à faire et d’enlever Windows car je suis vraiment « allergique » à ce système. Merci encore 🙂
J’ai suivi cette procédure sur un HP EliteDesk 800G3 i5-6500 et ça a très très bien marché :-))
MERCI BEAUCOUP pour ce partage d’expérience.
Par contre, je n’arrive pas à MAJ le Bios pour Lenovo ThinkCentre M93p Tiny. j’ai téléchargé le pilote et créer le disque usb bootable avec les commandes linux que j’ai trouvé dans pas mal de tutos mais il ne veut pas booter !!!
Bonjour, je suis un peu nouveau(très) sur linux et je ne sais pas pourquoi quand je met la commande `sudo cp *.bin /boot/efi/EFI/HP/BIOS/New`, ça me dit `cp: cannot stat ‘*.bin’: No such file or directory`, c’est peut être idiot de ma part de demander ça, mais quand j’extract le driver il me l’extract en tant que .exe et non .bin, est-ce pour ça qu’il ne peut pas copy ?
je m’excuse si ma question est bête.
(Bonnes fêtes d’ailleurs)
Salut Sofien, ya pas de question bête 😉
D’autant plus que grâce à toi je maperçois que yavait une petite coquille dans la ligne de commande pour extraire les fichiers de l’exe
7z e sp136491.exe
(pas de tiret avec le e) , j’ai mis à jour le tuto.
Normalement tu devrais avoir le fichier bin