2021年10月10日

跳過安裝Windows 11時的硬體需求檢查

注意:

  • 微軟並不建議將Windows 11安裝在不符合最低系統需求的裝置上, 您必須自行承擔修改後安裝使用的風險.
  • 本篇主要適用於全新安裝Windows 11, 如果您是要從Windows 10升級安裝到Windows 11, 請參考 安裝Windows11的方法 內的方法.


微軟新推出的Windows 11提高了對系統硬體規格的需求.
如果想在不符合最低系統需求的裝置上安裝Windows 11, 可以透過修改註冊機碼來達成.
我寫了一個批次檔配合Windows 11的自動安裝回應檔案, 省去需要按Shift+F10後手動修改註冊機碼等動作.
也不需修改原有的boot.wim, 只需要照著原有的程序進行安裝即可.


準備工作:


使用方法:

 如果您的安裝媒體可以寫入, 例如USB隨身碟; 或是您知道如何編修ISO檔案:

  • 請把autounattend.xml, bypass.cmd兩個檔案複製到跟setup.exe同一個目錄內. (安裝媒體的根目錄)
  • 然後使用含有這兩個檔案的安裝媒體開機進行安裝Windows 11.

 

如果您的安裝媒體不可以寫入, 例如燒錄好的DVD; 或是您不想更動ISO檔案的內容:

  • 請把autounattend.xml, bypass.cmd兩個檔案複製到另外準備的一個USB隨身碟內的根目錄.
  • 如果使用虛擬機安裝的話, 可以把autounattend.xml, bypass.cmd兩個檔案放在virtual floppy或是另一個ISO檔案內(Virtual CD/DVD).
  • 使用此方法安裝時, 請確定有那兩個檔案的USB隨身碟/virtual floppy/Virtual CD/DVD在開機時是安裝程式可以存取到的.
  • 然後使用原有未修改的安裝媒體開機進行安裝Windows 11.


有在下列配備的虛擬機測試過可以順利安裝:

  • 2-Core CPU/2GB RAM/30GB HDD/BIOS legacy mode/No TPM
  • Windows 11 專業版 (繁體中文) 21H2 64位元版 (OS 組建 22000.194)


開機後Windows 11的安裝程式會搜尋到autounattend.xml, 然後就會執行bypass.cmd進行所需註冊機碼修改. 接下來就按照指示安裝Windows 11即可.

bypass.cmd會修改註冊機碼跳過下列硬體需求檢查(不包含CPU):

  • RAM
  • Secure Boot
  • Storage
  • TPM
  • UEFI

Windows 11需求請參考: 微軟網站.


autounattend.xml

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<!-- By Proliantaholic https://proliantaholic.blogspot.com -->
    <settings pass="windowsPE">
        <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <RunSynchronous>
                <RunSynchronousCommand wcm:action="add">
                    <Order>1</Order>
                    <Path>cmd /c for %a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do @if exist %a:\bypass.cmd (%a:\bypass.cmd)</Path>
                    <Description>Find and execute bypass.cmd</Description>
                </RunSynchronousCommand>
            </RunSynchronous>
            <UserData>
                <ProductKey>
                    <WillShowUI>Always</WillShowUI>
                </ProductKey>
            </UserData>
        </component>
    </settings>
</unattend>

bypass.cmd

@echo off
REM ###########################################################
REM #  By Proliantaholic https://proliantaholic.blogspot.com  #
REM ###########################################################

setlocal EnableDelayedExpansion
REM Bypass Windows 11 RAM/SecureBoot/Storage/TPM/UEFI requirements check
for /f "tokens=2*" %%a in ('reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType') do set "FirmwareType=%%b"
for /F "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentBuildNumber') do set "CurrentBuildNumber=%%~b"
if "!CurrentBuildNumber!" GEQ "22000" (
    Echo Bypassing Windows 11 [22000 and later] RAM/SecureBoot/Storage/TPM/UEFI check...
    Echo.
    Echo | set /p "Dummy=Add BypassRAMCheck...        "
    reg add "HKLM\SYSTEM\Setup\LabConfig" /v BypassRAMCheck /t REG_DWORD /d 1 /f
    Echo | set /p "Dummy=Add BypassSecureBootCheck... "
    reg add "HKLM\SYSTEM\Setup\LabConfig" /v BypassSecureBootCheck /t REG_DWORD /d 1 /f
    Echo | set /p "Dummy=Add BypassStorageCheck...    "
    reg add "HKLM\SYSTEM\Setup\LabConfig" /v BypassStorageCheck /t REG_DWORD /d 1 /f
    Echo | set /p "Dummy=Add BypassTPMCheck...        "
    reg add "HKLM\SYSTEM\Setup\LabConfig" /v BypassTPMCheck /t REG_DWORD /d 1 /f
    if "!FirmwareType!" EQU "0x1" (Echo | set /p "Dummy=Add BypassUEFICheck...       "& reg add "HKLM\SYSTEM\Setup\LabConfig" /v BypassUEFICheck /t REG_DWORD /d 1 /f)
)
Echo.
Echo Done.
REM Pause for 10 seconds
Echo WScript.Sleep 10000 > %TEMP%\sleep.vbs
cscript //nologo %TEMP%\sleep.vbs


推薦閱讀:



2021年8月26日

如何關閉Microsoft Edge新索引標籤裡的天氣資訊 How to turn off weather in new tab page in Microsoft Edge

每次在Microsoft Edge裡開啟新索引標籤時, 頁面左上角都會有個天氣圖示和溫度.
如果你有用帳號登入, 那就可以在右方的[頁面設定]裡關掉它. ([自訂] -> [顯示問候語])


但是顯示問候語這個選項在沒使用帳號登入時是不會出現的, 接下來就看看如何在不登入的狀況下關掉新索引標籤裡的天氣資訊.


準備工作:
如果你從未改動過Microsoft Edge的設定, 建議先進入[頁面設定](頁面右上方的小齒輪), 到[自訂]中變更一下[背景]的設定.
確定有改成跟原來不一樣的設定後即可以改回你真正想要的設定, 此舉只是要讓Microsoft Edge把設定的參數寫入設定檔中,
免得下面的步驟要修改時會找不到選項參數.



步驟1:
修改前要徹底關閉Microsoft Edge, 這樣修改設定檔時才不會被覆寫成原來的值.
taskkill /F /IM msedge.exe


步驟2:
用[記事本]或是你喜歡的文字編輯器打開Microsoft Edge的設定檔: (檔名是Preferences, 如果擔心修改時出錯, 請先備份檔案)
通常是位於:
C:\Users\[使用者名稱]\AppData\Local\Microsoft\Edge\User Data\Default

或是在[開始]圖示上按滑鼠右鍵選擇[執行], 填入:
%LOCALAPPDATA%\Microsoft\Edge\User Data\Default\Preferences
然後選擇用[記事本]或是你喜歡的文字編輯器開啟.


步驟3:
[編輯] -> [尋找]
"show_greeting":true,
改為
"show_greeting":false,
修改完成後儲存檔案離開.


修改前:


修改完成後:


懶得一步一步修改的人, 可以用下面的PowerShell script: (上面的[準備工作]還是要做一下)

###########################################################
#  By Proliantaholic https://proliantaholic.blogspot.com  #
###########################################################

# Elevate Powershell to Admin
if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
    Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit
}

# Close all Microsoft Edge instances
Write-Host Closing all Microsoft Edge running instances... 
taskkill /F /IM msedge.exe > $null 2>&1
Write-Host Done.

# Test and set show_greeting to false
if ([regex]::Match($(Get-Content -Path "$Env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\Preferences" -Encoding UTF8 -Raw), '(?s)("show_greeting":.*,)"show_').success) {
    if ([regex]::Match($(Get-Content -Path "$Env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\Preferences" -Encoding UTF8 -Raw), '(?s)("show_greeting":true,)').success) {
        ((Get-Content -Path "$Env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\Preferences" -Encoding UTF8 -Raw) -replace '"show_greeting":true,' , '"show_greeting":false,') | Set-Content -Path "$Env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\Preferences" -Encoding UTF8
    }
    Write-Host
    Write-Host '"show_greeting":false,'
    Write-Host
} else {
    Write-Host
    Write-Host show_greeting NOT FOUND
    Write-Host
}

pause

2021年7月5日

如何幫VMware Workstation虛擬機新增虛擬信賴平台模組裝置(TPM)

注意: 

WMware Workstation版本16.2.0起, 有新的方法可以增加software TPM.

請看最後面的補充.


一般虛擬機預設沒有Trusted Platform Module (TPM) 信賴平台模組, 執行TPM.msc時會看到像這樣:

 

在新增虛擬信賴平台模組裝置之前, 要先Enable secure boot, 並且把虛擬機加密.

 

如果虛擬機內已經有安裝了Windows系統, 會需要一點時間來加密虛擬機.


虛擬機加密完成後, 新增Trusted Platform Module (TPM) 信賴平台模組裝置:



TPM新增完成後進入Windows系統內, 執行TPM.msc就可以看到有TPM可以使用了: 


2021/10/18 補充:
WMware Workstation自版本16.2.0起, 可以新增"software"的TPM, 方法如下:
  • 新增一台虛擬機後先關掉WMware Workstation
  • 用文字編輯器打開該虛擬機的.vmx檔案
  • 在檔案最後新增一行: managedvm.autoAddVTPM = "software"
  • 存檔後離開, 重新開啟WMware Workstation, 該虛擬機就會有TPM
  • 此方法就不需要像之前要先Enable secure boot, 把虛擬機加密跟輸入密碼了
編輯.vmx檔案:


虛擬機硬體在編輯.vmx檔案前後的對照:

如果安裝完Windows後在TPM管理內的狀態欄看到:
TPM維護工作仍在執行中。請稍後候幾分鐘,然後再重新整理此頁面以查看更新狀態。

可以點選[清除TPM], 重啟系統後應該就會變成: TPM已可以使用.



版權宣告

Creative Commons License
本著作由 PROLIANTAHOLIC 製作,以創用CC 姓名標示-非商業性-禁止改作 3.0 台灣 授權條款釋出。
文內所述之產品和公司名稱均為其各自擁有者的商標及(或)服務標記。