HP ZBook 開機顯示 Manufacturing Program Mode/Not Fully Configured 修復教學

HP ZBook Fury 16 G10 開機顯示 Manufacturing Program Mode 與 Not Fully Configured 紅字警告
HP ZBook Fury 16 G10 開機時出現 Manufacturing Program Mode 與「Your system is not fully configured」紅字警告的實際故障畫面。

HP ZBook 開機出現 Manufacturing Program Mode/Not Fully Configured 實際修復紀錄

處理的是一台 HP ZBook Fury 16 G10 Mobile Workstation PC。電腦可以正常進入 Windows,但每次開機都會先出現兩行紅字:
  • System is booting in Manufacturing Program Mode
  • Warning: Your system is not fully configured. Please contact HP customer support.
這類問題不是重灌 Windows 可以解決,也不是直接更新 BIOS 就一定會消失。HP 工作站開機時會同時檢查 MPM 工廠模式、DMI 機身資料、EC 內的身分資料及 HP Sure Start 狀態。只修改其中一個地方,開機時仍可能被另一個區域恢復。 這次實際處理結果: 先用 HP BCU 確認原機資料完整,再完成 MPM Lock。MPM 紅字消失後仍有 Not Fully Configured,最後將 SureStart Development (Lab) Mode 關閉、SureStart Production Mode 開啟。 完成重新啟動及完整斷電測試後,兩個警告都不再出現。

這台電腦的基本資料

  • 機型:HP ZBook Fury 16 G10 Mobile Workstation PC
  • Product Family:103C_5336AN HP ZBook
  • System Board ID:8B92
  • BIOS 晶片:GigaDevice GD25Q256C,32MB
  • 原始故障:開機顯示 Manufacturing Program Mode 與 Not Fully Configured

這次使用的工具

Windows PowerShell(系統管理員)

我用 PowerShell 查詢序號、UUID、主機板資料,並執行 BCU、FPT 與 SHA-256 比對。 使用指令操作可以直接留下維修紀錄,也能避免設定檔被記事本存成錯誤編碼。

HP BIOS Configuration Utility(BCU)

BCU 的主程式是 BiosConfigUtility64.exe。 這是這次最重要的工具,用來匯出 BIOS 目前的設定,並透過 HP 支援的方式修改 MPM 與 Sure Start。能使用 BCU 處理時,我不會先修改 BIOS BIN。

Intel Flash Programming Tool(FPTW64)

我使用 FPT 檢查 Intel Flash Descriptor,並備份 Windows 環境下可以讀取的韌體區域。 這台雖然可以讀取,但是寫入時會出現 Error 167,代表 BIOS 的 Protected Range Registers 正在保護 Flash,因此沒有繼續強行寫入。

RT809H SPI 燒錄器

RT809H 用來讀取 GD25Q256C 的完整 32MB 內容。 外接燒錄是備份及最後處理手段,不是第一個步驟。這次拆下晶片後讀取兩次,確認容量及 SHA-256 完全相同,才保留為可靠的原始備份。

第一步:確認 Windows 讀到的機身資料

我先以系統管理員身分開啟 PowerShell,執行以下指令:
Get-CimInstance Win32_ComputerSystemProduct |
    Format-List Vendor,Name,IdentifyingNumber,UUID,SKUNumber

Get-CimInstance Win32_ComputerSystem |
    Format-List Model,SystemFamily,SystemSKUNumber

Get-CimInstance Win32_BaseBoard |
    Format-List Manufacturer,Product,SerialNumber
這一步不能省略。MPM 一旦鎖定,後續能修改的工廠資料會受到限制,所以一定要先確認下列資料都屬於這台原機:
  • Product Name
  • Serial Number
  • SKU Number
  • UUID
  • System Family
  • System Board CT Number
  • Feature Byte
  • Build ID
  • Cirrus Discrete Amp Calibration Data
如果看到資料空白、全 0、全 F,或資料與機殼標籤不符,就先不要鎖定 MPM。

第二步:找到 HP BCU 並匯出原始設定

不同版本的 BCU 安裝位置不一定相同,我直接使用 PowerShell 搜尋:
$bcu = Get-ChildItem "C:\Program Files","C:\Program Files (x86)","C:\SWSetup" `
    -Filter BiosConfigUtility64.exe -Recurse -ErrorAction SilentlyContinue |
    Select-Object -First 1

$bcu.FullName
找到程式後,先匯出修改前的完整 BIOS 設定:
& $bcu.FullName /getconfig:"C:\MPM_CHECK.txt"
接著把這次需要檢查的項目一次列出來:
Select-String "C:\MPM_CHECK.txt" `
    -Pattern "Product Name|Serial Number|SKU Number|Universal Unique Identifier|System Board CT Number|Feature Byte|Build ID|Cirrus Discrete Amp Calibration Data|Manufacturing Programming Mode|MPM Counter|MPM Lock Readiness|SureStart Development \(Lab\) Mode|SureStart Production Mode" `
    -Context 0,3
BCU 匯出檔中,前面有星號 * 的項目代表目前選取的設定值。 這台當時讀到的狀態為:
  • Manufacturing Programming Mode:Unlock
  • MPM Counter:1
  • MPM Lock Readiness:Not Ready
後續把原機必要資料核對完整後,才進行 MPM Lock。

第三步:使用 BCU 完成 MPM Lock

BCU 設定檔必須使用 BIOS 匯出檔裡完全相同的選項名稱,而且要存成 ASCII 編碼。 為了避免編碼錯誤,我直接使用 PowerShell 建立設定檔:
$text = "BIOSConfig 1.0`r`n`r`nManufacturing Programming Mode`r`n`tUnlock`r`n`t*Lock`r`n"

[System.IO.File]::WriteAllText(
    "C:\MPM_FINAL_LOCK.txt",
    $text,
    [System.Text.Encoding]::ASCII
)

& $bcu.FullName /setconfig:"C:\MPM_FINAL_LOCK.txt"
這次 BCU 回傳:
  • changeStatus="pass"
  • reason="Success"
  • returnCode="0"
  • SUCCESS msg="No errors occurred"
  • Reboot required
確認執行成功後重新啟動:
Restart-Computer
重新開機後,Manufacturing Program Mode 已經完成 Lock,但是畫面仍然顯示: Your system is not fully configured 這表示 MPM 已經處理完成,剩下的是另一個設定狀態,不需要一直重做 MPM Lock。

第四步:將 HP Sure Start 切回正式量產模式

這一步是這次消除最後一條紅字的關鍵。 我先確認 BCU 匯出檔中確實存在以下兩個選項,再建立設定檔:
$text = "BIOSConfig 1.0`r`n`r`nSureStart Development (Lab) Mode`r`n`t*Disable`r`n`tEnable`r`n`r`nSureStart Production Mode`r`n`tDisable`r`n`t*Enable`r`n"

[System.IO.File]::WriteAllText(
    "C:\SURESTART_PRODUCTION.txt",
    $text,
    [System.Text.Encoding]::ASCII
)

& $bcu.FullName /setconfig:"C:\SURESTART_PRODUCTION.txt"
BCU 顯示 Success、returnCode 0 並要求重新啟動後,我執行:
Restart-Computer
第一次開機時出現 HP Sure Start/安全性驗證畫面,系統完成重新核對後進入 Windows。 再次重新啟動,並且完整關機、斷電後重新冷開機,原本兩行紅色警告都沒有再出現。 最後正確狀態:
  • Manufacturing Programming Mode:Lock
  • SureStart Development (Lab) Mode:Disable
  • SureStart Production Mode:Enable

第五步:重新匯出設定確認

完成設定後,我再次匯出 BIOS 設定:
& $bcu.FullName /getconfig:"C:\MPM_FINAL_CHECK.txt"

Select-String "C:\MPM_FINAL_CHECK.txt" `
    -Pattern "Manufacturing Programming Mode|SureStart Development \(Lab\) Mode|SureStart Production Mode|Serial Number|SKU Number|Universal Unique Identifier|System Board CT Number|Feature Byte|Build ID|Cirrus Discrete Amp Calibration Data" `
    -Context 0,3
除了確認 MPM 與 Sure Start 狀態正確,我也再次核對以下資料:
  • Serial Number
  • SKU Number
  • UUID
  • System Board CT Number
  • Feature Byte
  • Build ID
  • Cirrus Discrete Amp Calibration Data
這樣可以避免修好開機紅字,卻不小心改壞原機的身分或音效校正資料。

為什麼不能直接使用 FPT 刷寫?

這台使用 FPT 可以讀取約 20MB 的可存取區域:
Set-Location "C:\FPT"

.\FPTW64.exe -d "C:\ZBOOK_G10_AFTER_PATCH_BOOT.bin"
但是進行寫入時出現:
Error 167: Protected Range Registers are currently set by BIOS, preventing flash access.
這代表 BIOS 已經使用 PRR 保護部分 Flash 區域。 FPT 可以讀取,不代表可以完整寫入。而且這次讀出的約 20MB,也不是整顆 GD25Q256C 的完整 32MB 備份。 遇到 Error 167 時,我的處理方式是停止寫入,不去強行繞過保護。

RT809H 完整備份方式

這次有拆下 GD25Q256C,並使用 RT809H 完成兩次完整讀取。 我的備份標準如下:
  1. 斷開變壓器、主電池及 RTC/CMOS 電源。
  2. 記錄 BIOS 晶片方向、型號及主機板位置。
  3. 在 RT809H 選擇 GD25Q256C 對應的讀寫演算法。
  4. 第一次讀取另存為 READ_1.BIN。
  5. 重新裝夾後再讀取一次,另存為 READ_2.BIN。
  6. 確認兩份檔案都是完整 32MB。
  7. 使用 SHA-256 比對兩份檔案。
Get-FileHash "C:\FPT\READ_1.BIN" -Algorithm SHA256

Get-FileHash "C:\FPT\READ_2.BIN" -Algorithm SHA256

Get-Item "C:\FPT\READ_1.BIN","C:\FPT\READ_2.BIN" |
    Format-Table Name,Length,LastWriteTime
兩次讀取的容量及 SHA-256 都完全相同,才算是可以用來還原的可靠備份。 原始檔另外保存,任何修改都只在副本上進行。

這次維修走過的繞路

排查過程中曾嘗試修改 BIOS 內的 FactoryConfigFlags。 外燒寫入及 Verify 雖然成功,但是第一次開機時出現: BIOS Identity Data Recovered 這表示 BIOS 與 EC 保存的身分資料不一致,系統又從 Embedded Controller 恢復了身分資料。 這個步驟並沒有單獨解決最後的紅字。真正完成收尾的是 BCU 裡面的 SureStart Production Mode。 因此,下次遇到相同問題,我會先檢查 BCU 裡面的 MPM 與 Sure Start 狀態,不會一開始就拆下 BIOS 晶片。

下次遇到相同故障的最快處理流程

  1. 先查詢 Windows DMI 資料。
  2. 保留 Serial、SKU、UUID、Board CT、Feature Byte 與 Build ID。
  3. 使用 BCU 匯出完整 BIOS 設定。
  4. 確認 MPM 狀態與 Lock Readiness。
  5. 確認原機資料完整後,再用 BCU 完成 MPM Lock。
  6. 如果 MPM 已經 Lock,但仍顯示 Not Fully Configured,直接檢查 SureStart Lab/Production。
  7. 將 Lab Mode 設為 Disable。
  8. 將 Production Mode 設為 Enable。
  9. 重新匯出 BCU 設定並核對原機資料。
  10. 執行一次 Windows 重新啟動。
  11. 再執行一次完整關機、斷電及冷開機。
  12. 全部正常後,才考慮更新符合 Board ID 8B92 的 HP 官方 BIOS。

完修結果

  • Manufacturing Program Mode 紅字消失
  • Not Fully Configured 紅字消失
  • Serial Number 保留正常
  • SKU Number 保留正常
  • UUID 保留正常
  • Feature Byte 與 Build ID 保留正常
  • Cirrus Discrete Amp Calibration Data 保留
  • 暖開機測試正常
  • 完整斷電冷開機測試正常
  • Windows 正常啟動
  • 後續 HP BIOS/Intel CSME 更新正常完成
維修提醒: MPM Lock 可能是受限制或不可逆的工廠收尾動作。 每台 HP 的 Serial Number、UUID、Feature Byte、Build ID、System Board CT 及校正資料都不同,不能直接套用其他機器的 BIOS 或 DMI。 沒有原機完整備份及相關維修經驗時,不建議直接修改 SPI Flash。

嘉義 HP 筆電與 BIOS 維修

這次是店內實際處理完成的 HP ZBook Fury 16 G10 維修案例。 如果 HP ZBook、EliteBook、ProBook、OMEN 或其他筆電出現 BIOS 更新失敗、Manufacturing Program Mode、Not Fully Configured、開機紅字、反覆重新啟動或無法開機,建議先保留原始 BIOS 與機身資料,再進行後續處理。 訊捷3C電腦 地址:嘉義市林森西路203號 電話:05-2255318、05-2275528 官方 LINE:@043MUWFH 營業時間:週一至週五 12:00–21:00、週六 12:00–17:00、週日休息