HP 630 G3 | BIOS Passwort Reset

Hintergrund

Frühers war es möglich, das BIOS Passwort mit dem Entnehmen der BIOS-Batterie (und ggf. Kurzschluss der Kontakte) zu löschen. Das CMOS, indem die BIOS Einstellungen und das Passwort hinterlegt sind, behält diese nämlich nur mit Strom.

Seit ein paar Jahren hat sich das geändert: Die BIOS Einstellungen lassen sich zwar noch über diesen Weg zurücksetzen, das Passwort ist aber in einem nicht-volatilen Speicher eingetragen.

Als Alternative bleibt somit meist nur noch einen überteuerten Preis an den Service des Herstellers für die Rücksetzung zu zahlen oder den "Hackerweg" zu nehmen und dabei einfach das Passwort aus dem Speicher zu löschen. Dies setzt allerdings Linux Basics, einen EEPROM Programmer und ggf. Lötkenntnisse voraus.


Benötigte Tools

  • CH341A (EEPROM Programmer)
  • ggf. Lötwerkzeug

Vorprüfungen

  • Netzteil und Akku entfernen
  • SOIC Adapter auf das EEPROM stecken und prüfen, ob so der Flash gelesen werden kann (siehe Backup). Falls nicht ist ein Auslöten notwendig, wie in meinem Fall.

Tools installieren

(Linux vorausgesetzt)

1sudo su -
2apt update && apt install flashrom okteta

Backup

Der Flash sollte zwei mal gesichert und geprüft werden, ob die Checksumme beider Backups übereinstimmt, um sicherzustellen, dass dabei keine Fehler aufgetreten sind. Ich hatte anfangs versucht, den Flash direkt auf dem Mainboard auszulesen, was für unterschiedliche Checksummen gesorgt hat, was wiederum darauf hindeutete, dass ich das EEPROM auslöten musste, da offenbar etwas die Übertragung störte.

 1mkdir G650_G1
 2cd G650_G1
 3flashrom --programmer 'ch341a_spi' -r backup01.bin
 4flashrom --programmer 'ch341a_spi' -r backup02.bin
 5sha256sum ./*
 6
 7083c1a6085bcad810c19c09bb48d5c5c6d8b6262798163ac138fabb391b2cbde  ./backup01.bin
 8083c1a6085bcad810c19c09bb48d5c5c6d8b6262798163ac138fabb391b2cbde  ./backup02.bin
 9
10cp backup01.bin backup_modified.bin

Passwort entfernen

  • Öffne backup_modified.bin mit Okteta
  • Suche nach 420069006F00730055 (CTRL+F)
  • In meinem Fall ist es Zeile 0081:3840
  • Ersetze alles von 0050005F00 bis AA557F0007 mit FF
  • Datei speichern und flashen

Flashing

flashrom --programmer 'ch341a_spi' -w backup_modified.bin 

flashrom v1.2 on Linux 5.4.0-58-generic (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found Winbond flash chip "W25Q128.V" (16384 kB, SPI) on ch341a_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.

Testen

BEVOR du das Notebook wieder zusammenschraubst boote einmal das Notebook und prüfe, ob der BIOS Passwortschutz nun entfernt ist. Wenn das Notebook nicht bootet und die Lade-LED blinkt ist etwas schiefgelaufen. Prüfe und flashe die modifizierte Datei nochmals, alternativ kannst du das Backup erneut flashen.


Fehler beim Flashen

Leider klappte bei mir das Flashen mit dem original EEPROM nicht:

 1flashrom --programmer 'ch341a_spi' -w backup01.bin 
 2flashrom v1.2 on Linux 5.4.0-58-generic (x86_64)
 3flashrom is free software, get the source code at https://flashrom.org
 4
 5Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
 6Found Winbond flash chip "W25Q128.V" (16384 kB, SPI) on ch341a_spi.
 7Reading old flash chip contents... done.
 8Erasing and writing flash chip... Erase/write done.
 9Verifying flash... FAILED at 0x0000100b! Expected=0x00, Found=0x04, failed byte count from 0x00000000-0x00ffffff: 0x3380
10Your flash chip is in an unknown state.
11Please report this on IRC at chat.freenode.net (channel #flashrom) or
12mail flashrom@flashrom.org, thanks!

Ich bin mir nicht sicher, was genau den Fehler verursachte. Allerdings tippe ich darauf, dass ich entweder die Pins kurzgeschlossen habe oder den Chip anderweitig getoastet habe. Ein Ersatz-EEPROM funktioniert problemlos.


Quellen

- Dom