T480/s T480 (bzw. X270/T470/etc.): BIOS Advanced Menu (skyra1n) & me_cleaner

iks230

Well-known member
Themenstarter
Registriert
8 Dez. 2021
Beiträge
634
Ich hoffe mal bei der Forensuche kein Thema übersehen zu haben, was dies bereits behandelt.

Modfiziertes BIOS (erweiterte Optionen und ausgeschaltete Intel Management Engine) am Beispiel eines T480 (gleiche Patch-Datei lässt sich auch auf X270, T470, xx70 bzw. xx80 anwenden).

Ich konzentriere mich in der Anleitung auf einen CH341a als Programmer für den Chip. Alternativ kann auch ein Raspberry Pi verwendet werden (Links dazu weiter unter).

optional vorher anschauen bzw. durchlesen
benötigte Hard- und Software
  • zweiter Rechner mit Linux für flashrom (geht auch unter Mac mit Homebrew; Windows wohl eher schwierig)
  • CH341a (3,3 V-Version!) plus SOIC8-Clip und entsprechende Verkabelung / Adapter
Allgemeine Hinweise
  • BIOS-Passwörter entfernen und BIOS auf Werkeinstellungen zurücksetzen
  • BIOS mindestens zweimal auslesen und überprüfen, ob beide Dateien identisch sind (z. B. via Prüfsumme) und Sicherheitskope anfertigen
  • Akku entfernen bzw. internen Akku im BIOS deaktivieren
  • da das TPM betroffen sein kann: ggf. vorher das System entschlüsseln, wenn die Verschlüsselung auf TPM aufbaut
  • den Clip immer nur stromlos auf den Chip aufsetzen bzw. loslösen
  • viele CH341a liefern 5 V statt der geforderten 3,3 V (hier ein Fix oder auf die v1.6 ausweichen; Kauflinks weiter unten)
  • auslesen hat ca. zweieinhalb Minuten gedauert, zurückschreiben ca. viereinhalb Minuten
  • sollte irgendwas schiefgehen: Sicherheitskopie zurückflashen
BIOS Advanced Menu (bietet zum Beispiel Overclocking-Optionen)
  • BIOS auslesen
  • in der Patch-Datei die Patches, die nicht angewendet werden sollen, mit # auskommentieren
  • UEFIPatch plus Patch-Datei (z. B. xx70_xx80_patches_v7.txt) auf das ausgelesene BIOS anwenden
  • mit einem HEX-Editor den Wert 4C 4E 56 42 42 53 45 43 FB durch 4C 4E 56 42 42 53 45 43 FF ersetzen (z. B. Okteta)
  • modifiziertes BIOS zurückschreiben
Nachteil: TPM funktioniert nicht mehr, da das BIOS nicht mehr signiert ist bzw. TPM ist im Manufacturing (MFG) Mode (wobei manchmal Bitlocker doch noch zu gehen scheint; könnte aber ein Problem bei Windows 11 werden wegen TPM-Pflicht).

Beispiel Kommandozeilen-Befehle (mit einem CH341a):
Code:
sudo flashrom -p ch341a_spi -r bios1.bin # BIOS auslesen Nr. 1

sudo flashrom -p ch341a_spi -r bios2.bin # BIOS auslesen Nr. 2

sha512sum bios1.bin bios2.bin # sollte die gleiche Prüfsumme ergeben

diff bios1.bin bios2.bin # Alternative zu sha512sum: keine Ausgabe bedeutet "Dateien identisch"

nano xx70_xx80_patches_v7.txt # Patch-Datei bearbeiten bzw. Patches ggf. auskommentieren mit # (z. B. für X270)

./UEFIPatch bios1.bin xx70_xx80_patches_v7.txt -o bios_patched.bin # Patch anwenden

okteta bios_patched.bin # bios_patched.bin mit dem HEX-Editor bearbeiten

sudo flashrom -p ch341a_spi -w bios_patched.bin # BIOS zurückschreiben

Intel Management Engine abschalten
Beispiel Kommandozeilen-Befehle (mit einem CH341a):
Code:
sudo flashrom -p ch341a_spi -r bios1.bin # BIOS auslesen Nr. 1

sudo flashrom -p ch341a_spi -r bios2.bin # BIOS auslesen Nr. 2

sha512sum bios1.bin bios2.bin # sollte die gleiche Prüfsumme ergeben

diff bios1.bin bios2.bin # Alternative zu sha512sum: keine Ausgabe bedeutet "Dateien identisch"

./me_cleaner.py -s -O bios_ohne_me.bin bios1.bin

sudo flashrom -p ch341a_spi -w bios_ohne_me.bin # BIOS zurückschreiben

Links zu Raspberry Pi
Links, die mir weitergeholfen haben:
Beispiele für Terminal-Ausgaben:

BIOS auslesen:
Code:
$ sudo flashrom -p ch341a_spi -r bios1.bin
flashrom v1.2 on Linux 5.18.11-200.fc36.x86_64 (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 flash... done.

Checksummen überprüfen:
Code:
$ sha512sum *
ebc50f6fbf58d4ff9f67a81487f18c1f[...] bios1.bin
ebc50f6fbf58d4ff9f67a81487f18c1f[...] bios2.bin

me_cleaner anwenden:
Code:
$ ./me_cleaner.py -s -O bios_ohne_me.bin bios1.bin
Full image detected
Found FPT header at 0x3010
Found 13 partition(s)
Found FTPR header: FTPR partition spans from 0x1000 to 0x130000
Found FTPR manifest at 0x1478
ME/TXE firmware version 11.8.92.4222 (generation 3)
Public key match: Intel ME, firmware versions 11.x.x.x
The HAP bit is NOT SET
Checking the FTPR RSA signature... VALID

mit me_cleaner den Status von ME auslesen:
Code:
$ ./me_cleaner.py -c bios_ohne_me.bin
Full image detected
Found FPT header at 0x3010
Found 13 partition(s)
Found FTPR header: FTPR partition spans from 0x1000 to 0x130000
Found FTPR manifest at 0x1478
ME/TXE firmware version 11.8.92.4222 (generation 3)
Public key match: Intel ME, firmware versions 11.x.x.x
The HAP bit is SET
Checking the FTPR RSA signature... VALID

BIOS zurückschreiben:
Code:
$ sudo flashrom -p ch341a_spi -w bios_ohne_me.bin
flashrom v1.2 on Linux 5.18.11-200.fc36.x86_64 (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.

BIOS patchen für Advanced Menu:
Code:
$ ./UEFIPatch bios1.bin xx70_xx80_patches_v7.txt -o bios_patched.bin
parseVolume: unknown file system FFF12B8D-7696-4C8B-A985-2747075B4F50
parseBios: one of volumes inside overlaps the end of data
parseFile: non-empty pad-file contents will be destroyed after volume modifications
patch: replaced 16 bytes at offset 3B60h 04320B483CC2E14ABB16A73FADDA475F -> 778B1D826D24964E8E103467D56AB1BA
patch: replaced 16 bytes at offset 118D0h 04320B483CC2E14ABB16A73FADDA475F -> 778B1D826D24964E8E103467D56AB1BA
patch: replaced 28 bytes at offset 6B80Ch 09072C1300000209072D1300000309072E1300000409072F13000005 -> 09072C1300001909072D1300001A09072E1300001B09072F1300001C
patch: replaced 58 bytes at offset 53B44h 00143100300030004D0068007A000000143100350030004D0068007A000000143200300030004D0068007A000000143200350030004D0068007A -> 00143100320035003000200020000000143100330030003000200020000000143100330035003000200020000000143100340030003000200020
patch: replaced 26 bytes at offset 69DDFh 0A821286A10B04001206A60B010016021206A60B020016022902 -> 0A821286A10B04001206A60B000016021206A60B000016022902
patch: replaced 11 bytes at offset 545h 0BC8394B040F8437020000 -> 0BC8394B04E93802000000
patch: replaced 5 bytes at offset 535h C8390B7516 -> C8390B7500
Image patched
 
Zuletzt bearbeitet:
Ja ich habe alles vom Advanced Menü ausgemacht. Es gibt zahlreiche Einstellungen durch das offene Bios, aber ich habe keine Option gefunden das dynamische PL1 zu erhöhen. Ich kann Pl1 und pl2 im Bios einstellen, bzw. Erhöhen. Das funktioniert u d wir übernommen. Aber das Dynamische PL1 bleibt stur auf 25 Watt. Das dynamische PL2 wird mit angehoben sobald ich das statistische PL2 erhöhe. Es geht nur das dynamische PL1, wie gesagt egal was ich einstelle es bleibt bei 25 Watt im Netztbetrieb. Auf Akku steht es bei 15 Watt.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben