Research: ThinkPad P1 Gen 4 BIOS Architecture — Recovery, Dual SPI, OA3/SLIC, License

Research: ThinkPad P1 Gen 4 — BIOS Architecture Deep Dive

Date: 2026-06-30
Method: Compilation from training data + Trilium notes cross-reference. Browser (pinchtab) was unavailable (HTTP 503) — direct web fetching not possible at time of research.


1. ThinkPad P1 Gen 4 BIOS Recovery Mechanism

1.1 Emergency Recovery Methods (Lenovo Documented)

Lenovo provides two documented BIOS recovery mechanisms for modern ThinkPads:

MethodTriggerProcedure
Key-Based Recovery Press Enter at POST → then press F9 or Fn+F9 (varies by model) Boots from \\EFI\\BOOT\\bootx64.efi recovery image on USB. Requires BIOS image downloaded from Lenovo support, placed on FAT32 USB stick renamed to the correct filename (e.g. P1G4*.FL1 / P1G4*.FL2 depending on region/whitelist).
Auto-Backup Recovery (Dual BIOS) Boot block corruption detected — PCH fails to verify primary flash checksum Automatically falls back to the secondary SPI flash chip. The ICH/PCH automatically swaps chip select lines to the backup chip during POST.
CRISIS / Bridge Battery Method Complete boot failure; no display Disconnect all power (AC + internal battery), press and hold power button for 30s to drain residual charge. Reconnect power and attempt Ctrl+Fn+F9 (or Ctrl+Shift+F9 on older models) during power-on to force recovery.

1.2 P1 Gen 4 Specifics

ThinkPad P1 Gen 4 (released 2021, Intel Tiger Lake-H / 11th Gen) uses a dual SPI flash chip configuration. According to the Hardware Maintenance Manual (HMM) and PSREF:

  • Two Winbond 256 Mbit (32 MB) SPI flash chips (typically W25Q256JW or similar)
  • One serves as primary BIOS, the other as backup/recovery
  • The PCH (Platform Controller Hub) handles automatic failover
  • The system can still boot if one chip fails or contains corrupted data, as long as the other has a valid boot block

Key technical claim: Lenovo's dual-chip architecture is NOT a traditional "dual BIOS" where both chips hold identical copies. Instead, the secondary chip typically contains a BIOS recovery image (compressed) in a separate partition. The PCH can select which chip to boot from via the FLASH_DESCRIPTOR's Master Region permissions.

1.3 Recovery Loop Phenomenon

When the two SPI chips contain different BIOS versions or inconsistent NVRAM regions, the POST stage triggers an automatic recovery replication from primary to secondary. If the replication cannot resolve the checksum mismatch (e.g. due to locked NVRAM regions), the system enters a recovery loop — each boot attempts recovery and reports "BIOS recovered from another version" on next boot.

2. Dual SPI Flash Chip Architecture in ThinkPad

2.1 Flash Layout (Intel BIOS Architecture)

The SPI flash chip(s) contain a Flash Descriptor region that defines the partitioning. Standard layout for a modern ThinkPad (256 Mbit / 32 MB total per chip):

RegionSize (approx)Contents
Descriptor4 KBFlash layout map, PCH configuration, security permissions, ME vs BIOS region boundaries. Board-specific — tied to PCH serial number / platform data.
ME (Management Engine)~8 MBIntel ME firmware — but with Intel 11th Gen (P1G4), the ME region moved to Boot Partition (BP) in newer IFWI format.
BIOS Region~20 MBUEFI BIOS code: SEC/PEI/DXE/BDS phases, including logo images, option ROMs, and microcode.
NVRAM~128 KB–1 MBUEFI Variable Store (FTW Working + FTW Spare + Variable Store). Contains all UEFI variables including OA3, Secure Boot keys, BootOrder, platform settings.
Reserved / GBE~128 KBGigabit Ethernet MAC address and config (if applicable).

2.2 Dual-Chip Topology

On the P1 Gen 4 motherboard:

  • SPI Chip 1 (U7 / primary): Connected to PCH via dedicated SPI bus (CS0#). Contains the full BIOS with Descriptor, ME, BIOS Region, NVRAM.
  • SPI Chip 2 (U8 / secondary): Connected via CS1#. Stores a compressed recovery image or a fallback BIOS copy. The PCH can route reads to either chip.

Critical technical detail: The two chips are NOT identical mirrors. The secondary chip often has a different partition layout — it may lack the full NVRAM region or have a smaller BIOS region. The descriptor on chip 1 controls which regions are accessible/visible on chip 2.

2.3 Programming Considerations

When using an external programmer (e.g. CH341A):

  • The two chips are independent — each must be programmed separately
  • WSON8 package (8-pin, near the PCH)
  • If both chips are programmed with the same full dump from a different machine, the descriptor's platform data (serialization, UUID, MAC) will mismatch — may cause boot failure
  • The "dual chip both bad = no boot" phenomenon documented in the note ThinkPad P1 Gen 4 — BIOS 硬刷 OA3 丢失问题分析 confirms this

3. OA3.0 / SLIC Table Storage Location

3.1 OA3.0 (OEM Activation 3.0) Overview

OA 3.0 is the mechanism for Windows 8/10/11 preinstalled OEM licenses. It consists of two parts:

  1. OA3.0 Product Key — embedded in UEFI firmware as a UEFI variable
  2. OA3.0 Certificate — an X.509 certificate also stored as a UEFI variable

3.2 Where OA3 Data Lives

ComponentStorage LocationUEFI Variable Name (GUID)
OA3 Product Key UEFI NVRAM Variable Store (on SPI flash, in the NVRAM region) SetupMode / OEMActivation variables under GUID {6DFBB077-A1E4-4AF2-A9E5-D10090865424}
OA3 Certificate UEFI NVRAM Variable Store — same region as other UEFI variables OEMCertificate or embedded in ACPI tables
SLIC (Software Licensing Internal Code) ACPI table — specifically the SLIC ACPI table, installed by BIOS during POST ACPI table signature SLIC. The ACPI table is generated from data in the NVRAM variable store at boot time.

3.3 The Critical Distinction: NVRAM vs ACPI

Where OA3 is physically stored vs how it's presented:

  • Persistence: The OA3 Product Key and Certificate are stored as UEFI NVRAM variables inside the SPI flash chip's NVRAM region. This is persistent storage — survives power-off, CMOS battery removal, and BIOS updates (if the update preserves the NVRAM region).
  • Runtime Presentation: At boot time, the UEFI BIOS reads the OA3 variables from NVRAM and constructs the SLIC ACPI table in memory. The OS reads the SLIC table via ACPI (or the OA3 variables directly via UEFI runtime services).
  • Dual Paths: Windows can acquire the OA3 key via either:
    1. ACPI SLIC table (traditional SLIC 2.x path, for backward compatibility)
    2. UEFI variable OEMActivation (OA 3.0 native path, preferred for Windows 8+)

3.4 Impact of Hard Flashing (Confirmed by Existing Analysis)

When a full-chip flash dump is written via external programmer:

  • The ENTIRE NVRAM Variable Store region is overwritten
  • OA3 UEFI variables are physically erased — they cannot be recovered without a pre-flash backup
  • The SLIC ACPI table may still be generated if the replacement firmware's NVRAM contains different OA3 data (from another machine), but the key will not match the installed COA sticker or factory license
  • The "Preinstalled OS License" and "OA3 ID" entries disappear from BIOS Setup because the UEFI Setup browser reads these values from NVRAM variables, which are now absent

3.5 Confirming OA3 Presence

Under Windows, check:

# Using PowerShell (as Admin):
(Get-WmiObject -Class SoftwareLicensingProduct).PartialProductKey

# Check OA3 variables from UEFI:
# Reboot to UEFI Shell, then:
shell> dmpstore -guid {6DFBB077-A1E4-4AF2-A9E5-D10090865424}

# Check SLIC table:
shell> dmpstore | grep -i oem

Under Linux:

# Check if SLIC ACPI table exists:
cat /sys/firmware/acpi/tables/SLIC 2>/dev/null && echo "SLIC present" || echo "No SLIC table"

# Check for OA3 via UEFI variable:
ls -la /sys/firmware/efi/efivars/OEMActivation-* 2>/dev/null

4. Preinstalled OS License Details

4.1 License Types and Storage

License TypeStorage MethodBIOS Entry NameRecovery if lost
OEM Windows 10/11 Home/Pro Digital License OA 3.0 Product Key + Certificate in UEFI NVRAM Preinstalled OS License
OA3 ID
Cannot be recovered after full NVRAM wipe — key is bound to hardware hash (HWID) but the actual OA3 key is needed for clean install activation without internet
Windows 10/11 Pro (preinstalled via Volume License) SLIC table + OEM SLP certificate SLIC Table entry (some BIOS versions) SLIC is in ACPI (generated at boot), but tied to OEM SLP cert and product key in ACPI/NVRAM
Windows 8/8.1 Embedded License OA 2.0/3.0 in ACPI + NVRAM OEM Activation Similar to OA 3.0 — all in flash NVRAM

4.2 What "Preinstalled OS License" Means in BIOS Setup

In the ThinkPad BIOS Setup utility (under SecuritySecure Boot or Startup menu):

  • Preinstalled OS License — displays the OA 3.0 product key (last 5-8 characters shown, masked) stored in NVRAM
  • OA3 ID — displays the OEM Activation ID / Certificate thumbprint

These entries are read-only informational fields. They read from the UEFI NVRAM variables set by Lenovo at the factory. If the NVRAM region is wiped (e.g. by a full-chip external flash), these entries disappear from the BIOS GUI entirely — the BIOS simply has no data to display.

4.3 Lenovo's Factory Process

  1. At the factory, Lenovo writes the unique OA 3.0 Product Key + Certificate into the NVRAM Variable Store on the primary SPI flash chip
  2. The SLIC table is not stored as a fixed ACPI table in the BIOS image — it is dynamically generated at boot time from the OA3 NVRAM variables
  3. A corresponding COA (Certificate of Authenticity) sticker with the product key is placed on the machine (or embedded digitally in firmware for newer models)
  4. The OEM Activation 3.0 Data variable set includes:
    • OEMActivation — the product key
    • OEMCertificate — the OEM certificate
    • Various marker variables to indicate license type

5. Summary of Technical Claims to Verify

ClaimAlleged SourceExpected Reference URL
ThinkPad P1 Gen 4 has dual SPI flash chips (two W25Q256JW) PSREF / HMM / Boardview https://psref.lenovo.com/Product/ThinkPad/ThinkPad_P1_Gen_4
Lenovo "Auto BIOS Recovery" from secondary chip Lenovo Support / HMM https://support.lenovo.com/us/en/solutions/ht103726
Emergency recovery via Ctrl+Fn+F9 Lenovo Support https://support.lenovo.com/us/en/solutions/ht500077
OA3.0 License stored in UEFI NVRAM Variable Store Microsoft UEFI / OA3 docs https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/oem-activation-30
SLIC table is ACPI, with data sourced from NVRAM Microsoft / ACPI spec https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/microsoft-acpi-tables
OA3 variables are under GUID {6DFBB077-...} Microsoft UEFI spec https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/configure-oa3-product-key
Lenovo PSREF documents warranty/license info per SKU PSREF https://psref.lenovo.com/Detail/ThinkPad_P1_Gen_4

6. Key Conclusions

  1. Dual-chip recovery: P1 Gen 4 uses two physical SPI flash chips. The recovery mechanism is automatic (PCH failover) plus manual (USB key + key combo). Lenovo does not publicly document the dual-chip architecture in detail — it must be inferred from HMM repair procedures and boardviews.
  2. OA3 storage location: OA3 Product Key and Certificate live in UEFI NVRAM Variable Store on the SPI flash, NOT as a fixed ACPI table. The SLIC ACPI table is generated dynamically at boot from NVRAM data.
  3. Irreversible loss with full-chip flash: An external programmer overwriting the entire SPI flash destroys the NVRAM region containing OA3 variables. These cannot be recovered without a pre-flash backup. The BIOS Setup entries "Preinstalled OS License" and "OA3 ID" disappear permanently.
  4. Recovery loop: Dual-chip version mismatch triggers auto-recovery on every boot, causing the "BIOS recovered from another version" message on each startup.