解決Windwos 11 TPM 2.0 限制無法安裝的方法


原文摘錄於:異次元軟件世界 https://www.iplaysoft.com/windows11.html 詳細內容請訪問原文。

方法 1、通過 WinPE 加載鏡像安裝

如果你遇到由於 TPM 2.0 限制無法安裝的情況,最簡單的解決方式是「使用 WinPE 系統」加載 ISO 鏡像,在 UEFI+GPT 硬盤的環境下安裝,幾乎就不會再遇到什么問題了。

方法 2、替換或刪除 DLL 文件

你可以在 Windows 10 (21H1正式版) 的 ISO 鏡像中找到 appraiserres.dll(該文件位於 sources 文件夾里),用它替換掉 Win11 鏡像中的同名文件即可。也有網友表示,直接在 Win11 的鏡像中刪除該文件也可以。

方法 3、修改注冊表

如果你使用 U 盤來安裝 Windows 11,提示“該電腦無法運行”的錯誤,那么可以按下 Shift + F10 鍵打開命令行界面並輸入 regedit 回車打開注冊表編輯器,然后找到:

注冊表鍵: HKEY_LOCAL_MACHINE\SYSTEM\Setup\MoSetup
在里面創建名為“AllowUpgradesWithUnsupportedTPMOrCPU”的項
然后創建類型為 REG_DWORD 的值
並填入值:1

如果你不想手動操作注冊表,也可以復制下面的一整段代碼 (來源),保存為 .bat 文件,然后「使用管理員權限運行」執行 PowerShell,即可跳過 TPM 2.0 或 CPU 最低配置的檢查。之后再通過 ISO 或在線進行升級。

@(set "0=%~f0"^)#) & powershell -nop -c iex([io.file]::ReadAllText($env:0)) & exit/b
#:: double-click to run or just copy-paste into powershell - it's a standalone hybrid script
#:: v2 of the toggle script comes to the aid of outliers for whom v1 did not work due to various reasons (broken/blocked/slow wmi)
#:: uses IFEO instead to attach to the same Virtual Disk Service Loader process running during setup, then launches a cmd erase
#:: of appraiserres.dll - but it must also do some ping-pong renaming of the exe in system32\11 - great implementation nonetheless
#:: (for simplicity did not use powershell invoking CreateProcess and DebugActiveProcessStop to overcome IFEO constrains)
#:: in v2 the cmd window will briefly flash while running diskmgmt - so it is not "better" per-se. just more compatible / reactive
#:: you probably don't need to have it installed at all times - just when doing feature updates or manual setup within windows
#:: hence the on off toggle just by running the script again

$_Paste_in_Powershell = {
$N = 'Skip TPM Check on Dynamic Update'
$0 = sp 'HKLM:\SYSTEM\Setup\MoSetup' 'AllowUpgradesWithUnsupportedTPMOrCPU' 1 -type dword -force -ea 0
$B = gwmi -Class __FilterToConsumerBinding -Namespace 'root\subscription' -Filter "Filter = ""__eventfilter.name='$N'""" -ea 0
$C = gwmi -Class CommandLineEventConsumer -Namespace 'root\subscription' -Filter "Name='$N'" -ea 0
$F = gwmi -Class __EventFilter -NameSpace 'root\subscription' -Filter "Name='$N'" -ea 0
if ($B) { $B | rwmi } ; if ($C) { $C | rwmi } ; if ($F) { $F | rwmi }
$C = "cmd /q $N (c) AveYo, 2021 /d/x/r>nul (erase /f/s/q %systemdrive%\`$windows.~bt\appraiserres.dll"
$C+= '&md 11&cd 11&ren vd.exe vdsldr.exe&robocopy "../" "./" "vdsldr.exe"&ren vdsldr.exe vd.exe&start vd -Embedding)&rem;'
$K = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\vdsldr.exe'
if (test-path $K) {ri $K -force -ea 0; write-host -fore 0xf -back 0xd "`n $N [REMOVED] run again to install "; timeout /t 5}
else {$0=ni $K; sp $K Debugger $C -force; write-host -fore 0xf -back 0x2 "`n $N [INSTALLED] run again to remove ";timeout /t 5}
} ; start -verb runas powershell -args "-nop -c & {`n`n$($_Paste_in_Powershell-replace'"','\"')}"
$_Press_Enter
#::


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM