Что такое расширение файла ADK? Все, что нужно знать для создания загрузочного диска с Windows PE

Чтобы установить Windows ADK, ваш компьютер должен работать под управлением одной из следующих операционных систем:

  • Windows(R) 8
  • Windows(R) 7
  • Windows Server(R) 2012
  • Windows Server(R) 2008 R2
  • Windows Server(R) 2008

Необходима платформа Microsoft .NET Framework 4, а Windows ADK устанавливает ее автоматически.

Прежде чем приступить к установке компонентов Windows ADK, проверьте требования и поддерживаемые платформы.

Набор средств Application Compatibility Toolkit

Вы можете установить набор средств Application Compatibility Toolkit (ACT) на компьютер под управлением любой ОС, поддерживаемой Windows ADK, включая Windows Vista(R), Windows(R) XP с пакетом обновления 3 (SP3) и Windows Server 2003.

Средства развертывания

Чтобы использовать командлет Powershell для систем обслуживания образов развертывания и управления ими (DISM) или для средства управления активацией корпоративных лицензий (VAMT), необходимо установить Powershell 3.0. Windows 8 и Windows Server 2012 включают PowerShell 3.0 по умолчанию. Для предшествующих версий Windows установите PowerShell 3.0 с .

Средства развертывания поддерживают следующие ОС:

  • Windows(R) 8
  • Windows(R) 7
  • Windows Server(R) 2012
  • Windows Server(R) 2008 R2
  • Windows Server(R) 2008

Набор средств оценки Windows

Консоль оценки Windows(R) поддерживает следующие ОС:

  • Windows(R) 8
  • Windows(R) 7

Службы оценки Windows

Для установки Службы оценки Windows(R) сервер должен работать под управлением одной из следующих ОС:

  • Windows Server(R) 2012 или Windows Server(R) 2008 R2 Enterprise, Standard или Datacenter Edition. Службы оценки Windows не поддерживаются на основных серверных компонентах или на серверах контроллера домена.

По умолчанию Службы оценки Windows(R) – клиент (Windows ASC) устанавливается на сервер с установленными Службы оценки Windows. Консоль также можно установить на клиентском компьютере. Для установки Windows ASC ваш компьютер должен работать под управлением одной из следующих ОС:

  • Windows Server(R) 2012
  • Windows Server(R) 2008 R2
  • Windows(R) 8
  • Windows(R) 7 с пакетом обновления 1 (SP1)

Для установки набора средств для оценки производительности Windows компьютер должен работать под управлением одной из следующих ОС:

  • Windows(R) 8
  • Windows Server(R) 2012
  • Windows(R) 7
  • Windows Server(R) 2008 R2

Средство миграции пользовательской среды можно скопировать вручную в другие версии Windows, включая Windows XP. Дополнительные сведения см. в разделе Требования для установки средства миграции пользовательской среды .

Установка Windows ADK из Интернета

Можно запустить программу установки Windows ADK непосредственно из Интернета с помощью графического пользовательского интерфейса или командной строки.

Убедитесь, что ваш компьютер остается подключенным к Интернету во время установки ADK. Программа установки ADK загружает пакеты установки из Интернета в процессе установки. Время, необходимое для завершения установки ADK, зависит от пропускной способности вашего подключения к Интернету, производительности вашего компьютера и компонентов Windows ADK, которые вы устанавливаете.

Чтобы установить Windows ADK из Интернета с использованием графического интерфейса пользователя, выполните следующие действия.

    Запустите программу установки ADK с веб-сайта корпорации Майкрософт .

    Выберите Установить на этот компьютер комплект средств для развертывания и оценки .

    В поле Путь установки укажите, куда вы хотите установить компоненты Windows ADK, потом нажмите кнопку Далее .

    Если будет предложено, укажите, хотите ли вы участвовать в программе улучшения качества программного обеспечения (CEIP), затем нажмите кнопку Далее .

    Чтобы продолжить установку Windows ADK, следует принять условия лицензионного соглашения. Чтобы принять условия лицензионного соглашения, нажмите кнопку Принять .

    Выберите компоненты Windows ADK, которые вы хотите установить, и нажмите кнопку Установить .

Чтобы установить Windows ADK из Интернета с использованием командной строки, выполните следующие действия.

Установка Windows ADK на автономный компьютер

Чтобы установить Windows ADK на компьютер без доступа к Интернету, сначала загрузите файлы установщика. Затем скопируйте эти файлы на автономный компьютер. Теперь вы можете запустить ADKSetup.exe, используя либо графический интерфейс пользователя, либо командную строку.

Чтобы установить Windows ADK на автономный компьютер с использованием графического интерфейса пользователя, выполните следующие действия.

    На компьютере с доступом к Интернету запустите программу установки Windows ADK с веб-сайта корпорации Майкрософт .

    Выберите Загрузить комплект средств для развертывания и оценки для установки на отдельном компьютере .

    В поле Путь загрузки укажите путь для загрузки файлов, затем нажмите кнопку Далее .

    Выберите, хотите ли вы участвовать в программе улучшения качества программного обеспечения, затем нажмите кнопку Загрузить .

    После окончания загрузки нажмите кнопку Закрыть .

    Скопируйте загруженные файлы в место, доступное для автономного компьютера.

    Например, скопируйте файлы на съемный носитель или на файловый сервер, к которому у компьютера есть доступ.

    На автономном компьютере измените каталог на местонахождение скопированных файлов.

    Запустите ADKSetup.exe, а затем выберите компоненты Windows ADK, которые вы хотите установить.

Чтобы установить Windows ADK на автономный компьютер с использованием командной строки, выполните следующие действия.

Обслуживание Windows ADK

Вы можете управлять установкой, восстановлением и удалением компонентов Windows ADK, используя раздел Программы и компоненты в окне Панель управления .

Также можно удалять или восстанавливать компоненты Windows ADK из командной строки. Дополнительные сведения см. в разделе .

Изменение, восстановление и удаление Windows ADK из панели управления

    Откройте Программы и компоненты в окне Панель управления . Щелкните элемент Комплект средств для развертывания и оценки , а затем нажмите кнопку Изменить .

    В окне поддержки компонентов комплекта средств для развертывания и оценки выберите параметр:

    • Изменение

      Этот параметр позволяет добавить или удалить определенные компоненты Windows ADK.

    • Восстановление

      Этот параметр повторно устанавливает все компоненты Windows ADK, установленные на компьютере.

    • Удаление

      Этот параметр удаляет все компоненты Windows ADK.

    • Изменение параметров программы улучшения качества программного обеспечения.

      Этот параметр изменяет настройки программы улучшения качества программного обеспечения, которые применяются для компонентов Windows, установленных на компьютере.

    Чтобы завершить выбор параметра, выполните действия в Windows ADK.

Чтобы выборочно удалить компоненты Windows ADK с использованием командной строки, выполните следующие действия.

Проверка обновлений Windows ADK

Синтаксис команд ADKSetup.exe

ADKSetup.exe использует следующий синтаксис при запуске из окна командной строки. Параметры можно указывать в любом порядке.

ADKSetup [/features [{ + | <идентификатор_компонента> [ …] }] [{/installpath <путь> | /layout [<путь> ]}] [{/norestart | /forcerestart | /promptrestart }] [/q ] [/l <путь_к_файлу> ] [/ceip {on | off }]

ADKSetup /uninstall [/features [<идентификатор_компонента> [ …] ] [{/norestart | /promptrestart | /forcerestart }] [/q ] [/l <путь_к_файлу> ] [/ceip {on | off }]

ADKSetup /list

ADKSetup /repair

ADKSetup {/? | /help | /h }

В следующей таблице описано использование всех параметров команды. При использовании этих параметров регистр не учитывается.

Параметр Значение Описание

Указывает, может ли пользователь явно согласиться на участие в программе улучшения качества программного обеспечения, которая отправляет в корпорацию Майкрософт анонимные данные об использовании. Если вы также укажите параметр /layout , программа улучшения качества программного обеспечения применяется только для данных текущей загрузки. Если параметр /layout не задан, настройки программы улучшения качества программного обеспечения сохраняются в реестр локального компьютера и применяются для всех установленных на компьютере комплектов Windows, включая Комплект Windows(R) Logo (WLK) и комплект разработки драйверов для Windows (WDK).

Если этот параметр не задан, то поведение будет соответствовать значению off .

<путь_к_файлу>

Переопределяет каталог по умолчанию и имя файла для файла журнала установки ADK. При указании этого параметра необходимо указать полный путь и имя файла, включая расширение имени файла. Если этот параметр не задан, то программа установки ADK записывает файл в каталог %TEMP%\ADK.

/forcerestart

/norestart

/promptrestart

Определяет поведение установки ADK, если для завершения установки необходима перезагрузка. Если перезагрузка не требуется, эти параметры не учитываются.

  • /forcerestart закрывает приложения и перезагружает компьютер, не уведомляя пользователя.
  • /norestart не закрывает приложения, не перезагружает компьютер и не уведомляет пользователя о том, что перезагрузка необходима для завершения установки ADK.
  • /promptrestart уведомляет пользователя о том, что перезагрузка необходима, и позволяет пользователю решить, следует ли выполнить перезагрузку.

    Если указать два или три параметра, то поведение будет соответствовать последнему указанному параметру.

    Если не указывать ни один из трех параметров, поведение будет соответствовать параметру /promptrestart .

Выполняет установку ADK без отображения пользовательского интерфейса. Если появится обычное сообщение об ошибке, то программа установки ADK запишет эту ошибку в файл журнала.

/installpath

<путь>

Определяет, необходимо ли только загрузить файлы установки или же загрузить и локально установить их.

/installpath загружает файлы установщика, а затем устанавливает Windows ADK локально. Аргумент <путь> необходим для указания каталога, в который будут установлены компоненты установки ADK. Если компоненты Windows ADK были ранее установлены на этот компьютер, а указанный путь не совпадает с предыдущим путем, произойдет ошибка.

/layout загружает установочные файлы, но не устанавливает их локально. Вы можете использовать это свойство для загрузки установки ADK с последующей установкой компонентов Windows ADK на компьютер без доступа к Интернету. Вы можете использовать этот параметр, только если установка ADK выполняется из Интернета. Аргумент <путь> является необязательным; если он не задан, установка Windows ADK сохраняет установочные файлы в каталог %USERPROFILE%\Downloads\Windows Kits\8.0\ADK.

Если указать оба параметра, поведение будет соответствовать параметру /layout .

Если не указывать ни одного параметра, поведение будет соответствовать параметру /installpath .

/features

<идентификатор_компонента>

Устанавливает компоненты Windows ADK, указанные в качестве аргументов.

  • Чтобы установить все компоненты, укажите аргумент + .

    Adksetup /features +

  • Чтобы установить только определенные компоненты, перечислите идентификаторы компонентов в виде списка, разделяя их пробелом.

    Adksetup /features feature1 feature2

    Чтобы просмотреть список значений <идентификатор_компонента> , которые вы можете указать, введите adksetup /list .

    Если указать отделенный пробелом аргумент + вместе с одним или несколькими идентификаторами компонентов, программа установки ADK игнорирует идентификаторы компонентов и устанавливает все компоненты.

/uninstall

Удаляет компоненты Windows ADK, которые вы указываете в параметре /features . Если не указывать этот параметр, программа установки ADK удаляет все компоненты Windows ADK.

Повторно переустанавливает все компоненты Windows ADK, которые уже установлены на компьютере.

Перечисляет все компоненты Windows ADK, которые доступны для установки или загрузки.

Отображает синтаксис команд и справочную информацию.

Компоненты Windows ADK

В следующей таблице показаны идентификаторы компонентов для всех компонентов Windows ADK. При запуске ADKSetup.exe в окне командной строки можно использовать идентификатор компонента в качестве значения параметра /features , чтобы указать компоненты, которые следует установить или удалить.

Компонент Идентификатор

Набор средств для обеспечения совместимости приложений (ACT)

OptionId.ApplicationCompatibilityToolkit

Средства развертывания

OptionId.DeploymentTools

Среда предустановки Windows (Windows PE)

OptionId.WindowsPreinstallationEnvironment

Средство миграции пользовательской среды

OptionId.UserStateMigrationTool

Средство управления активацией корпоративных лицензий (VAMT)

OptionId.VolumeActivationManagementTool

Набор средств для оценки производительности Windows

OptionId.WindowsPerformanceToolkit

Набор средств оценки Windows

OptionId.WindowsAssessmentToolkit

Службы оценки Windows – Клиент

OptionId.WindowsAssessmentServicesClient

Службы оценки Windows

OptionId.WindowsAssessmentServices

Microsoft(R) SQL Server(R) 2012, экспресс-выпуск

OptionId.SqlExpress2012

Платформа.NET Framework

Я пытаюсь получить пример DemoKit, работающий на плате ADK. Кажется, что даже с обновлением 3.1 Galaxy Tab не имеет всего необходимого (или, по крайней мере, не работает так, как рекламируется). И даже с копанием, хотя документация кажется, что приложение Samsung Kies, возможно, мешает.

Он не будет работать, если я буду использовать библиотеки API уровня 10 в соответствии с инструкциями (пошаговое удаление отладчика я вижу это исключение: java.lang.NoClassDefFoundError: com. .future.usb.UsbManager). То же самое происходит, если я использую библиотеки уровня API 12.

Установка целевой платформы 3.1 (просто ее изменение в свойствах проекта) не будет компилироваться (из-за использования библиотеки com.android.future.usb). Я нашел некоторые документы о некоторых изменениях, которые вам нужно сделать, чтобы использовать USB-пакет в версии 3.1, и из этого, это изменения, которые я внес в DemoKitActivity.java

37,38c37 < import com.android.future.usb.UsbAccessory; < import com.android.future.usb.UsbManager; --- > import android.hardware.usb.*; 128c127 < UsbAccessory accessory = UsbManager.getAccessory(intent); --- > UsbAccessory accessory = (UsbAccessory) intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY); 139c138 < UsbAccessory accessory = UsbManager.getAccessory(intent); --- > UsbAccessory accessory = (UsbAccessory) intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY); 152c151 < mUsbManager = UsbManager.getInstance(this); --- > mUsbManager = (UsbManager) getSystemService(Context.USB_SERVICE);

Даже после внесения этих изменений я столкнулся с проблемами. Теперь он устанавливается, и на первом экране для приложения DemoKit появляется сообщение «Пожалуйста, подключите плату DemoKit», но всякий раз, когда я подключаю плату ADK и выключаю USB-отладку (с ней на ней ничего не делает), я просто получаю Приложение Samsung Kies, в котором говорится: «Нажмите домашний ключ, чтобы выйти из Samsung Kies», и никакие другие кнопки не отвечают. Уход домой и возвращение в приложение DemoKit просто показывает экран подключения снова, и он никогда не подключается к плате.

Как это можно заставить работать? Работает ли ADK с Galaxy Tab 10.1 (издание ввода-вывода Google), и если да, то я на правильном пути?

ОБНОВИТЬ

Вот что говорит серийный монитор Arduino независимо от того, включен или выключен режим отладки на планшете (необходимо установить скорость передачи до 115200 для чтения вывода):

Устройство адресовано … Запрос дескриптора устройства.

Найдено возможное устройство. Переход в последовательный режим

Он постоянно повторяется, когда он подключен к планшету.

ОБНОВЛЕНИЕ 2

Я понял, что не AndroidManifest.xml файл AndroidManifest.xml … Изменение:

Кажется, это ничего не изменило, как только я получил исправление.

ОБНОВЛЕНИЕ 3

Я отправил по электронной почте поддержку Samsung и жду ответа.

Мои извинения, режим аксессуаров в настоящее время не работает с Samsung Galaxy Tab 10.1. Samsung знает об этой проблеме и работает над ее решением. Когда устройство поддерживает режим аксессуаров, вы должны использовать API-интерфейс com.android.future.usb. *, Который упростит вам создание приложения, которое работает как с Android 3.1, так и с 2.3.4.

Я только что получил новое обновление TouchWiz, и теперь Arduino читает это обратно на последовательный порт:

Device addressed... Requesting device descriptor.found possible device. swithcing to serial mode device supports protcol 1 Device addressed... Requesting device descriptor.found android acessory device config desc interface desc inEp: 1 outEp: 2

Это выглядит намного лучше. Galaxy Tab просит запустить DemoKit, я нажал ОК, и это принудительно завершает работу. Это было лучше, чем раньше.

Я обновлю, если я получу его полностью.

Вы уверены, что используете правильную цель сборки? Вместо обычных «Android 2.3.3» (уровень 10) или «Android 3.1» (уровень 12) вы должны использовать цели Google API. Если вы запустите «Android SDK и AVD Manager», вы можете найти их в разделе «Доступные пакеты»> «Сторонние дополнения»> Google Inc> «API Google от Google Inc., Android API 10» (или 12).

У моей Galaxy Tab 10.1 на Android 3.1 не было API-интерфейсов аксессуаров в качестве backport. Поэтому я получил следующее исключение:

Java.lang.NoClassDefFoundError: com.android.future.usb.UsbManager

Один из способов заставить его работать на Tab 10.1 с Android 3.1 – использовать обычный API-интерфейс. Не поддерживаемая версия. Вы можете настроить для своих проектов DemoKit целевой SDK на обычный уровень API 12 (Android 3.1).

Кроме того, вам нужно изменить коды в DemoKitActivity, чтобы получить UsbManager и UsbAccesory:

UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); UsbAccessory accessory = (UsbAccessory) intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY);

Среда Windows PE входит в Windows ADK, который теперь объединяет средства развертывания и оценки различных параметров системы.

Сегодня в программе:

Что входит в Windows ADK

Раньше инструменты для подготовки операционной системы к развертыванию и оценки ее работы поставлялись отдельными наборами. Теперь Windows Assessment and Development Kit (далее ADK) объединил несколько пакетов.

Deployment and Imaging Tools и Windows Preinstallation Environment

Эти средства для подготовки Windows к развертыванию ранее входили в WAIK, а Windows System Image Manager даже не изменился внешне.

Windows Performance Toolkit

Набор инструментов для оценки производительности Windows, с которым вы уже знакомы , раньше поставлялся в наборе SDK. Теперь в WPT входят новые средства для записи различных сценариев работы приложений и системы (Windows Performance Recorder) и просмотра записей (Windows Performance Analyzer).

Windows Assessment Toolkit

Это новый набор, лицом которого является Windows Assessment Console. С ее помощью можно оценивать различные параметры работы Windows и приложений, например, производительность или потребление энергии.

Консоль удобна тем, что в нее уже включены различные тесты, причем они объединены в группы для комплексной оценки.

Загрузка и установка Windows ADK

Microsoft не предлагает к загрузке ISO, но с помощью установщика вы можете скачать полный комплект (инструкции на английском) и сделать из него образ, если необходимо. После установки вы найдете все наборы в папке Program Files\Windows Kits. Впрочем, если у вас 64-разрядная система, туда упадет лишь часть средств развертывания, а остальное окажется в Program files (x86).

История версий Windows PE

Полный список изменений в разных версиях есть в документации . Текущая версия — Windows PE for Windows 10 . Она не претерпела существенных изменений по сравнению с предшественницей, но раньше среда развивалась более активно.

Например, на Windows PE 4.0 была основана среда предустановки Windows 8, что повлекло ряд значимых изменений по сравнению с Windows PE 3.1 времен Windows 7. Тогда расширился список пакетов (ссылка на актуальный документ), которые можно внедрить в PE. В частности именно в PE 4.0 добавились:

  • .NET (WinPE-NetFX) обеспечивает запуск приложений, которым требуется.NET Framework.
  • Powershell (WinPE-PowerShell) позволяет использовать PowerShell в среде PE. В состав ADK входит новая версия Powershell.
  • DISM PowerShell Cmdlets (WinPE-DismCmdlets) представляют собой новые командлеты третьей версии Powershell для создания и обслуживания WIM образов
  • Remote Network Driver Specification (WinPE-RNDIS) пригодится для доступа к удаленным клиентам из Windows PE
  • Windows PE Secure Startup (WinPE-SecureStartup) нужен для управления BitLocker и TPM.

Изменения в Windows PE 5.0 и 5.1 были не такие значительные. Но если 5.0 вошла в ADK, то 5.1 с поддержкой WimBoot (ныне неактуальной), надо было применять в качестве обновления.

Подготовка рабочей папки

Введите в поиск среда средств (в англ. версии — deployment ) и запустите от имени администратора командную строку средств развертывания. По сути это файл DandISetEnv.bat из папки Deployment and Imaging Tools , задающий необходимые переменные среды для быстрого доступа к инструментам командной строки.

Для работы с автоустановкой и Windows PE у меня давно создана переменная среды %ua% , ведущая в папку unattend в корне профиля. Вы можете создать такую же переменную на постоянной основе, либо только в рамках текущей сессии командной строки, как показано ниже.

:: Задайте путь к рабочей папке (избегайте кириллицы и пробелов в пути) set ua=C:\unattend:: Создайте папку md %ua%

# Задайте путь к рабочей папке (избегайте кириллицы и пробелов в пути) $env:ua = "C:\unattend" # Создайте папку md $env:ua

Все дальнейшие команды будут использовать переменную %ua% вне зависимости от того, где у вас создана рабочая папка.

Копирование файлов Windows PE в рабочую папку

В ADK входит удобный файл copype.cmd , который делает эту работу одной командой.

Учтите, что с помощью DISM из 32-разрядной PE можно обслуживать Windows любой разрядности, а из 64-разрядной PE — только 64-разрядную . Во всех моих командах подразумевается создание 32-разрядной среды Windows PE. Для подготовки 64-разрядного диска замените везде x86 на amd64 .

В командной строке выполните:

Cd "..\Windows Preinstallation Environment" copype.cmd x86 %ua%\winpe_x86\

Первая команда переходит в папку с наборами файлов Windows PE, а вторая запускает файл copype.cmd с параметрами x86 для создания 32-разрядной PE и %ua%\winpe_x86\ для копирования необходимых файлов в эту папку, с которой мы будем работать дальше.

Работа WIM-образом Windows PE

Все действия нужно выполнять в командной строке средств развертывания, которую вы запустили с полными правами на предыдущем этапе.

Шаг 1 – Подключение образа

Подключение WIM-образа выполняется одной командой с помощью утилиты DISM. Если вы часто работаете с WIM-образами, не повредит сначала очистить все предыдущие подключения.

Dism /Cleanup-Wim dism /Mount-Wim /WimFile:%ua%\winpe_x86\media\sources\boot.wim /index:1 /MountDir:%ua%\winpe_x86\mount

Шаг 2 – Добавление пакетов в образ

Пакеты находятся в папке WinPE_OCs , и мы добавим четыре пакета:

  • .Net Framework
  • PowerShell
  • командлеты DISM

Первая команда переходит в папку, а вторая добавляет пакеты:

Cd x86\WinPE_OCs dism /image:%ua%\winpe_x86\mount /Add-Package /PackagePath:WinPE-NetFx.cab /PackagePath:WinPE-PowerShell.cab /PackagePath:WinPE-DismCmdlets.cab /PackagePath:WinPE-wmi.cab

Возможность перечислить сразу несколько пакетов в одной команде ускоряет дело.

Вы можете добавить любые другие пакеты из папки WinPE_OCs. Например, WinPE-Scripting.cab обеспечит работу сценариев Windows Script Host (WSH). Но учтите, что каждый пакет увеличивает размер образа Windows PE.

Важно! Для работы PowerShell необходим.NET Framework, поэтому сначала нужно добавлять пакет WinPE-NetFx4.cab , и только вслед за ним WinPE-PowerShell3.cab и WinPE-DismCmdlets.cab .

Поскольку добавление пакетов сродни установке программ, при импорте WinPE-PowerShell3.cab без пакета.NET будет возникать ошибка 0x800f081e . Создавая свой первый диск, я добавлял пакеты в правильном порядке. Но потом случайно изменил его, когда собрал все пакеты в одну команду. Для решения проблемы пришлось плясать с бубном (в прямом смысле слова:)

Проверить наличие пакетов в образе вы можете командой:

Dism /image:%ua%\winpe_x86\mount /Get-Packages

Шаг 3 – Добавление драйверов

Этот шаг необязателен, поскольку Windows PE содержит базовый набор драйверов, в том числе и для сетевых карт. Доступ к сети может вам понадобиться, например, для сохранения захваченного WIM-образа на сетевом диске.

Если возникла необходимость, с помощью DISM можно добавить:

  • отдельный драйвер, указав путь к INF-файлу
  • все драйверы из папки, указав путь к ней и ключ /recurse

Примеры этих команд:

Dism /Image:%ua%\winpe_x86\mount /Add-Driver /Driver:C:\drivers\mydriver.INF dism /Image:%ua%\winpe_x86\mount /Add-Driver /Driver:C:\drivers /recurse

Шаг 4 – Добавление своих утилит и сценариев

У меня есть папка Tools , где хранятся различные утилиты и средства командной строки. Я всегда включаю ее в состав Windows PE, добавляя в корень диска.

Xcopy /e /y "%userprofile%\PortableSoft\Tools" %ua%\winpe_x86\media\Tools\

Альтернативно, вы можете скопировать утилиты прямо в папку System32 образа. Тогда их можно будет запускать, не переходя в папку Tools или не указывая полный путь. Я, однако, предпочитаю отделять мух от котлет.

Видно, что.NET Framework успешно добавлен, поскольку отображается список командлетов DISM в PowerShell 3. В ближайшее время я покажу, как использовать их для работы с WIM-образами из Windows PE.

Чтобы не терять время зря, вы пока можете прочесть интересные факты и полезные советы на тему Windows PE, а также поэкспериментировать с запуском приложений и заменой интерфейса командной строки на любимый файловый менеджер.

А вы пользуетесь Windows PE или другими дисками собственного изготовления? Расскажите в комментариях, какие диски вы используете для обслуживания и восстановления системы!

Добрый день уважаемые читатели блога, наконец дошли руки до написания третьей части статьи, в которой мы создаем свою сборку Windows 10. Если кто читает не сначала, то отправляю вас на первую часть в которой создается . Хочу отметить, что в первой части мы поставили, уже ADK, но так как вышел Redstone и у Microsoft теперь для каждой десятки свой ADK, показываю, где и как скачать нужный, у кого уже стоит, просто пролистайте чуть ниже и переходите к пункту с WinPE.

Во второй части мы с вами обезличили все персональные данные Windows 10 redstone и выключили его в режиме OOBE (out of box experience). Теперь нам с вами нужно из данной виртуальной машины получить wim образ, который мы и будем потом интегрировать в наш дистрибутив.

Для решения данной задачи нам необходим комплект windows adk для windows 10, и некоторые его утилиты.

  • WinPE > урезанная версия операционной системы с нее мы будем загружаться.
  • ImageX > утилита для захвата образа wim

Вот как это выглядит на схеме, мы загружаемся с загрузочной флешки или ISO с средой WinPE Windows 10, на нашу виртуальную машину (Ту которая выключена, у вас это может быть эталонный компьютер), и с помощью командной строки и утилиты imageX захватываете образ wim. Данный образ wim по сути и будет вся ваша система, которую вы до этого подготовили для создания образа с Windows 10 redstone.

Данный дистрибутив вы можете установить либо на другой компьютер или другую виртуальную машину, не на ту что мы запечатали

И так давайте скачаем с вами ADK для Windows 10. Скачать его можно по ссылке ниже. Учтите, что скачать его нужно именно для своей версии сборки.

https://developer.microsoft.com/ru-ru/windows/hardware/windows-assessment-deployment-kit

Недавно же мы с вами устанавливали windows 10 redstone , у нее версия была 1607.

В итоге вы скачаете маленький файл, полтора мегабайта, это онлайн установщик

Запускаете adksetup.exe и у вас открывается окно мастера установки комплекта windows adk для windows 10. Вы можете изменить каталог установки, либо вообще просто его скачать, для дальнейшего развертывания. (Скачайте комплект средств для развертывания и оценки Windows 10 для установки на другом компьютере) Я оставляю как есть и буду ставить себе на компьютер.

Говорим нет, так как нет необходимости принимать участие в программе Microsoft.

Соглашаемся с лицензионным соглашением ADK и жмем принять.

Выбираем два компонента:

  • Средства развертывания
  • Среда предустановки Windows PE

Жмем установить. Учтите, что потребуется доступ к интернету и будет скачано, порядка 3,5 гигабайт.

Начнется процесс скачивания ADK.

Все у меня все до качалось, можно теперь поискать ADK у нас в пуске.

Открываем кнопку пуск и находим вот такой пункт Windows kit

  • Диспетчер установки
  • Среда средств развертывания

Следующим шагом у нас с вами будет создание ISO Образа с Windows PE, с помощью которой мы будем загружаться на эталонном компьютере, для снятия образа операционной системы.

Создаем winpe для windows 10

Наша задача с вами создать ISO образ содержащий среду предустановки winPE для десятки, для этого открываем от имени администратора Среду средств развертывания. Для этого щелкаем правым кликом по ярлыку, далее пункт Дополнительно > Запуск от имени администратора.

Так как у меня будущая сборка имеет архитектуру x64, то я ввожу вот такую команду

copype amd64 c:\winpe

где c:\winpe это создаваемая папка на диске С:, а amd64 указание архитектуры

copype x86 c:\winpe

Для 32 битных систем команда выше, там параметр x86. В результате выполнения нужной команды, у вас в папке winpe, будет скопирована вся структура каталогов, необходимая для создания загрузочного ISO с winPE.

Перейдя на диск C: вы увидите в родительской папке вот такие три папки:

  • fwfiles
  • media
  • mount

У каждой из них свое назначение, об этом мы поговорим чуть ниже.

Теперь нам нужно еще до копировать необходимые утилиты в наш winPE, переходим в папку с установленным ADK.

C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools

Выбираете папку с вашей архитектурой, у меня это amd64. Переходите в папку DISM и копируете из нее вот эти два файла:

  • dism.exe
  • imagex.exe

Путь для копирования C:\winpe\media

В 2011 г. корпорация Google представила стандарт Android Open Accessory, который обеспечивает взаимосвязь между внешними USB-устройствами (Arduino-подобными платами и др.) и Android-устройством. Начиная с версии Android 3.1 (поддержка AOA портирована и в Android 2.3.4) по замыслу Google все устройства должны поддерживать USB соединение в режиме "accessory mode". В данном режиме подключенное устройство (к примеру плата Arduino) является хостом (в т.ч. питает шину 5В/500мА), а Android устройство является периферийным. В дополнении ко всему Google выпустила предназначенную для разработчиков плату ADK 2011 на базе Mega2560. В версии ADK 2012 используется микроконтроллер ARM 32-bit Cortex M3.

Для чего это необходимо? Данная взаимосвязь между устройством на базе Android и Arduino-подобными платами открывает массу возможностей для разработчика и радиолюбителя: управление сервоприводами, двигателями, индикацией с Android-телефона, считывание состояние датчиков на Android телефоне или планшете, таких как гироскоп, акселерометр, компас, GPS, передачу данных через GPRS/HDSPA модуль планшета и многое другое.

В данном цикле статей я хотел бы шаг за шагом рассказать о некоторых возможностях USB-связи между Android и Arduino.

На сегодняшний день существует уже достаточное количество плат разработчика поддерживающих Android Open Accessory протокол. Приведем некоторые из них:

Плата, анонсированная Google. Используется микроконтроллер ATmega2560 (как и в большинстве других плат, анонсированных в 2011 году).

8-ми битный контроллер ATmega2560 содержит 256 КБ внутренней флэш памяти и работает на частоте 16 МГц. Память SRAM - 8 КБ и EEPROM – 4 КБ. На плате предусмотрено 54 цифровых входа/выхода (14 из которых могут работать как ШИМ выходы) и 16 аналоговых входов (10 бит АЦП).

Помимо этого на плате уже напаяна некоторая периферия: 3 кнопки, 3 RGB светодиода, джойстик, датчик температуры, фотодиод, емкостный сенсор (логотип андроида), 2 реле 24В/1А, три коннектора для подключения серво приводов.

Однако есть один существенный минус – стоимость платы, которая составляет почти 400$, что делает ее совсем непривлекательной в радиолюбительских разработках. Да и найти и купить такую плату честно говоря сложновато даже в зарубежных интернет-магазинах.

На конференции Google I/O 2012 в конце июня 2012 г. была представлена новая плата для разработчиков (впрочем как и анонсирован новый протокол Android Open Accessory 2.0 с поддержкой аудио и подключением сразу нескольких устройств к Android). Данная плата также совместима с Arduino форм-фактором, однако в ней используется уже более мощный ARM процессор: 32-битный Cortex M3 .
Плата Arduino DUE , выход которой намечен на 2012 также будет содержать процессор Atmel ATSAM3X8E ARM Cortex-M3

Помимо этого на плате существенно обновилась и периферия: добавился слот SD, модуль Bluetooth и NFC, акселерометр, датчик атмосферного давления, влажности, приближения, емкостной слайдер, 6 семисегментных светодиодных RGB матрицы, а также УНЧ и динамик. Ну и сама плата теперь переехала в корпус в виде будильника.

В ADK2012 добавлена возможность передачи звука по USB соединению (начиная с версии Android 4.1 – API 16 и выше). Файлы схем платы ADK2012 и программные файлы доступны для скачивания .

Цена платы на текущий момент составляет около 500$.

Это уже более доступная плата от известной итальянской компании. В плате используется микроконтроллер ATmega2560, а также микросхема USB хоста MAX3421e для соединения с Android-устройством. Плата содержит 54 цифровых входа/выхода (15 из них могут работать как ШИМ), 16 аналоговых входов, 256 КБ флэш памяти (из которых 8 КБ отведены под загрузчик), SRAM - 8 КБ, EEPROM - 4 КБ.

Более подробное описание платы на английском языке можно найти . Стоимость платы Arduino ADK R3 на текущий момент составляет 50 евро.

Вариант платы от компании Seeed Studio, в данной плате также используется микроконтроллер ATmega2560. В плате есть 56 цифровых входа/выхода (14 из них могут работать как ШИМ), в остальном аналогично Arduino ADK. В качестве микросхемы USB-хоста используется MAX3421. На плате предусмотрен микропереключатель уровней 3.3В/5В.

Более подробное описание находится . Официальная стоимость платы составляет 80$.
Именно с этой платой мы и будем в дальнейшем работать. Плата была приобретена на eBay за 60$.

IOIO

Разработка от известного за рубежом интернет-магазина SparkFun. Сердцем платы служит микроконтроллер PIC24FJ256-DA206 работающий на 32МГц и имеющий 256КБ памяти программ и 96КБ RAM-памяти. На плате установлен только один USB-разъем для соединения с Android-устройством. Плата содержит 48 цифровых входов/выходов, из них 16 пинов могут быть задействованы ка аналоговые входы. На любой I/O можно повесить прерывание. Более подробная документация по IOIO Board находится .

Справедливости ради, стоит отметить, что данный код применим не только к плате FEZ Panda II, а практически ко всем платам компании GHI Electronics на ядре.NET Micro Framework, а это FEZ Domino, FEZ Hydra, FEZ Cerbuino Bee и др. платы с USB хостом.

Режимы MicroBridge и Open Accessory

Как уже было сказано выше, корпорация Google для обмена информации между устройствами Android и Arduino (и др.) представила стандарт Android Open Accessory. Однако, он поддерживается Android устройствами начиная с версии 3.1 (но также был портирован на Android и в Android 2.3.4).

Существует второй режим работы – Android Debug Bridge (ADB) в MicroBridge режиме, который поддерживается устройствами на базе Android версии 1.5 и выше.

В качестве Android устройства будет выступать современный 7" планшет Ainol Aurora с версией андроида 4.0.4, который казалось бы должен поддерживать режим Open Accessory. Однако это не так, и я так и не смог получить связь в данном режиме. При чтении зарубежных форумов и информации, я выяснил, что наличие на вашем аппарате версии Android 3.1 и выше еще не означает 100% работу в режиме Android Open Accessory.

Вот небольшой список устройств, которые совместимы с режимом Open Accessory:
Acer Iconia A100
Acer Iconia A500
ASUS Eee Pad Transfomer TF101
Dell Streak 10 Pro
Foxconn Commtiva-HD710
Google Nexus S
Google Nexus One
HTC EVO 3D
HTC PH4100
HTC Sensation 4G
HTC Nexus One
LG Optimus Pad
LG Optimus 2X
Motorola Xoom
Samsung Galaxy A
Samsung Galaxy Ace
Samsung Galaxy S
Samsung Galaxy Tab 10.1
Toshiba AT100

Для остальных устройств, возможно придется менять прошивки, ставить моды, патчи и т.п., в общем танцы с бубном. И в конце не факт, что еще и заработает, как это и получилось у меня с планшетом Ainol Aurora.

Однако, я приведу небольшой список того, что возможно поможет запустить ваш планшет с поддержкой режима Android Open Accessory:
1. Установите root права и программу Root Explorer и проверьте наличие файлов /system/framework/com.android.future.usb.accessory.jar и /system/ etc/ permissions/android.hardware.usb.accessory.xml. Если их нет, то режим Open Accessory работать не будет. Самый важный – это первый файл, необходимо найти прошивку или мод для вашего устройства, в котором содержится данный файл. Наиболее популярным является Cyanogen Mod .
Файл android.hardware.usb.accessory.xml вы можете скачать , он служит для разрешения запуска файла com.android.future.usb.accessory.jar.
Когда файла нет, то компилятор Eclipse обычно «ругается»: INSTALL_FAILED_MISSING_SHARED_LIBRARY
2. Иногда помогает установка следующей строки CONFIG_USB_ANDROID_ACCESSORY=y в файле /proc/config.gz. Однако не во всех Android устройствах есть этот файл, в моем не было.
3. Проверьте типы используемых USB библиотек Open Accessory. Иногда в проекте необходимо заменить com.android.future.usb на android.hardware.usb (плюс переделать файл манифеста, коды вызова библиотек и т.п.). Подробнее об этом написано и .
4. Попробуйте отключить режим ADB в настройках планшета.

Я проделал все вышеперечисленные процедуры, но на Android планшете все также красовалась надпись «Please connect a DemoKit board», а в логах планшета (для этого я использовал LogCat) для приложения DemoKit отображалось: «mAccessory is null», что означает, что Android не обнаружил Accessory-совместимых устройств на USB шине.
В то же время, в PortMonitor из Arduino IDE, был такой лог: «Device addressed... Requesting device descriptor. found possible device. swithcing to serial mode device supports protocol 1 or higher»
Т.е. моя плата Seeeduino ADK Main Board по всей видимости видела USB-устройство, но не открывало соединение по протоколу Open Accessory. Несколько дней экспериментов, правок программ и анализа логов ни к чему не привели.

Если вам так и не удалось установить связь с использованием режима Android Open Accessory, то в режиме MicroBridge , ваше Android устройство должно точно заработать. Его мы и будем использовать в наших дальнейших проектах. Если с выходом нового мода или прошивки у меня получится установить связь в режиме Open Accessory, то работу в этом режиме я постараюсь также описать.

В следующей статье мы рассмотрим необходимое программное обеспечение для работы с Android и Arduino, его установку и настройку.

Протокол Android Open Accessory 2.0

В конце июня 2012 был корпорацией Google был анонсирован протокол AOA 2.0. Основными нововведениями стали поддержка аудио и работа Android сразу с несколькими HID устройствами. Подержка AOA 2.0 будет осуществлятся устройствами с версией Android 4.1 Jelly Bean (уровень API 16) и выше.

В версии AOA 1.0, содержалось только два USB product ID:
0x2D00 – accessory
0x2D01 - accessory + ADB
В версии AOA 2.0 добавились следующие product ID:
0x2D02 – audio
0x2D03 - audio + ADB
0x2D04 - accessory + audio
0x2D05 - accessory + audio + ADB

Теперь с Android устройства возможно передавать аудио-поток на подключенное accessory устройство. Пока что это 2-х канальный 16-бит PCM аудио поток с битрейтом 44100 кГц, но в дальнейшем список поддерживаемых форматов может быть расширен.

Читайте также: