BIOS-Update ohne optisches Laufwerk unter Linux
Einleitung
Dieser Artikel beschreibt das Ausführen eines BIOS-Update für Linux-Benutzer. Dazu kommt entweder GRUB4DOS auf einem USB-Stick oder der Bootloader des installierten Linux-Systems zum Einsatz.
GRUB4DOS mit USB-Stick
Voraussetzungen
- Ein frisch mit FAT formatierter, leerer USB Stick
- ISO-Image des BIOS-Updates als Download von der Lenovo Website
Erstellen des bootfähigen USB-Sticks
ISO-Image auf den Stick kopieren
cp cp /pfad/zur/iso-datei /media/stick/thinkpadbios.iso sync
GRUB4DOS herunterladen, auspacken und installieren
wget http://download.gna.org/grub4dos/grub4dos-0.4.4.zip unzip grub4dos-0.4.4.zip cd grub4dos-0.4.4 cp grldr /media/name-des-sticks
Für den folgenden Schritt wird das korrekte Device sdX des Sticks benötigt. Dazu dient unmittelbar nach dem Anstecken folgendes Kommando:
dmesg | grep "Attached SCSI removable disk" | tail -1
In der Ausgabe ist das gesuchte Device sdX zu sehen:
[ 1234.567890] sd 0:0:0:0: [sdX] Attached SCSI removable disk
Vorsicht: eine falsche Angabe des Device kann katastrophale Auswirkungen auf das installierte System haben, so ist sda in der Regel die Systemplatte.
Das Device sdX setzt man nun in folgendes Kommando ein und führt es aus:
sudo ./bootlace.com /dev/sdX
Ausgabe:
Disk geometry calculated according to the partition table: Sectors per track = xx, Number of heads = yyy Success.
GRUB4DOS konfigurieren
Zuletzt erstellt man die Datei menu.lst auf dem Stick:
gedit /media/name-des-sticks/menu.lst
Inhalt:
color blue/green yellow/red white/magenta white/magenta timeout 30 default /default title ThinkPad BIOS Update map (hd0,0)/thinkpadbios.iso (hd32) map --hook chainloader (hd32) boot
Ausführen
Die Ausführung des Update ist am Ende dieses Artikels zusammengefaßt.
System-Bootloader mit Syslinux
Hinweis: dieser Abschnitt funktioniert sinngemäß auch unter anderen Distributionen mit GRUB 1/2, nur das Paket syslinux heißt eventuell anders oder fehlt (auf die Version achten, siehe BIOS-Update_ohne_optisches_Laufwerk_unter_Linux#Ubuntu_10.04 10.04!).
Voraussetzungen
- Ubuntu 10.04 oder höher auf Festplatte installiert (kein Livesystem!)
- GRUB 2 (ist bei einem neu installierten Ubuntu automatisch der Fall)
- ISO-Image des BIOS-Updates als Download von der Lenovo Website Lenovo Website].
Hinweis: die hier beschriebene Vorgehensweise funktioniert nicht mit einer EFI-Installation (im Paket grub-efi-amd64 fehlt das Modul linux16).
Installation
ISO-Image kopieren
Den Download kopiert man nach /boot:
sudo cp /pfad/zur/iso-datei /boot/thinkpadbios.iso
Syslinux einrichten
Ubuntu 10.10 und höher
Zu installieren ist das Paket
- syslinux
sudo apt-get install syslinux
Anschließend ist das enthaltene Werkzeug memdisk nach /boot zu kopieren
sudo cp /usr/lib/syslinux/memdisk /boot/
Ubuntu 10.04
Mit dem in Ubuntu 10.04 enthaltenen Syslinux-Paketen funktioniert das BIOS-Update nicht.
Daher lädt man das Paket syslinux-common aus 10.10 herunter, entpackt es mit
cd /pfad/zum/paket/ dpkg -X syslinux-common_VERSION_all.deb .
und kopiert das Werkzeug memdisk nach /boot
sudo cp ./usr/lib/syslinux/memdisk /boot/
GRUB 2 konfigurieren
Mit einem Editor mit Root-Rechten bearbeitet man die Datei /etc/grub.d/40_custom und fügt folgende Zeilen am Ende hinzu:
menuentry "ThinkPad BIOS Update" { set root='(hd0,1)' # diese Zeile analog den vorhandenen Einträgen in /boot/grub/grub.cfg anpassen! linux16 /boot/memdisk iso initrd16 /boot/thinkpadbios.iso }
Hat man für /boot eine separate Partition eingerichtet, lauten die Einträge so:
menuentry "ThinkPad BIOS Update" { set root='(hd0,1)' # diese Zeile analog den vorhandenen Einträgen in /boot/grub/grub.cfg anpassen! linux16 /memdisk iso initrd16 /thinkpadbios.iso }
Um beim Systemstart das GRUB-Bootmenü anzuzeigen, sind in der Datei /etc/default/grub die beiden folgenden Zeilen wie gezeigt mit '#' auszukommentieren:
#GRUB_HIDDEN_TIMEOUT=0 #GRUB_HIDDEN_TIMEOUT_QUIET=true
Zuletzt werden alle Änderungen an GRUB aktiviert mit
sudo update-grub
GRUB 1 / GRUB Legacy
Falls man noch eine Distribution mit GRUB 1 (GRUB Legacy) verwendet (z.B. Archlinux), dann kann man das ISO ebenfalls einbinden. Dazu fügt man in /boot/grub/menu.lst folgendes hinzu:
# BiosUpdate title ThinkPad BIOS Update root (hd0,0) # Analog den anderen Einträgen anpassen kernel /boot/memdisk iso initrd /boot/thinkpadbios.iso
Man muss wie bei GRUB 2 syslinux installieren und memdisk sowie das thinkpadbios.iso nach /boot kopieren.
BIOS Update ausführen
Wichtig: das BIOS-Update unbedingt mit geladenem Akku und angeschlossenen Netzteil durchführen!
System(neu)start ausführen und im Grub-Bootmenü den Eintrag
- "ThinkPad BIOS Update"
auswählen. Den Anweisungen des Programms folgen.
Nach dem Update empfiehlt es sich, die BIOS-Einstellungen auf Defaults (Werkseinstellungen) zurückzusetzen:
- Beim Systemstart mit [F1] ins BIOS
- [F9] (Setup Defaults) [Enter] (Yes)
- eigene Anpassungen (z.B. SATA-Modus) wieder einpflegen
- [F10] (Save and Exit) [Enter] (Yes)
- sobald das ThinkPad-Logo erscheint, Gerät kurz ausschalten
Quellen und Links
- 1, 2, 3- Anleitungen auf thinkwiki.org
- GRUB 2 - Konfiguration des Bootloaders
- X220 - BIOS Update mit USB-Stick unter Windows mit Ultraiso
- BIOS-Update ohne optisches Laufwerk unter Windows mit GRUB4DOS