Thinkpad X220 Bios Update mit USB Stick
Diese Seite beschreibt, wie man beim Lenovo Thinkpad X220 ein BIOS-Update mithilfe eines USB Sticks durchführen kann. Leider bietet Lenovo nur ein bootbares Image für CDs an, was für ein Gerät ohne CD-Laufwerk nicht gerade optimal ist. Allerdings lässt sich aus diesem Image ein passendes Image für einen USB-Stick extrahieren.
Warnung: Ein BIOS-Update ist ein riskantes Unterfangen. Durch Fehler im Updateprozess oder durch das Aufspielen eines nicht zum Mainboard passendes BIOS-Images kann zu einem vollständigen Defekt des Mainboards kommen. Ein funktionierendes BIOS lässt sich dann allenfalls noch mithilfe von Spezialhardware flashen. |
Vorbereitungen
- Das passende CD-Image mit dem BIOS-Update von der Lenovo-Seite laden
- Das Paket gcc muss installiert sein
- Ein USB Stick [1] muss zur Verfügung stehen
- Die Datei isobar.c [2] muss heruntergeladen werden
Kompilieren von isobar
Zuerst wechselt man in das Verzeichnis, in dem die Datei isobar.c liegt, hier z.B. ~/isobar .
user@debian:~$ cd ~/isobar
Danach wird einfach
user@debian:~/isobar$ gcc -o isobar isobar.c
ausgeführt. Falls hier keine Fehlermeldung ausgegeben wird, ist dieser Schritt abgeschlossen.
Extraktion des Images aus der ISO-Datei
Mit folgendem Befehl wird das Image extrahiert:
user@debian:~/isobar$ ./isobar -o biosupdate.img 8duj13uc.iso
Catalog Sector: 14
Platform: 80x86 (00)
ID String: NERO BURNING ROM
Bootable: yes (88)
Boot Type: hard disk (04)
Load Segment: 07c0
System Type: 06
Sector Count: 01 (1)
Image Sector: 1b
Image Size: 33554432 bytes
Wobei 8duj13uc.iso das im selben Verzeichnis liegende von der Lenovo-Seite geladene Image ist.[3]
Schreiben des Images auf den USB-Stick
Zuerst muss herausgefunden werden, welcher Gerätename dem USB Stick zugeordnet worden ist. Dies kann nach dem Einstecken z.B. folgendermaßen geschehen:
user@debian:~$ dmesg
...
[15533.070957] scsi 6:0:0:0: Direct-Access JetFlash TS4GJFV30 8.07 PQ: 0 ANSI: 2
[15533.075312] sd 6:0:0:0: [sdc] 7987200 512-byte logical blocks: (4.08 GB/3.80 GiB)
[15533.076375] sd 6:0:0:0: [sdc] Write Protect is off
[15533.076382] sd 6:0:0:0: [sdc] Mode Sense: 03 00 00 00
[15533.077475] sd 6:0:0:0: [sdc] No Caching mode page present
[15533.077484] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[15533.083737] sd 6:0:0:0: [sdc] No Caching mode page present
[15533.083747] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[15533.084823] sdc: sdc1
[15533.088794] sd 6:0:0:0: [sdc] No Caching mode page present
[15533.088801] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[15533.088806] sd 6:0:0:0: [sdc] Attached SCSI removable disk
Hier im Beispiel wird der Stick offensichtlich über /dev/sdc angesprochen.
Warnung: Alle Daten auf dem USB-Stick gehen verloren! Es muss im Folgenden unbedingt darauf geachtet werden, dass der richtige Gerätename verwendet wird und nicht etwa der der Festplatte. |
Ab jetzt werden root-Rechte benötigt. Folgender Befehl schreibt das Image auf den USB Stick, wobei sdX der gerade herausgefundene Gerätename ist, hier sdc.
root@debian:~user/isobar# dd if=biosupdate.img of=/dev/sdX
Installation des Updates
Jetzt wird der Rechner neu gestartet. Gleich nach dem Start muss die ThinkVantage Taste gedrückt werden, gefolgt von F12[4]. Im hier erscheinenden Bootmenü wird der USB-Stick ausgewählt und mit der Return-Taste bestätigt. Danach startet die Updatesoftware, hier wählt man den Punkt "Update System Program" und folgt den Anweisungen.
- ↑ Es kann in der Regel auch ein anderer Datenträger verwendet werden, der wie eine Festplatte angesprochen wird und von dem das Notebook booten kann.
- ↑ Alternativlinks: http://colimit.googlepages.com/isobar.c, 36152
- ↑ Der Name der Datei und die Ausgabe von isobar können je nach BIOS-Version abweichen.
- ↑ Oft reagiert das Gerät nicht auf die ThinkVantage Taste, d.h. man muss es öfter probieren. Oft hilft auch ein aus- und einschalten anstatt ein Neustart.