Nous allons utiliser 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 ici.
Distribution
et choisissez FreeDOS
. En bas (Drive:
), sélectionner la clé USB. Puis faites OK
.C:
»dir
qui vous listera le contenu de la clé. Vérifier que votre fichier de flashage apparaît bien dans la liste.Entrée
.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.
C'est un peu long car on part d'une image ISO pour en recréer une nouvelle.
sha256sum fdbasecd.iso
sudo modprobe loop mkdir tmp sudo mount fdbasecd.iso tmp -t iso9660 -o loop
mkdir freedosmod cp -ra tmp/* freedosmod/ sudo umount tmp rmdir tmp
cp /chemin_vers_votre_bios/* freedosmod/
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 ..
kvm -cdrom freedos_biosupdate.iso -boot d -m 512
rm -r freedosmod rm freedos_biosupdate.iso
dir
et vérifier la présence de nos fichiersdir
Regarder si vous n'avez pas un utilitaire dans le BIOS directement. Sinon :
cd <répertoire de téléchargement> 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
<logiciel>.exe
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).
sudo dmidecode -s bios-version
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.
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.
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
sudo dmidecode -s bios-version
À partir du moment où vous avez pu faire vos modifications sans le mot de passe administrateur dans le BIOS, ou pas. Ou si vous démarrez de nouveau sur votre o/s Ubuntu, ça ne fonctionnera plus, il faudra réitérer les commandes.
La seule chose que nous pouvons pas faire, c'est de modifier le mot de passe courant, sauf si vous êtes en possession de ce dernier. En ce moment, merci d'utiliser votre mot de passe, et de ne pas employer cette méthode !2).
Sâchez aussi que dans le cas présent, nous exploitons un bug dans le firmware du BIOS. Si vous voulez reset le mot de passe administrateur de votre T420, il vous faudra le démonter.
— BeAvEr
Sur la version du firmware du BIOS suivant :
$ sudo dmidecode -s bios-version $ 83ET82WW (1.52 )
Veuillez ouvrir un terminal avec pour contenu :
printf "\xff" | sudo dd of=/dev/nvram bs=1 seek=32
Vous aurez un résultat semblable à celui là :
dd: écriture vers '/dev/nvram': Aucun espace disponible sur le périphérique 1+0 enregistrements lus 0+1 enregistrements écrits 114 octets copiés, 0,000870344 s, 131 kB/s 1+0 enregistrements lus 1+0 enregistrements écrits 1 octet copié, 0,000220398 s, 4,5 kB/s
Contributeur(s)/trice(s) : La Communauté Ubuntu-fr.