在 Windows PE 中禁用網路連接
我正在為
amd64
目標平台生成帶有 Microsoft 自動化安裝工具包 10(主機是 Windows 10)的 WindowsPE 啟動棒。因為我不需要來自 WinPE 的網路連接,所以我喜歡完全安全地禁用它們。
我對WinPE 引導鏈有一個粗略的了解,所以我知道我可以傳遞一個配置文件,
wpeinit
讓我可以禁用網路。10 年前的謎團仍然存在:該文件必須如何建構?一個最小的例子<?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <EnableNetwork>false</EnableNetwork> </unattend>
不會拋出錯誤消息,但也不起作用。它從內部呼叫
startnet.cmd
是這樣的:
wpeinit -unattend:"%SystemRoot%\system32\Unattend.xml"
雖然我也見過 。
wpeinit /unattend: ...
%SystemRoot%\system32\wpeinit.log
日誌文件指出:2017-08-02 13:26:16.061,Info WPEINIT 正在處理無人參與文件
$$ X:\windows\system32\Unattend.xml $$ …
2017-08-02 13:26:16.295,資訊 ==== 初始化網路訪問和應用配置 ==== 2017-08-02 13:26:16.295,資訊未指定 EnableNetwork 無人參與設置;此上下文的預設操作是啟用網路支持。
提供 的範例也對我沒有太大幫助,我認為這可能是用於自動安裝,而不是配置。
我通過以下命令驗證網路是否已禁用
netsh interface ipv4 show interfaces netsh interface ipv6 show interfaces
有可能通過 netsh 禁用連接,例如
netsh interface set interface "Local Area Connection" DISABLED
但我擔心 WinPE 可能已經嘗試訪問 DHCP,或者在短時間內可以通過網路訪問。
那麼如何實現無網路的WinPE呢?謝謝!
因為我需要使用其驅動程序初始化的設備,所以沒有
wpeinit
從選項呼叫?一些文章建議如此。startnet.cmd
赫里卡!我是如此接近以至於我終於設法讓它工作(問題中的一個參考實際上有答案,僅用於
x86
)。重要的經驗教訓:
- 目標平台對設置很重要
components
是必需的,請參閱他們的文件,尤其是Microsoft-Windows-Setup
允許<EnableNetwork>
配置的文件不用多說,這是
Unattend.xml
由生成過程複製到的%SystemRoot%\system32
:<?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="windowsPE"> <component name="Microsoft-Windows-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" processorArchitecture="AMD64"> <EnableNetwork>false</EnableNetwork> </component> </settings> <cpi:offlineImage cpi:source="" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> </unattend>
通過修改呼叫
startnet.cmd
wpeinit /unattend="%SystemRoot%\system32\Unattend.xml"
這導致以下日誌條目:
2017-08-02 14:51:20.747,Info WPEINIT 正在處理無人參與文件
$$ X:\windows\system32\Unattend.xml $$ …
2017-08-02 14:51:20.982,資訊 ==== 初始化網路訪問和應用配置 ====
2017-08-02 14:51:20.982,資訊網路支持將不會啟用。
2017-08-02 14:51:20.982,資訊狀態:成功 (0x00000001)
注意:文件夾中文件的唯一存在
System32
導致其評估。wpeinit
因此,如果文件位於該位置,則實際上不需要參數 to 。