網頁

2023年11月19日 星期日

全新安裝windows 11 23h2-用rufus製作的USB隨身碟安裝,在PE安裝。

windows 11 23h2常用安裝方式:
.用可開機安裝windows 11的隨身碟安裝。
.用DVD光碟安裝windows 11。
.在PE安裝windows 11

安裝時網路連線狀態
.有網際網路連線安裝windows 11
.無網際網路連線安裝windows 11

是否符合windows 11系統需求
.電腦符合 Windows 11 的最低系統需求
.電腦未完全符合 Windows 11 的最低系統需求

本文探討PE開機在PE安裝windows 11,用USB隨身碟安裝windows 11,不論電腦是否符合windows 11系統需求,有無連接網際網路,MBR或GPT磁碟分割,幾乎都可以繞過CPU、RAM、安全開機、TPM等檢查,免登入微軟帳戶,完成windows 11安裝。

Win11_23H2_Chinese_Traditional_x64.iso檔:
.sources資料夾加入 ei.cfg,強制顯示Windows 11版本選單。
.安裝回應檔autounattend.xml加至.iso檔根目錄。

選擇在PE安裝windows 11的原因
.可以先在PE分割、調整磁碟分割區。
.MBR、GPT轉換
.掛載或解壓縮windows 11 iso,執行setup.exe安裝windows 11
.WinNTSetup 安裝windows 11
.直接繞過硬體、安全開機系統需求檢查安裝windows 11

選擇用Rufus搭Win11_23H2_Chinese_Traditional_x64.iso製作USB安裝隨身碟的原因
.簡單方便,成功率高。可以繞過CPU、RAM、安全開機、TPM等檢查,免登入微軟帳戶。安裝windows 11過程不會顯示 此電腦無法執行windows 11 畫面。

安裝windows 11過程不會顯示網路 沒有連驗 無法繼續往下安裝。

.用微軟建立 Windows 11 安裝媒體程式mediacreationtool.exe,可能發生問題,例如:

選 下載 Windows 11 磁碟映像 (ISO)
寫本文時,windows 11的版本是23h2

下載最新版windows x64 可攜版(免安裝版)


看到廣告網頁,稍等一下,關閉。

下載完成。

如下載檔案的檔名是一大串英數字,改檔名為網頁上名稱。

如電腦有一支以上隨身碟,只留要製作的隨身碟,其餘的都移除,以避免誤刪檔案。
執行 rufus
選 否

裝置:選要製作的隨身碟
開機模式:選擇從微軟網站下載的Win11_23H2_Chinese_Traditional_x64.iso
其餘項目用預設的即可。
->執行
客制化windows安裝
預設 勾選 移除對4GB+記憶體,安全開機和TPM2.0要求
預設 勾選 將登入微軟帳號的要求移除
其餘的依需要勾選
->OK

也可以都不勾選,改用自己的autounattend.xml設定

提醒,隨身碟的資料會全部被晴除。
->確定

製作中

製作完成。->離開

因在安裝windows 11時,可能碰到無版本選項,默認安裝windows 11家用版。要解決這個問題,可以開啟記事本
新增以下內容
[Channel]
Retail
[VL]
0
保存至歲身碟sources資料夾,檔名為 ei.cfg
重開機,安裝時,windows 11版本選單就會被強制顯示。

來看看rufus製作的隨身碟加了那些檔案、資料夾,修改的檔案
sources資料夾增加了$OEM$資料夾,客制化windows安裝的設定存於\sources\$OEM$\$$\Panther\unattend.xml檔案內,例如:移除對4GB+記憶體,安全開機和TPM2.0要求,將登入微軟帳號的要求移除.....等

unattend.xml檔內容
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
  <settings pass="disabled">
    <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" language="neutral" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS">
      <UserData>
        <ProductKey>
          <Key />
        </ProductKey>
      </UserData>
      <RunSynchronous>
        <RunSynchronousCommand wcm:action="add">
          <Order>1</Order>
          <Path>reg add HKLM\SYSTEM\Setup\LabConfig /v BypassTPMCheck /t REG_DWORD /d 1 /f</Path>
        </RunSynchronousCommand>
        <RunSynchronousCommand wcm:action="add">
          <Order>2</Order>
          <Path>reg add HKLM\SYSTEM\Setup\LabConfig /v BypassSecureBootCheck /t REG_DWORD /d 1 /f</Path>
        </RunSynchronousCommand>
        <RunSynchronousCommand wcm:action="add">
          <Order>3</Order>
          <Path>reg add HKLM\SYSTEM\Setup\LabConfig /v BypassRAMCheck /t REG_DWORD /d 1 /f</Path>
        </RunSynchronousCommand>
      </RunSynchronous>
    </component>
  </settings>
  <settings pass="specialize">
    <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" language="neutral" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS">
      <RunSynchronous>
        <RunSynchronousCommand wcm:action="add">
          <Order>1</Order>
          <Path>reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE /v BypassNRO /t REG_DWORD /d 1 /f</Path>
        </RunSynchronousCommand>
      </RunSynchronous>
    </component>
  </settings>
  <settings pass="oobeSystem">
    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" language="neutral" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS">
      <OOBE>
        <ProtectYourPC>3</ProtectYourPC>
      </OOBE>
    </component>
    <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" language="neutral" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS">
      <InputLocale>00000404</InputLocale>
      <SystemLocale>zh-TW</SystemLocale>
      <UserLocale>zh-TW</UserLocale>
      <UILanguage>zh-TW</UILanguage>
      <UILanguageFallback>en-US</UILanguageFallback>
    </component>
    <component name="Microsoft-Windows-SecureStartup-FilterDriver" processorArchitecture="amd64" language="neutral" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS">
      <PreventDeviceEncryption>true</PreventDeviceEncryption>
    </component>
    <component name="Microsoft-Windows-EnhancedStorage-Adm" processorArchitecture="amd64" language="neutral" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS">
      <TCGSecurityActivationDisabled>1</TCGSecurityActivationDisabled>
    </component>
  </settings>
</unattend>

\sources\appraiserres.dll檔的內容被清成空白,檔案大小0

客制化windows安裝的設定如全部未勾選,sources資料夾就無$OEM$資料夾,\sources\appraiserres.dll檔也保持原樣未被修改。

開啟記事本,將以下內容貼上,存至隨身碟的跟目錄,檔名autounattend.xml。rufus客制化windows安裝的設定可以全部都不勾選,用autounattend.xml取代,且安裝windows 11過程可以更自動化,只要選好要安裝版本及安裝分割區,其餘安裝過程全部自動化,自動繞過CPU、RAM、安全開機、TPM等檢查,免登入微軟帳戶。預設安裝帳戶是user,無密碼,可以依自己需要修改autounattend.xml。
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
<!--https://schneegans.de/windows/unattend-generator/?LanguageMode=Unattended&UILanguage=zh-TW&UserLocale=zh-TW&KeyboardLayout=0404%3A00000404&ProcessorArchitecture=amd64&BypassRequirementsCheck=true&ComputerName=&TimeZoneMode=Explicit&TimeZone=Taipei+Standard+Time&PartitionMode=Interactive&WindowsEditionMode=Interactive&UserAccountMode=Interactive&LockoutMode=Default&WifiMode=Skip&ExpressSettings=DisableAll&WdacMode=Skip-->
<settings pass="offlineServicing"></settings>
<settings pass="windowsPE">
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<SetupUILanguage>
<UILanguage>zh-TW</UILanguage>
</SetupUILanguage>
<InputLocale>0404:00000404</InputLocale>
<SystemLocale>zh-TW</SystemLocale>
<UILanguage>zh-TW</UILanguage>
<UserLocale>zh-TW</UserLocale>
</component>
<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<DynamicUpdate>
<WillShowUI>OnError</WillShowUI>
</DynamicUpdate>
     <RunSynchronous>
        <RunSynchronousCommand wcm:action="add">
          <Order>1</Order>
          <Path>reg add "HKLM\SYSTEM\Setup\LabConfig" /v BypassTPMCheck /t REG_DWORD /d 1 /f</Path>
        </RunSynchronousCommand>
        <RunSynchronousCommand wcm:action="add">
          <Order>2</Order>
          <Path>reg add "HKLM\SYSTEM\Setup\LabConfig" /v BypassSecureBootCheck /t REG_DWORD /d 1 /f</Path>
        </RunSynchronousCommand>
        <RunSynchronousCommand wcm:action="add">
          <Order>3</Order>
          <Path>reg add "HKLM\SYSTEM\Setup\LabConfig" /v BypassRAMCheck /t REG_DWORD /d 1 /f</Path>
        </RunSynchronousCommand>
       <RunSynchronousCommand wcm:action="add">
          <Order>4</Order>
          <Path>reg add "HKLM\SYSTEM\Setup\LabConfig" /v BypassStorageCheck /t REG_DWORD /d 1 /f</Path>
        </RunSynchronousCommand>
       <RunSynchronousCommand wcm:action="add">
          <Order>5</Order>
          <Path>reg add "HKLM\SYSTEM\Setup\LabConfig" /v BypassUEFICheck /t REG_DWORD /d 1 /f</Path>
        </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
          <Order>6</Order>
         <Path>reg add "HKLM\SYSTEM\Setup\LabConfig" /v BypassCPUCheck /t REG_DWORD /d 1 /f</Path>
         </RunSynchronousCommand>
      <RunSynchronousCommand wcm:action="add">
          <Order>7</Order>
          <Path>reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 0 /f</Path>
        </RunSynchronousCommand>
     <RunSynchronousCommand wcm:action="add">
          <Order>8</Order>
          <Path>reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v PromptOnSecureDesktop /t REG_DWORD /d 0 /f</Path>
        </RunSynchronousCommand> 
        </RunSynchronous>
<UserData>
<ProductKey>
<Key></Key>
</ProductKey>
<AcceptEula>true</AcceptEula>
</UserData>
 
</component>
</settings>
<settings pass="generalize"></settings>
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<TimeZone>Taipei Standard Time</TimeZone>
</component>
</settings>
<settings pass="auditSystem"></settings>
<settings pass="auditUser"></settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<InputLocale>0404:00000404</InputLocale>
<SystemLocale>zh-TW</SystemLocale>
<UILanguage>zh-TW</UILanguage>
<UserLocale>zh-TW</UserLocale>
</component>
<component name="Microsoft-Windows-Deployment" 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">
<Reseal>
<Mode>OOBE</Mode>
</Reseal>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<UserAccounts>
<LocalAccounts>
<LocalAccount wcm:action="add">
<Name>user</Name>
<Group>Administrators</Group>
<Password>
<Value></Value>
<PlainText>true</PlainText>
</Password>
</LocalAccount>
</LocalAccounts>
</UserAccounts>
<AutoLogon>
<Username>user</Username>
<Enabled>true</Enabled>
<LogonCount>1</LogonCount>
<Password>
<Value></Value>
<PlainText>true</PlainText>
</Password>
</AutoLogon>

<OOBE>
<ProtectYourPC>3</ProtectYourPC>
<HideEULAPage>true</HideEULAPage>
<HideOnlineAccountScreens>true</HideOnlineAccountScreens>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
</OOBE>
</component>
</settings>
</unattend>

建議將ei.cfg檔存入Win11_23H2_Chinese_Traditional_x64.iso的 sources資料夾內,autounattend.xml檔存至根目錄。rufus製作USB安裝隨身碟時客制化windows安裝的設定全部不勾選。這樣Win11_23H2_Chinese_Traditional_x64.iso存至PE開機隨身碟時,也可以在PE安裝windows 11。

用rufus製作的USB安裝隨身碟安裝windows 11實作過程
rufus製作USB安裝隨身碟,插入USB埠

開機按下快捷鍵,選隨身碟開機

開始執行windows 11安裝程式


選好要安裝的版本
->下一步

這台筆電的SSD固態硬碟,GPT分割區已分割好,請先點選300MB的ESP分割區,按 格式化
。將ESP分割區格式化,可以避免BCD開機選單可能顯示多系統。

->確定

點選windows 11要安裝的分割區
->格式化

->確定

接下來的安裝過程,在autounattend.xml檔已設定全部自動化








windows 11安裝完成。未連接網路,按 開始 的畫面。

windows 11安裝完成。有連接網路,按 開始 的畫面。

windows 11安裝完成,記得先執行windows update,更新到最新版,讓功能及顯示更完善。
例如:windows 11安裝完成,未執行windows update,print screen 的設定顯示英文。

例如:windows 11安裝完成,有執行windows update,print screen 的設定顯示中英文。


在PE安裝windows 11
下載PE
https://apk.tw/forum.php  windows軟體下載區也有PE
http://bbs.wuyou.net/forum.php?mod=forumdisplay&fid=83 無憂論壇簡體PE的版本多也較新,支援新電腦。
在PE安裝windows 11,有DiskGenius、winntsetup就可以了。
幾個PE開機截圖
簡體微PE 2.3修改版開機桌面截圖

繁體usbox開機桌面截圖

nonamexpe https://inonameteam.com/  2567288 繁體中文PE,開機桌面截圖

APK下載的繁體中文PE,開機桌面截圖

微PE,開機桌面截圖

無憂論壇Charei1028 windows 11 PE,開機桌面截圖

從網路下載的PE,不一定支援uefi 安全開機及符合程式碼完整性開機原則,導致PE無法開機,請參考以下文章修改PE

PE開機,先執行diskgenius硬碟分割。如磁碟已是GPT格式,請格式化esp分割區及要安裝windows 11系統的分割區。


在PE安裝windows 11,常用的方法有二種
1.在PE滑鼠點二下Win11_23H2_Chinese_Traditional_x64.iso即可掛載至虛擬光碟機,執行setup.exe安裝。

下一步

立即安裝

接下來的安裝步驟跟用rufus製作的USB隨身碟安裝windows 11一樣,就不截圖了。

2.PE開機,執行winntsetup安裝windows 11
選擇windows 安裝源:,按 選擇 找到Win11_23H2_Chinese_Traditional_x64.iso,按 打開,自動將Win11_23H2_Chinese_Traditional_x64.iso掛載至虛擬光碟機,並帶入install.wim。
選擇引導驅動器:GPT磁碟分割,會自動帶入esp分割區,不用選擇。
選擇系統驅動器:按 選擇 選要安裝windows 11的分割區C碟。
選項:點選要安裝的windows 11版本。

無人值守安裝選autounattend.xml,必須選用,安裝過程才會自動化。
按 安裝

按 確定



實機安裝,按 重啟 前先移除PE開機隨身碟。讓電腦重啟時從C碟開機。

在VM安裝,按 重啟 前先取消CD/DVD掛載的PE ISO檔。讓電腦重啟時從VM 的C碟開機。



因無人值守安裝有選自動回應檔autounattend.xml,安裝過程才會自動化。
接下來的安裝過程都是自動化,就不截圖了。

用rufus製作的USB隨身碟安裝windows 11,如隨身碟根目錄有回應檔autounattend.xml,會自動套用。
在PE執行setup.exe安裝windows 11,如Win11_23H2_Chinese_Traditional_x64.iso掛載至虛擬光碟機的根目錄有回應檔autounattend.xml,會自動套用。
在PE執行winntsetup安裝windows 11,無人值守安裝 必須選用autounattend.xml,安裝過程才會自動化。

安裝windows 11的方法有多種,本文探討的是安裝過程可能出現的狀況,擷取不同安裝方法的優點及設定檔,彙整出較方便、較不會出問題、可以自動安裝的方法。

沒有留言:

張貼留言