Я создаю загрузочную флешку WindowsPE с Microsoft Automation Installation Kit 10 (хост - Windows 10) для amd64
целевая платформа.
Поскольку мне не нужны сетевые подключения из WinPE, id хотел бы полностью и безопасно отключить их.
Я примерно понимаю Загрузочная цепочка 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, информация 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, информация 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
на самом деле не требуется, если файл находится в этом месте.