BIOS flashen ohne Floppy mit Linux

Kürzlich hatte ich ein Problem mit einem Mainboard und ich wollte das BIOS flashen und damit updaten. Leider lief auf dem Rechner kein Windows und ein Diskettenlaufwerk war nicht vorhanden. Die meisten Hersteller für Mainboards stellen entweder nur BIOS Flash Tools für Windows oder Dateien für das Starten von einer Diskette bereit.

Wie kann man also sein BIOS als Linux Benutzer flashen? Dazu benötigt man entweder einen CD-Rohling oder, falls der Rechner das Booten von USB unterstützt, einen USB Stick.

Ich habe mir das nicht selbst ausgedacht, sondern hier gefunden und ich möchte das hier noch einmal für deutschsprachige Benutzer verewigen. Ich selbst benutze Ubuntu 11.04, daher dürften die Befehle auf allen auf Debian basierenden Systemen ausführbar sein. Ansonsten dürfte nur das sudo durch vorheriges su zu ersetzen sein.

Zu erst benötigt man ein FreeDOS Image, welchet mit wget schnell heruntergeladen ist:

1
2
wget http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz
gunzip FDOEM.144.gz

Als nächstes werden zwei Module zum Einbinden des Images benötigt werden. Wahrscheinlich sind sie schon geladen, im Zweifelsfall einfach mit modprobe laden:

1
2
sudo modprobe vfat
sudo modprobe loop

Um das FreeDOS Image temporär einbinden zu können, muss man schauen, ob ein Eintrag von tmpfs in /proc/filesystems vorhanden ist, das dürfte meines Wissens nach bei allen gängigen Distributionen der Fall sein.

Wir erstellen nun ein Verzeichnis für das Image und binden dieses ein:

1
2
sudo mkdir /tmp/floppy
sudo mount -t vfat -o loop FDOEM.144 /tmp/floppy

Jetzt wird das BIOS Image des Mainboards benötigt. Meistens liegen gezippt vor und enhalten eine kurze Anleitung, der man entnehmen kann, welche Dateien man benötigt. Die benötigten Schritte sehen dann in etwa so aus:

1
2
unzip BIOS.zip
sudo cp FLASHBIOS.EXE BIOS.ROM /tmp/floppy

Dann kann das Image wieder ausgebunden werden:

1
sudo umount /tmp/floppy

Nun erstellen wir aus dem veränderten FreeDOS Image eine bootbare iso Datei:

1
mkisofs -o bootcd.iso -b FDOEM.144 FDOEM.144

Diese kann man nun entweder auf eine CD brennen oder, falls der Rechner das Booten von USB unterstützt, auf einen USB Stick geschoben werden:

1
sudo dd if=bootcd.iso of=/dev/sdb

Viel Erfolg beim Flashen eures BIOS!

mfg
Finn

1
2
wget http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz
gunzip FDOEM.144.gz

wget http://www.fdos.org/bootdisks/autogen/FDOEM.144.gzgunzip FDOEM.144.gz