This post is part of SCCM Current Branch Installation Guide series
In this post we are going to cover the installation of ADK (latest version is 1809) & Windows PE Add-on which is a prerequisite for SCCM Installation.
What is ADK
ADK (Windows Assessment and Deployment Kit) consists of tools required for Operating System Deployment such as WinPE boot Images, Deployment Tools, USMT etc. Starting with ADK 1809 version WinPE is separately released from ADK. Hence, complete installation of ADK consists of 2 components:
- Windows ADK for Windows 10, version 1809
- Windows PE add-on for ADK
Installation of Windows ADK offline(version 1809)
Download Windows ADK 1809 and save adksetup.exe to your desired location. adksetup.exe is not the complete setup for installation, instead it requires internet connection to fetch all the required binaries. We will first download the binaries, which can be later used on any system for installation.
Once downloaded, launch adksetup.exe, specify the location to download the binaries.
Once download is completed to above mentioned path (d:downloadsWindows Kits10ADK), launch adksetup.exe once again from this new location which now contains the binaries under “installers” folder. Specify the location for installation:
Under “Select the features you want to install”, make sure following is selected:
Click on Install to begin the installation
Installation of Windows PE Add-on for ADK
Similar to ADK installation, we will first download the Windows PE Add-on exe. Once downloaded, we will download the binaries first before installation it so that it can be used on any other server also (without having any internet connection).
Launch adkwinpesetup.exe and specify the path to download the binaries
Once binaries are downloaded, launch adkwinpesetup.exe from location d:ADKWinPEAddons, and specify the location for installation
Under “Select the features you want to install”, there will be only one option available “Windows PE”, make sure it is selected and click on install to complete the installation
Microsoft recently released the Windows ADK for Windows Server 2022. Let’s look at the steps to download and install ADK for Windows Server 2022.
I will provide the links to download the latest version of ADK for Windows Server 2022 and cover the installation steps. The Windows ADK and Win PE Add-on are great tools for creating images and automating your deployments.
You can deploy Windows Server 2022 using Configuration Manager, and also enable Server 2022 updates in SCCM.
Many people send emails asking me what version of ADK should I install? Microsoft recommends using the ADK version that matches the Windows version you’re working with.
It is true that Microsoft doesn’t release ADK for every new version of Windows 10. For example, Windows ADK for Windows 10 version 21H1, 20H2 wasn’t released separately. In this case, you can use the Windows ADK for Windows 10, version 2004 to deploy Windows 10 21H2.
If you are installing Windows ADK on Windows 10, ensure you read Windows 10 ADK versions and downloads guide. I have listed every ADK released for Windows 10.
And for Windows 11, we have only version of ADK released so far. You can read more about it from Windows 11 ADK version guide. To install the ADK on Windows 11, refer to my Windows 11 ADK installation guide.
For the first time, Microsoft released new ADK for Windows Server 2022. I expect more ADK releases for Server in coming months, like we see for Windows 10 and Windows 11.
New Features in ADK for Windows Server 2022
Microsoft has introduced the following new ADK features for Windows Server 2022.
- Windows Performance Recorder (WPR) – The WPR command line has a few new features and updates to improve your developer analysis. Windows Performance Recorder (WPR) is a performance tool that you can use to record system events that you can then analyze by using WPA.
- Windows Performance Analyzer – WPA’s code structure and tooling has been rewritten with early support of the Performance Toolkit SDK. With the rewrite, WPA is now a self-contained .NET Core 3.1 application, allowing for extensibility by loading plugins to process any specific data sources (outside ETL).
You can download the latest version of Windows Server 2022 ADK and Win-PE add-on from the below links.
- Download the ADK for Windows Server 2022
- Download the Windows PE add-on for the ADK for Windows Server 2022
The above links are direct download links and when you click the links, the download begins. You must download both ADK and WinPE add-on installers. Download and copy them to the Windows Server on which you want to install.
To my surprise, I found two things a bit weird with Windows Server 2022 ADK installation.
- The Windows ADK for Windows Server 2022 are downloaded as .ISO files. You can either mount them and install, or extract them to a folder and begin the installation. With Windows 10, you get installers, and you directly run it on the computer.
- During the ADK installation on Server 2022, the setup wizard still shows as Windows Deployment and Assessment Toolkit – Windows 10. I assume the installation of ADK for Windows Server 2022 is similar to that of Windows 10.
Install Windows ADK for Windows Server 2022
Let’s install ADK for Windows Server 2022 first. Run the ADKSetup.exe as administrator. Choose how you want to install ADK based on below options.
- Install the Windows Assessment and Deployment kit to this computer – This option downloads and installs the ADK for Windows 11 on a computer. The ADK setup files are downloaded to C:Program Files (x86)Windows Kits10
- Download Windows Assessment and Deployment kit for installation on a separate computer – This option only downloads the Windows 11 ADK files. You can use the setup files to install Windows 11 ADK on other computers.
The Windows ADK that we downloaded for Windows Server 2022 includes the installers as well. So select the first option and click Next.
On the Windows Kits privacy window, choose whether you want Microsoft to collect insights for windows kits. Select No and click Next.
Accept the Windows ADK license agreement and click Accept.
Select the ADK features that you want to install or enable for Windows Server 2022. Click Next.
The Windows ADK for Windows Server 2022 has been installed on Windows Server. Click Close.
Install Windows PE Add-on for Server 2022
Now we will install Windows ADK WinPE add-on. This installs the Windows Assessment and Deployment kit windows preinstallation environment add-ons to this computer.
Run the adkwinpesetup.exe as administrator. Once again on the Specify location page, select the first option and click Next.
On the Windows Kits privacy window, choose whether you want Microsoft to collect insights for windows kits. Select No and click Next.
Accept the Windows PE license agreement and click Accept.
You don’t have to select any extra features here since Windows Preinstallation Environment (Windows PE) is selected by default. Click Install.
The Windows PE Add-on for Windows Server 2022 has been installed on the server.
You must restart the server before you start using the ADK on the server.
After the server restart, let’s check the Windows Server 2022 ADK version number. Go to Control PanelProgramsPrograms and Features.
- Windows Assessment and Deployment Kit – Version 10.1.20348.1
- Windows Assessment and Deployment Kit Windows Preinstallation Environment Add-ons – Version 10.1.20348.1
Prajwal Desai is a Microsoft MVP in Enterprise Mobility. He writes articles on SCCM, Intune, Configuration Manager, Microsoft Intune, Azure, Windows Server, Windows 11, WordPress and other topics, with the goal of providing people with useful information.
This post will show the step-by-step installation of Windows ADK for Windows 10 1903 and Windows PE add-on ADK.
1) Download the Windows ADK for Windows 10 version 1903 from https://docs.microsoft.com/en-us/windows-hardware/get-started/adk-install
2) Download the Windows PE add-on for the ADK on the same page
3) Install Windows Assesement and Deployment Kit – Windows 10
4) In the Windows Kit Privacy select whether or not to Send anonymous usage of data to Microsoft for the Windows 10 Kit? then click Next to proceed to the License Agreement page
5) In the License Agreement read through the Micosoft Software License Term and click on the Accept button to continue.
6) In the Select the feature you want to install, tick on the features the you require and then click on the Install button.
7) Optional: Post-Install for 64-bit version for Windows. There’s a known issue when using WSIM as documented in the What’s new in ADK kits and tools page https://docs.microsoft.com/en-us/windows-hardware/get-started/what-s-new-in-kits-and-tools#windows-system-image-manager-known-issue
an update for WSIM 1903 needs to be downloaded and applied to the 64-bit system.
After downloading and extracting the WSIM1903.zip open the ReadMe.txt and following the instructions.
9) Execute the UpdateWSIM.bat on an elevated CMD
It basically copies the imagecat.ext and imgmgr.exe to the Windows ADK installation folder.
10) Install Windows PE add-on, double click the adkwinpesetup.exe
11) Get through the Windows Kit Privacy and the License Agreement pages and then at the Select the features you want to install page, click on the Install button.
12) Close to the Welcome to the Windows…… page and you start using Windows ADK for Windows 10 version 1903 and Windows PE.
-
MiniTool
-
MiniTool News Center
- Download and Install Windows ADK for Windows [Full Versions]
By Daisy | Follow |
Last Updated November 08, 2022
When you try to provision Windows 11/10, you need the corresponding version of Windows ADK (Windows Assessment and Deployment Kit) to help you finish the task. This post from MiniTool teaches you how to download and install Windows ADK.
What Is Windows ADK
What is Windows ADK? Windows ADK is the abbreviation of Windows Assessment and Deployment Kit. The Windows ADK was originally introduced in Windows Vista and has been available in the latest Windows operating system versions ever since.
Windows ADK is a set of tools that can be used to prepare, assess, and launch large-scale image-based Windows deployments. These tools are also used to test the quality and performance of the operating system and the applications.
Windows 10 ADK can be deployed on many devices, such as desktops, laptops, and Internet of Things (IoT) devices. Windows ADK toolkit is available for platforms that can be used with both screened and screenless devices.
When you download and install Windows ADK, there are other tools you can choose:
- Windows Performance Toolkit
- Windows Assessment Toolkit
- Windows Preinstallation Environment (Windows PE)
- Application Compatibility Tools
- Deployment Tools
- Imaging and Configuration Designer (ICD)
- Configuration Designer
- User State Migration Tool (USMT)
- Microsoft User Experience Virtualization (UE-V)
- Application Virtualization Sequencer (App-V)
- Microsoft Application Virtualization Auto Sequencer
How to Download Windows ADK for Windows 11/10
Windows ADK has two formats – one is for Windows 11/10 Insider Preview users and the other one is public and all users can download it via the Windows ADK page on Microsoft’s website according to their operating system version.
1. Starting with Windows 10 version 1809, the Windows Preinstallation Environment (PE) is released separately from the ADK.
2. Starting with ADK version 22H2 for Windows 11, the 32-bit version of Windows PE is no longer included in the Windows PE add-in.
3. The last supported 32-bit version of Windows PE is available in the Windows PE Add-in for Windows 10, version 2004.
How to download Windows ADK? You can download it from the following sheets based on your operating system version.
Windows Version | Download Link |
Windows 11 |
|
Windows 10 version 2004 |
|
Windows 10 version 1903 |
|
Windows 10 version 1809 |
|
Windows 10 version 1803 | Windows ADK Windows 10 version 1803 |
Windows 10 version 1703 | Windows ADK Windows 10 version 1703 |
Windows 10 version 1603 | Windows ADK Windows 10 version 1603 |
How to Install Windows ADK for Windows 11/10
After downloading Windows ADK, you need to install Windows ADK for Windows 11/10. This part introduces how to do that:
Step 1: Find the Windows ADK exe file and double-click it to start the installation.
Step 2: There are 2 options for you to install ADK:
- Install Windows Assessment and Deployment Kit on this computer
- Download the Windows Assessment and Deployment Kit for installation on a separate computer
Step 3: Select the second option to download Windows ADK offline.
Step 4: On the Windows kits privacy page, click Yes to allow Microsoft to collect insights for the Windows Kits.
Step 5: Accept the license agreement and click Next. Then, it will start the installation.
About The Author
Position: Columnist
She was graduated from the major in English. She has been the MiniTool editor since she was graduated from university. She specializes in writing articles about backing up data & systems, cloning disks, and syncing files, etc. She is also good at writing articles about computer knowledge and computer issues. In daily life, she likes running and going to the amusement park with friends to play some exciting items.
Step-by-Step Guide to Update Windows ADK and WinPE addon on SCCM Server
What is Windows ADK?
The Windows Assessment and Deployment Kit contains set of tools that you need to customize Windows images for large-scale deployment. You can use the tools to test the quality and performance of your system and applications running on it.
Every new release of Windows ADK is better than it’s previous version. It is almost difficult to remember what was added in particular version of ADK. So always refer this article to know what’s new in every version of Windows ADK.
What is Windows PE Add-on for Windows ADK?
Starting with Windows 10, version 1809, Windows Preinstallation Environment (PE) is released separately from the Assessment and Deployment Kit (ADK). To add Windows PE to your ADK installation, download the Windows PE Add-on and run the included installer after installing the ADK.
Windows 10 ADK Features
The Windows ADK includes the following features. While you are installing Windows 10 ADK, you can select the below features to install them.
Note – If you are installing Windows ADK on SCCM Server, you might probably look to select only Deployment Tools and User state migration tool features.
Application Compatibility Tools
Deployment Tools
Windows Preinstallation Environment (Windows PE)
Imaging and Configuration Designer (ICD)
Configuration Designer
User State Migration Tool (USMT)
Volume Activation Management Tool (VAMT)
Windows Performance Toolkit
Windows Assessment Toolkit
Microsoft User Experience Virtualization (UE-V)
Application Virtualization Sequencer (App-V)
Microsoft Application Virtualization Auto Sequencer (App-V)
Media experience Analyzer
Download Windows ADK and WinPE Addon
Before we proceed further let’s download Windows ADK and WinPE addon from the here.
Download the Windows ADK for Windows 10 version 1903 – Direct link Download ADK 1903
Download the Windows PE add-on for the ADK – Download link Download WinPE 1903
Step one
Uninstall Windows ADK, go to program and features and uninstall
Step two
Uninstall WinPE addon
Step three
Install windows ADK. IN my case I have used the option to download the files on a windows 10 computer with internet connection and than used offline option on SCCM server.
Run adksetup.exe and wait for download to finish.
Copy the files on SCCM server and run again ADK, this time in offline mode. Select Deployent tools and USMT.
Step four
Install WinPE add-on, run setup adkwinpesetup.exe offline or online, depends of your SCCM env. In my case I have downloaded the files on my windows 10 machine with free internet access than copied the files on sccm server and run from there offline.
Reboot the server, see official document from Microsft: sccm/osd/get-started/manage-boot-images
Step five
Update Boot Images on DP’s
Very important, after you finish to install Windows ADK you need to updates boot images on Distribution Points.
To update the boot image go to Software Library > Overview > Operating Systems > Boot Images
Right click Boot Image and click Update Distribution Points
Check the box “Reload this boot image with the current Windows PE version from the Windows ADK“. Click Next.
That was all, easy no, happy SCCM-ing !
Businesses that need to deploy Windows in a larger environment often require customization before they can go about their operations and processes. This large-scale deployment is carried out by IT professionals and system administrators on many computers using the toolset, known as the Windows Assessment and Deployment Kit, or simply, Windows ADK.
Microsoft Windows ADK is a collection of tools that you can combine to prepare, assess, and launch image-based large-scale Windows deployments. These tools are also used to test the operating system’s quality and performance, as well as the applications running on it.
The Windows Assessment and Deployment Kit was earlier known as the Windows Automated Installation Kit (WAIK).
Windows ADK can be deployed on a broad range of devices, such as desktops, notebooks, Internet of Things (IoT) devices, etc. This toolkit works across platforms that work with devices with and without screens.
Windows ADK was first introduced in Windows Vista and since then has always been available in the latest Windows operating systems. The tools currently available in Windows ADK have varied through the years, but currently, they include the following:
- Windows System Image Manager
- Windows Preinstallation Environment (WinPE)
- Deployment Image Servicing and Management tool (DISM)
The key advantage of using Windows ADK for IT teams is to apply different tools to test software, drivers, and hardware compatibility before finally moving to Windows 11 or 10.
The Application Compatibility Toolkit, for instance, lets developers and IT professionals test how 32 and 64-bit Windows applications work on a new operating system before the final installation. IT admins can also use Windows ADK to automate large-scale deployments of Windows.
On a high level, Windows ADK has two different formats, which have their own versions. One format is reserved for Windows Insider Preview users. The other format is available publicly and can be downloaded via the Windows ADK page on Microsoft’s website.
The variant available publicly is usually around 2 MB in size and comes in different versions, where each new release of Windows ADK involves new features and product enhancements.
If you want to know about the version history, take a look at the list below:
Windows ADK Versions | Download Links |
Windows ADK for Windows 11 22H2 | Download ADK Download WinPE Addon |
Windows ADK for Windows 11 21H2 | Download ADK Download WinPE Addon |
Windows ADK for Windows 10 version 22H2 | Download ADK Download WinPE Addon |
Windows ADK for Windows 10 version 21H2 | Download ADK Download WinPE Addon |
Windows ADK for Windows 10 version 21H1 | Download ADK Download WinPE Addon |
Windows ADK for Windows 10 version 20H2 | Download ADK Download WinPC Addon |
Windows ADK for Windows 10 version 2004 | Download ADK Download WinPE Addon |
Windows ADK for Windows 10 version 1909 | Download ADK Download WinPE Addon |
Windows ADK for Windows 10 version 1903 | Download ADK Download WinPE Addon |
Windows ADK for Windows 10 version 1809 | Download ADK Download WinPE Addon |
Windows ADK for Windows 10 version 1803 | Download ADK |
Windows ADK for Windows 10 version 1709 | Download ADK |
Windows ADK for Windows 10 version 1703 | Download ADK |
Windows ADK for Windows 10 version 1607 | Download ADK |
Windows ADK for Windows Insider Preview | Download ADK |
The Windows Preinstallation Environment (WinPE) comes as a separate download from the Assessment and Deployment Kit (ADK), before Windows 10 version 1809. To add Windows PE to your ADK installation, you need to download and install the Windows PE add-on after installing the ADK.
When it comes to features, Windows 10 ADK allows you to select specific features at the time of installation. You can pick and choose the exact features you want to include in the toolkit. The options include:
- Application Compatibility Tools
- Deployment Tools
- Windows Preinstallation Environment (Windows PE)
- Imaging and Configuration Designer (ICD)
- Configuration Designer
- User State Migration Tool (USMT)
- Volume Activation Management Tool (VAMT)
- Windows Performance Toolkit
- Windows Assessment Toolkit
- Microsoft User Experience Virtualization (UE-V)
- Application Virtualization Sequencer (App-V)
- Microsoft Application Virtualization Auto Sequencer (App-V)
- Media experience Analyzer
In general, these features let you perform the following functions:
- Add product branding, applications, along with settings
- Keep Windows up to date with the latest updates, language packs, and drivers
- Look for and identify application compatibility
- Perform user data migration between Windows installations
- Manage bulk activation of Windows
How to Install Windows ADK
Since you can only install one version of Windows ADK at a time, you will need to uninstall any existing ADK installation before installing the new one.
Otherwise, you will need to install the new ADK using the command line for multiple ADK versions working on the same computer.
Follow these steps to install Windows ADK using the traditional method:
-
Download the correct ADK version from above.
-
Run the “adksetup.exe” file to start the installation.
-
Now select “Download the Windows Assessment and Deployment Kit for installation on a separate computer” and click Next.
Install ADK on a separate computer -
Select either Yes or No for Windows Kits Privacy and click Next.
Select privacy preferences -
Click Accept to agree to the licensing terms.
Accept license agreement The download process will now start.
-
Once downloaded, close the wizard.
Close the wizard
After the download process is complete, you can move the downloaded files onto the computer on which you want to install Windows ADK.
If you wish to install it on the current computer, then you must select the first option “Install the Windows Assessment and Deployment Kit on this computer” in Step 3 above and then select the components to install.
Download and Install WinPE Add-On
As discussed earlier in the article, starting with Windows 10 ADK version 1809, WinPE is no longer part of the ADK tool. If you wish to get WinPE, follow these steps to download and install the add-on:
Note: The minimum estimated disk space required is 6.0 GB for the WinPE add-on. Hence, it may take longer for the installation to finish than the ADK. The package includes Windows PE(x86), Windows PE (AMD64), Windows PE (ARM), and Windows PE (ARM64).
-
Begin by downloading the WinPE setup file from the links given above for your respective OS version.
-
Run the downloaded “adkwinpesetup.exe” file.
-
The rest of the process is the same as Windows ADK installation.
Windows ADK Validation
To confirm the Windows ADK installation on a device, follow these steps:
-
Open the Programs and Feature applet by typing in “appwiz.cpl” in the Run Command box.
Open Programs and Features -
Check that Windows ADK and Windows PE have been installed.
Windows ADK has been installed
Conclusion
In order to deploy Windows OS on a large scale, you need a Windows Assessment and Deployment Kit. This article covers the basics of the Windows ADK toolkit, its download links directly from Microsoft, and how to install it.
You can also use this tool and its add-on in conjunction with Windows Deployment Server to level up your automation and operations.
Also see:
Subhan Zafar is an established IT professional with interests in Windows and Server infrastructure testing and research, and is currently working with Itechtics as a research consultant. He has studied Electrical Engineering and is also certified by Huawei (HCNA & HCNP Routing and Switching).
Сисадмину или мастеру сервисного центра, да и просто в хозяйстве на всякий случай помогает в работе загрузочная флешка с набором полезных программ, и в интернете можно найти полно готовых решений с «кучей» софта на все случаи в жизни. Но каждый, кто пользовался чужими готовыми вариантами LiveCD, рано или поздно задумывался о том, что по факту используется лишь малая часть приложений. Весь же остальной ненужный груз софта, который порой может составлять более 98% всего набора LiveCD, лишь мешает работать. Почему? Потому что LiveCD загружается прямиком в оперативную память, и чем больше объем LiveCD, тем больше ожидания загрузки, а если ещё и попался древний компьютер, то LiveCD может и вовсе не загрузится от нехватки памяти. И что же делать? Сделать свой собственный LiveCD! В этой статье я расскажу то, чего вы не найдете даже в гугле.
Начиная читать эту статью, можно подумать, что в интернете есть полно инструкций как это сделать, но не всё так просто. В этих инструкциях либо чего-то не хватает (как будто намеренно), либо наоборот наворочено очень много ненужного и непонятно что из этого можно было бы убрать, либо инструкции устарели и не работают на последних версиях Windows PE. Но самое главное, с чем я регулярно сталкиваюсь, так это с тем, что в инструкциях написано всё на столько кратко, что в них не всегда разберется даже продвинутый пользователь, и в редких случаях даже я, специалист с опытом, не с первого раза понимаю, что имел в виду автор. Я понимаю, что это сделано, чтобы отсеять всех, кроме просвещенных, но тогда зачем вообще писать такие инструкции, где ничего непонятно, из-за которых приходится перечитать лишние 100 статей, потратить лишние 2 недели на проверку в практике, ради того, чтобы выяснить какую-то мелочь, которую могли написать в трех предложениях. Так что в какой-то степени эта инструкция на зло всем тем, кто пожадничал и не написал несколько лишних строк.
Даже если вы найдёте какую-то инструкцию по этой теме, то не факт, что она будет подробна и понятна, особенно учитывая, как быстро всё меняется и устаревает.
Небольшой спойлер, загуглите запрос IConflictInterrupt и вы не найдете в интернете ни одной статьи или инструкции, а это один из ключевых моментов в работе функционала окна процесса копирования/перемещения/удаления файлов, без которой не так удобно использовать Windows PE. Что делает эту статью уникальной и крайне полезной.
В этой статье я ОЧЕНЬ ПОДРОБНО расскажу, как собрать Windows PE с минимальным набором самых нужных функций без лишнего хлама. Я намеренно написал даже некоторые почти примитивные шаги, дабы любой новичок мог быстро освоиться. Так что не кидайте тапками за занудность (:
Предисловие
Я начал этот путь ещё со времен Windows 98, когда уже в те времена иногда требовалось выгрузить данные с ПК, у которого не загружалась ОС. Флешки в тот период уже были, хоть и не были распространены, т.к. были очень дорогие. Загрузить с них минимальную Windows 98 было не так просто, потому что Windows 98 не умела загружаться с внешних накопителей, и приходилось самому писать драйвер с указанием серийного номера флешки, чтобы именно эта флешка воспринималась операционной системой как жёсткий диск. Даже несмотря на это, ОС не загружалась, если объем оперативной памяти превышал 512Мб.
Потом, конечно, вышла Windows 2000/XP, и ситуация в корне изменилась, появлялись готовые решения вроде Hiren (DOS+Windows XP), которые уже на тот момент работали очень медленно. Например, у Hiren виртуальная img FDD весила аш ~41Мб и могла загружаться по более 30-40 минут на особо медленных ПК с USB1.0.
Уже в те времена готовые решения работали не так как хотелось и имели в арсенале полно ненужных приложений. Тогда-то я и начал для своих личных нужд активно собирать свои собственные LiveCD на DOS и Windows. Когда мой img FDD весил всего около 2Мб вместо 41Мб у Hiren, и вмещал всё необходимое (MHDD, Victoria, Volkov Commander и немного мелочи), с годами туда конечно добавились DiscGenius, HWinfo и некоторые другие, но суть остаётся прежней, в арсенале только самое нужное, лёгкое и быстро загружающееся.
Времена идут и Microsoft достаточно часто выпускает новые версии Windows 10, а теперь ещё и Windows 11. После почти каждого выхода новой версии ОС приходится создавать новый образ, т.к. только он имеет нативную поддержку нового железа. Например, встречаются современные ноутбуки, у которых даже сенсорная панель не работает на старых версиях Windows 10 PE, не говоря уже о сенсорных экранах.
Я расскажу, как сделать образ на основе Windows 10 1507 x32 и Windows 10 21H2 x64. Почему такой разброс в версиях? Потому что версия x32 нужна как правило для старых устройств с минимальными ресурсами, а версия Windows 10 1507 является самой лёгкой по объему и запустится везде, где только можно, особенно на планшетах с ЦП Intel, у которых нет поддержки x64. Почему именно версия 1507 x32, а не 21H2 x32? Потому что опыт показывает что устройства, как правило планшеты и трансформеры, у которых нет поддержки x64, вышли во время Windows 8 (2012-2015год), и некоторые из этих устройств не способны загрузить последние версии Windows 10 21H2 x32 (как минимум на стоковых версиях UEFI), потому что предназначались для Windows 8, но они все без исключения (по моему опыту) отлично загружают Windows 10 1507 x32. Версия Windows 10 21H2 x64 нужна для современных устройств и тут уже НУЖНО выбирать только самую последнюю версию Windows PE. Перед написанием статьи я применил свою же инструкцию к Windows 11 PE (22000.XXX) и всё замечательно работает, так что в дальнейших шагах вместо Windows 10 21H2 x64 можете смело использовать Windows 11 (22000.XXX).
Итак, начнём.
I. Подготовительный этап
1. Windows ADK
Для начала нам понадобится скачать и установить комплект средств для развертывания и оценки для Windows ADK.
Во время установки при выборе компонентов достаточно выбрать лишь средства развертывания (Система обслуживания образов и развертывания и управления или (DISM)).
Примечание: у Microsoft имеется надстройка Windows PE для Windows ADK, где имеются дополнительные компоненты для интеграции в Windows PE, но нам эти компоненты не понадобятся, однако, как их установить я тоже ниже распишу, так что если интересно, то можете скачать и дополнительно установить надстройку Windows PE для Windows ADK. Скачать её можно на той же странице что указана выше.
2. Дерево каталогов
Необходимо создать каталоги, в которой будут проходить все работы. У каждого свои предпочтения по используемому диску D, E, F и т.д., так что я буду на примере диска C, а там уже делайте как вам удобно. Нам нужны будут следующие каталоги, но дабы не утруждать себя их созданием вручную, введите следующие команды в командную строку, запущенную от имени администратора:
mkdir "C:BuildPEAddFilesx32Program Files"
mkdir "C:BuildPEAddFilesx32WindowsSystem32"
mkdir "C:BuildPEAddFilesx64Program Files"
mkdir "C:BuildPEAddFilesx64WindowsSystem32"
mkdir "C:BuildPECOMPLETE32"
mkdir "C:BuildPECOMPLETE64"
mkdir "C:BuildPEISO"
mkdir "C:BuildPEMount"
mkdir "C:BuildPEoriginalWIMx32"
mkdir "C:BuildPEoriginalWIMx64"
mkdir "C:BuildPEutil"
На выходе у вас будет готово дерево каталогов для дальнейших шагов.
3. Свой софт
Для каждого набор приложений индивидуален, я же буду расписывать свой вариант как пример, а вы можете его как пополнить, так и убавить. Windows PE x64 имеет поддержку ТОЛЬКО x64 приложений, и запустить x32 она не сможет без добавления дополнительных файлов для их поддержки, но раз уж мы делаем легкий образ, то поддержку x32 мы обеспечивать не будем, а это значит, что потребуется скачать только x64 приложения для x64 образа, и x32 приложения только для x32 образа. Я не буду оглашать весь список своих приложений, если вы понимаете о чем я :), но вот базовая часть:
У ниже указанных программ есть как x64, так и x32 версии, нам нужны обе:
- 7-Zip
- Autoruns
- CLaunch
- Explorer++ (Языковые пакеты можете найти на странице релизов GitHub нужен лишь .dll файл рядом с .exe файлом программы)
- HWiNFO
- Notepad++
- ProcessExplorer
- produkey
- WinXShell
Эксклюзивно для x32:
- ExplorerXP
- Victoria
Вы можете обратить внимание, что в списке присутствует CLaunch как альтернатива меню Пуск, и WinXShell как альтернатива всей графической оболочке explorer, в которой есть своё меню Пуск. Так зачем же два меню пуск? Дело в том, что наличие WinXShell в образе — это просто запас, на случай если остро необходима панель задач в то время, когда открыто множество окон, в которых можно потеряться, не имея панели задач. При этом если используется лишь одно окно, например для диагностики жесткого диска через Victoria, или для определения конфигурации ПК через HWiNFO, то достаточно одного окна без необходимости включать графический интерфейс. К тому же если на компе поврежденный жесткий диск, то лучше, чтобы было включено как можно меньше программ, которые обращаются к жесткому диску, а WinXShell как минимум строит дерево каталогов всех накопителей, что уже плохо в таком сценарии.
Почти все те программы что я выбрал (за исключением, например, Victoria и ExplorerXP), имеют как x32, так и x64 версии, но самое главное, что они не требовательны к наличию NetFX, который достаточно тяжелый. Если же ваш софт требует NetFX или какой-либо другой компонент, то придётся всё-таки его интегрировать, от чего образ значительно вырастет в объеме, но если это нужно, то почему бы и нет, главное, что не бесполезным софтом, а тем, что действительно нужно.
4. Подготовка софта
Не все вышеуказанные программы имеют portable версии, ваша задача получить каталог с программой — это можно сделать распаковкой установочного файла, как в случае с 7-Zip (через 7-Zip открыть дистрибутив 7-Zip, чтобы извлечь 7-Zip), или инсталировать программу на свой ПК, а потом скопировать целиком каталог с программой в отдельный каталог для дальнейшего копирования в образ:
Программы x32 для Windows 10 1507 x32 перемещаем в C:BuildPEAddFilesx32Program Files
Программы x64 для Windows 10 21H2 x64 перемещаем в C:BuildPEAddFilesx64Program Files
Немного подсказок:
WinXShell — в этой программе я удаляю китайский язык (файлы WinXShell.zh-CN.jcfg и WinXShell.zh-CN.lua) и переименовываю WinXShell_x86.exe в WinXShell.exe, аналогично и с x64, а также удаляю файл wxsStub32.dll для версии x64, а для x32 удаляю wxsStub.dll.
CLaunch — отличная альтернатива меню Пуск для ОС, у которой нет ничего кроме CMD, и дабы эта альтернатива работала как надо, то необходимо присвоить ей горячую клавишу для вызова (в моём случае Win+Z, т.к. просто Win будет использоваться для WinXShell). Настроить CLaunch можно и на своей ОС, а потом перекинуть файл с настройками в Windows PE для дальнейшей ДОнастройки, но, чтобы вас лишний раз не утруждать, и как минимум дать стартовый вариант настроек этой программы, я подготовил готовый комплект файлов, но о нём чуть ниже.
Получив набор каталогов с программами очень важно очистить их от лишнего (для достижения малого объема образа на выходе), поэтому можно смело удалять деинсталляционные файлы, лишние языки, скины, плагины и всё то, что 100% не понадобится в работе. Некоторые из этих программ требуют настройки, но об этом чуть позже. Желательно пока их даже не запускать дабы внутри программ не создавались лишние файлы настроек и т.д.
В моём образе Explorer++ хранится прямо в папке System32:
C:BuildPEAddFilesx64WindowsSystem32Explorer++.exe
C:BuildPEAddFilesx64WindowsSystem32Explorer++RU.dll
Советую сохранить Explorer++ в том же месте, т.к. его удобно вызывать из командной строки, а также мои настройки, которые вы встретите в следующих пунктах рассчитаны на то, что он будет находится именно в System32. Когда освоитесь, можете сменить ему местоположение изменив параметры в реестре, CLaunch и ярлык для WinXShell.
5. Скачать инструменты и оригинальный дистрибутив ОС
Оригинальное средство Microsoft для скачивания образа Windows — MediaCreationTool, не умеет скачивать старые версии Windows, и качает лишь последнюю поддерживаемую Microsoft, нам такая и нужна, но нам нужна ещё и самая первая версия Windows 10 1507, которую без труда можно скачать с торрентов с помощью удобного средства, которое уже обсуждалось здесь на хабре, или сразу на GitHub. Качаем с помощью него Windows 10 21H2 x64 и Windows 10 1507 x32 — нам нужны ISO файлы, а не запись на DVD или флешку.
Для работы нам также потребуются следующие программы:
- 7-Zip.
- Блокнот или любой другой текстовый редактор, в моём случае Notepad++.
- Редактор ISO файлов, в моём случае UltraISO.
- offlinereg необязателен, но желателен
Архив с программой offlinereg можно распаковать в C:BuildPEutil
5. Подготовка WIM файлов
Чтобы сделать свой вариант Widnows PE, нам нужен оригинальный образ, который можно взять из скачанных ISO дистрибутивов.
Через 7-Zip или проводник откройте скачанные два ISO файла (Windows 10 1507 x32 и Windows 10 21H2 x64), откройте папку sources и извлеките из него файл boot.wim:
Из образа Windows 10 1507 x32 в папку C:BuildPEoriginalWIMx32
Из образа Windows 10 21H2 x64 в папку C:BuildPEoriginalWIMx64
6. Подготовка файлов ОС
Оригинальная Windows PE не имеет очень важных файлов, без которых не работает диалоговое окно копирования файлов, не работает Drag&Drop и многие другие функции, включая даже те программы, что мы скачали ранее, они не запустятся без некоторых файлов ОС. Наша задача дополнить ОС нужными файлами. Через 7-Zip откройте скачанные два ISO файла (Windows 10 1507 x32 и Windows 10 21H2 x64), откройте папку sources и прямо в архиваторе откройте файл install.wim или install.esd — формат неважен. Форматы .wim или .esd встречается в разных образах, в одном может быть .wim, в другом .esd, но сути не меняет — это просто архив с ОС.
Внутри архива install как правило должно быть несколько папок с номерами — это разные редакции ОС (Home, Single Language, Pro и т.д.), в каждой редакции имеется полный набор файлов ОС с незначительными отличиями в наборе функционала. Не важно какую именно редакцию вы откроете, потому что набор нужных нам файлов есть в каждом из них.
В архиве переходим в папку install.esd1WindowsSystem32 из которого нужно выгрузить только определенные файлы.
Из образа Windows 10 1507 x32 извлекаем следующие файлы в папку C:BuildPEAddFilesx32WindowsSystem32:
en-USshellstyle.dll.mui
ru-RUexplorerframe.dll.mui
ru-RUole32.dll.mui
ru-RUoledlg.dll.mui
ru-RUshell32.dll.mui
ru-RUtaskkill.exe.mui
ru-RUtwinapi.appcore.dll.mui
ru-RUtwinapi.dll.mui
ru-RUtwinui.appcore.dll.mui
ru-RUtwinui.dll.mui
actxprxy.dll
chartv.dll
d3d11.dll
DataExchange.dll
dcomp.dll
ddraw.dll
DXCore.dll (этого файла нет в версии 1507, но его можно взять из свежих версий Windows 10, например 21H2)
dxgi.dll
ExplorerFrame.dll
glu32.dll
ksuser.dll
oledlg.dll
opengl32.dll
pdh.dll
pdhui.dll
shellstyle.dll
shfolder.dll
taskkill.exe
thumbcache.dll
timeout.exe
twinapi.appcore.dll
twinapi.dll
twinui.appcore.dll
twinui.dll
Из образа Windows 10 21H2 x64 извлекаем следующие файлы в папку C:BuildPEAddFilesx64WindowsSystem32:
en-USshellstyle.dll.mui
ru-RUexplorerframe.dll.mui
ru-RUole32.dll.mui
ru-RUoledlg.dll.mui
ru-RUshell32.dll.mui
ru-RUtaskkill.exe.mui
ru-RUtwinapi.appcore.dll.mui
ru-RUtwinapi.dll.mui
ru-RUtwinui.appcore.dll.mui
ru-RUtwinui.dll.mui
actxprxy.dll
chartv.dll
d3d11.dll
DataExchange.dll
dcomp.dll
dxgi.dll
ExplorerFrame.dll
glu32.dll
ksuser.dll
oledlg.dll
OneCoreUAPCommonProxyStub.dll
opengl32.dll
pdh.dll
pdhui.dll
shellstyle.dll
shfolder.dll
taskkill.exe
thumbcache.dll
timeout.exe
twinapi.appcore.dll
twinapi.dll
twinui.appcore.dll
twinui.dll
7. Подготовка ISO
В виртуальной машине мы будем тестировать наши образы Windows PE, но чтобы запустить виртуальную машину, нужно подключить к ней ISO файл со своей Windows PE. Физически невозможно с первого раза создать идеальную Windows PE, т.к. не будут готовы ни ярлыки программам, ни настройки программ, которые делаются после первого запуска Windows PE, потом извлекаются и вносятся во вторую версию, которая уже, может быть, релизной при идеальных обстоятельствах. Каждый раз редактировать тяжелый ISO образ с полноценной ОС — это отнимает больше времени, проще сделать отдельные ISO файлы для дальнейшего неоднократного редактирования, в которых не будет дистрибутива ОС. Через UltraISO открываем скачанные ISO файлы Windows 10 1507 x32 и Windows 10 21H2 x64 и полностью очищаем папку sources. В будущем мы добавим в неё уже отредактированный файл boot.wim. А пока что очищенные ISO файлы сохраняем в папку C:BuildPEISO с именами, например, MyPE1507x32.iso и MyPE21H2x64.iso.
8. Подготовка файла реестра
Некоторые извлеченные файлы из оригинальной ОС не будут работать без определённых ключей в реестре, так что эти файлы бесполезны пока не будут зарегистрированы в реестре и не только (нужно ещё прописать некоторые CLSID и Interface).
Качаем мой набор файлов с github и помещаем содержимое архива в C:BuildPEAddFiles, чтобы каталоги x32 и x64 слились с теми, что были в архиве.
В этом же наборе будут настроенные CLaunch (о чем я писал выше), Explorer++, startnet.cmd, а также пара батников для удобства.
В обоих вариантах (x64 и x32) у нас следующий набор файлов:
Файлы настроек CLaunch:
Program FilesCLaunchDataСИСТЕМАClassic.csd
Program FilesCLaunchDataСИСТЕМАCLaunch.ini
Program FilesCLaunchDataСИСТЕМАClIcons.bin
Program FilesCLaunchDataСИСТЕМАDesign.ini
Ярлыки программ для меню пуск WinXShell:
ProgramDataMicrosoftWindowsStart Menu7zFM.lnk
ProgramDataMicrosoftWindowsStart MenuAutoruns.lnk
ProgramDataMicrosoftWindowsStart MenuExplorer++.lnk
ProgramDataMicrosoftWindowsStart MenuHWiNFO32.lnk
ProgramDataMicrosoftWindowsStart Menuprocexp.lnk
ProgramDataMicrosoftWindowsStart MenuProduKey.lnk
ProgramDataMicrosoftWindowsStart MenuProgramscmd.lnk
ProgramDataMicrosoftWindowsStart MenuProgramsMdSched.lnk
ProgramDataMicrosoftWindowsStart MenuProgramsnotepad.lnk
ProgramDataMicrosoftWindowsStart MenuProgramsregedit.lnk
ProgramDataMicrosoftWindowsStart MenuProgramstaskmgr.lnk
Ярлыки программ для меню пуск WinXShell эксклюзивно для x32, т.к. этих программ нет в x64 версии:
ProgramDataMicrosoftWindowsStart MenuVictoria.lnk
ProgramDataMicrosoftWindowsStart MenuExplorerXP.lnk
Файлы System32:
WindowsSystem32config.xml — файл настроек Explorer++
WindowsSystem32spectraconfig.reg — файл реестра, который настроит ОС и который активирует работу диалоговых окон прогресса копирования и не только
WindowsSystem32startnet.cmd — файл, который Windows PE запустит сразу после запуска, этот файл применит файл реестра, а также запустит CLaunch для удобного запуска своих приложений
WindowsSystem32UI.bat — удобный запуск WinXShell через командную строку при необходимости
По поводу файла startnet.cmd — он уже настроен так, чтобы при запуске показать основные характеристики железа, на котором запущена Windows PE, для стартового понимания за каким железом приходится работать, без необходимости включать HWiNFO. Вы можете обратить внимание что в startnet.cmd какие-то кракозябры, а не кириллица. Дело в том, что если вы хотите, чтобы командная строка показывала вам кириллицу, то нужно перед редактированием этого файла сменить кодировку на OEM 866 (в Notepad++ это: Кодировки > Кириллица > OEM 866), и только после этого набирать текст русскими буквами, в противном случае, не сменив кодировку и написав на кириллице, в cmd вы увидите кракозябры.
Что касаемо файла spectraconfig.reg — он тут ключевой, без него не будут работать Drag&Drop и диалоговые окна проводника. Из-за его длины, я не стал писать его содержимое в теле статьи, к тому же две версии этого файла (x64 и x32), а вывел его на отдельный ресурс, но объяснить его строение вам всё-таки нужно. Для тех, кому интересно, информация ниже в спойлере:
Путеводитель по spectraconfig.reg
Начну с конца файла:
Внутри комментария «Каталог по умолчанию для пользователя СИСТЕМА X:UsersDefault» имеются ключи реестра для переназначения папок пользователя по умолчанию. В Windows PE используется пользователь СИСТЕМА, который хранится в каталоге пользователя WindowsSystem32configsystemprofile, где должен быть каталог Desktop и остальные (которых нет), и без этих каталогов программы выдают ошибки, пытаясь обратиться к несуществующим каталогам, например, к Desktop, чтобы отобразить его в дереве каталогов. Поэтому я сменил путь к пользовательским папкам с %userprofile%Desktop (коим является фактический путь X:WindowsSystem32configsystemprofileDesktop) на X:UsersDefaultDesktop, и по образу и подобию остальные папки пользователя.
Внутри комментария «Твики для удобства» и так всё понятно, т.к. я прокомментировал их в .reg файле. Но как пример, пункт «Отобразить значок „Этот компьютер“ на рабочем столе» очень полезен для WinXShell, чтобы при его включении значок «Этот компьютер» был на своём месте.
Внутри комментария «Ассоциация с 7z» я добавил 7-Zip в качестве приложения по умолчанию для всех типов архивов, которые поддерживает 7-Zip.
Внутри комментария «Notepad++» всё аналогично, как и в 7-Zip. В x32 версию PE я не интегрировал Notepad++ и там нет ассоциации с Notepad++.
Комментарий «Explorer++ проводник по умолчанию» говорит сам за себя).
Внутри комментария «Drag&Drop и окна проводника» я добавил поддержку тем самых полезных функций, без которых Windows PE использовать очень неудобно. Подробнее о них в спойлере ниже.
Я прекрасно понимаю, что статья устареет и для новых версий Windows 10/11 она может быть неактуальной, поэтому для тех, кто хочет понять суть того, как включить Drag&Drop и диалоговые окна проводника, я расскажу по подробней в спойлере:
Как включить Drag&Drop и диалоговые окна проводника
Есть определённые диалоговые окна, например окно процесса копирования/перемещения/удаления файлов. Я постараюсь примитивным языком объяснить, как это работает. Что есть это окно? Это не часть приложения explorer.exe, это какое-то окно, которое хранится в каком-то .dll файла, но даже если вы этот .dll файл скопируете в свою Windows PE, то ОС не будет знать, что с ним делать, почему? Потому что в этом файле есть десятки, а то и сотни, если не тысячи разных окон для разных целей. Нужно дать понять Windows PE что имеется в этом файле. Это делается в 3 этапа:
- Устанавливаем на локальный компьютер или виртуальную машину самую свежую версию ОС Windows 10, открываем реестр и для удобства делаем в файлы .reg экспорт двух веток:
HKEY_LOCAL_MACHINESOFTWAREClassesCLSID
HKEY_LOCAL_MACHINESOFTWAREClassesInterface
На выходе будет два файла .reg которые можно открыть через Notepad++ и выполнять поиск нужных ключей. - Находясь в реестре или в Notepad++ (я использую Notepad++ потому что через него удобно копировать ветку, и нет необходимости экспортировать в файл, потом открывать его и копировать…), поочередно запускаем поиск нужных нам Interface (если вы работаете через Notepad++ то вам нужен тот .reg файл который вы экспортировали из ветки HKEY_LOCAL_MACHINESOFTWAREClassesInterface):
IInterruptedOperationHandler
IFileOperationProgressSink
IOperationsProgressDialog
IOperationStatusTile
IOperationStatusService
IOperationStatusSink
IOperationInterrupt
IObjectWithCachedState
IConflictInterruptИ находим следующие ветки с их содержимым:
[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{036B4FC7-6A11-4C07-8046-22D268C37721}]
@="IInterruptedOperationHandler"
[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{036B4FC7-6A11-4C07-8046-22D268C37721}ProxyStubClsid32]
@="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{04B0F1A7-9490-44BC-96E1-4296A31252E2}]
@="IFileOperationProgressSink"
[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{04B0F1A7-9490-44BC-96E1-4296A31252E2}ProxyStubClsid32]
@="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{0C9FB851-E5C9-43EB-A370-F0677B13874C}]
@="IOperationsProgressDialog"
[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{0C9FB851-E5C9-43EB-A370-F0677B13874C}ProxyStubClsid32]
@="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{4AE7498C-E1C0-475F-8573-41C26127C5D8}]
@="IOperationStatusTile"
[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{4AE7498C-E1C0-475F-8573-41C26127C5D8}ProxyStubClsid32]
@="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{6D5174EC-F425-4CD9-8643-CF36042987F1}]
@="IOperationStatusService"
[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{6D5174EC-F425-4CD9-8643-CF36042987F1}ProxyStubClsid32]
@="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{9BE5F0C8-774A-4070-9C9E-0627765E6C61}]
@="IOperationStatusSink"
[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{9BE5F0C8-774A-4070-9C9E-0627765E6C61}ProxyStubClsid32]
@="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{6FAF1156-8855-47B5-BDC8-4555D13C095F}]
@="IConflictInterrupt"
[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{6FAF1156-8855-47B5-BDC8-4555D13C095F}ProxyStubClsid32]
@="{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{8F45EF43-0585-4881-A90D-F55D35CE7797}]
@="IOperationInterrupt"
[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{8F45EF43-0585-4881-A90D-F55D35CE7797}ProxyStubClsid32]
@="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{CD17328B-E4EF-4215-A92D-62A914658F82}]
@="IObjectWithCachedState"
[HKEY_LOCAL_MACHINESOFTWAREClassesInterface{CD17328B-E4EF-4215-A92D-62A914658F82}ProxyStubClsid32]
@="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"Вы можете обратить внимание, что все эти Interface ссылаются на два CLSID: {95E15D0A-66E6-93D9-C53C-76E6219D3341} и {C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}. В версии x32 только лишь {C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}.
- Находясь в реестре или в Notepad++, открываем две ветки тех CLSID, на которые ссылались предыдущие пункты, и находим следующее:
[HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{95E15D0A-66E6-93D9-C53C-76E6219D3341}]
@="PSFactoryBuffer"
[HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{95E15D0A-66E6-93D9-C53C-76E6219D3341}InProcServer32]
@="C:\Windows\System32\OneCoreUAPCommonProxyStub.dll"
"ThreadingModel"="Both"[HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}]
@="PSFactoryBuffer"
[HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}InProcServer32]
@="X:\Windows\System32\ActXPrxy.dll"
"ThreadingModel"="Both"
В итоге нам известны нужные нам файлы для извлечения из полноценной ОС в Windows PE, а так же у нас есть куски реестра которые нужно внести в Windows PE.
Так вот, в будущем, могут изменится адреса, например, IOperationStatusService располагался по адресу {0C3C904A-AD89-4851-9C3D-210C080CEE18}, потом уже {61A969EF-64EA-4C48-BBF5-EEDE3B32BF86}, а сейчас {6D5174EC-F425-4CD9-8643-CF36042987F1}. И если он снова изменится, то вам нужно в реестре запустить поиск IOperationStatusService и найти его по новому адресу, который потребуется вписать вместо того, что указан у меня. Тоже самое касается и остальных. Но и это не всё. Вы можете обратить внимание что все перечисленные Interface (за исключением IConflictInterrupt) ссылаются на CLSID{95E15D0A-66E6-93D9-C53C-76E6219D3341}, к которому привязан файл OneCoreUAPCommonProxyStub.dll, а в следующей версии там может быть другой файл, или наоборот, файл тот же, но адрес CLSID уже быть другой, или и файл новый, и адрес. Так что не теряйтесь и ищите если что-то изменилось. Но в худшем случае, может потребоваться новый Interface которого нет в моём списке, тогда уже есть небольшая проблема, найти его будет не просто. И тут остаётся или гуглить, или искать методом тыка. Есть ещё более правильный вариант, зная на какой .dll файл ссылаются Interface, раньше можно было вскрыть файл через программу Resource Hacker или Restorator, и в нём найти все варианты диалоговых окон с их описанием, но, сейчас эти программы не могут вскрыть файлы последних ОС, других программ я не гуглил, да и сам я уже стар для таких расследований.
Интересный факт: если вы загуглите IConflictInterrupt, то
не найдёте ни одной статьи
с упоминанием этого файла (гугл показывает всего одну ссылку на страницу с упоминанием этой строки в .dll файле), а без него, между прочим, не открывается окно замены файлов с одинаковыми именами, и если не прописать IConflictInterrupt, то при конфликте файлов с одинаковыми именами на экране ничего не произойдёт, ОС просто проигнорирует ваш запрос на копирование файлов. Так что IConflictInterrupt очень важен, как минимум его наличие здесь, делает эту статью уникальной.
Немного справки по файлам .dll и реестру:
Для функционирования Drag&Drop обязательно требуются файлы twinapi.dll и DataExchange.dll, CLSID с привязкой к этим .dll, и ключ реестра DragDropExtension.
Для функционирования приложений которые мы собираемся интегрировать в Widnows PE, а также окна прогресса копирования/удаления/перемещения файлов включая окна замены/пропуска файлов с одинаковыми именами обязательно требуются, CLSID с привязкой к .dll и Interface указанные выше, а также почти все те файлы что я указал в начале статьи, возможно, я переборщил и пару «уже ненужных» файлов всё ещё копирую из основной ОС в Widnows PE, и честно признаюсь что не проверял работоспособность нужных мне функций ОС без тех или иных файлов, а всё потому что, что бы проверить это, надо выпилить один файлик, а потом провести проверочных работ на 20 минут, и так с каждым файлом, на что у меня просто нет времени.
9. Подготовка файла редактирования реестра
Этот пункт можно пропустить, он лишь для подстраховки. Лично мне спокойней, когда ряд параметров реестра изменены до включения ОС. Поэтому я вношу самые важные изменения реестра ещё до первого запуска.
Для этого создаём два текстовых файла (для x32 и x64 по отдельности) и вписываем туда следующее:
regexportX64.txt
ClassesCLSID{07fc2b94-5285-417e-8ac3-c2ce5240b0fa}InProcServer32 setvalue " " "X:WindowsSystem32twinapi.appcore.dll"
ClassesCLSID{07fc2b94-5285-417e-8ac3-c2ce5240b0fa}InProcServer32 setvalue "ThreadingModel" "Both"
ClassesCLSID{34568a1f-8d5a-4080-99c7-464e2cb40008} setvalue " " "PSFactoryBuffer"
ClassesCLSID{34568a1f-8d5a-4080-99c7-464e2cb40008}InProcServer32 setvalue " " "X:WindowsSystem32twinapi.appcore.dll"
ClassesCLSID{34568a1f-8d5a-4080-99c7-464e2cb40008}InProcServer32 setvalue "ThreadingModel" "Both"
ClassesCLSID{53067330-01CE-4027-947F-FF8580E92463}InProcServer32 setvalue " " "X:WindowsSystem32twinapi.appcore.dll"
ClassesCLSID{53067330-01CE-4027-947F-FF8580E92463}InProcServer32 setvalue "ThreadingModel" "Both"
ClassesCLSID{6B273FC5-61FD-4918-95A2-C3B5E9D7F581}InProcServer32 setvalue " " "X:WindowsSystem32twinapi.appcore.dll"
ClassesCLSID{6B273FC5-61FD-4918-95A2-C3B5E9D7F581}InProcServer32 setvalue "ThreadingModel" "Both"
ClassesCLSID{A1103531-6B1C-425F-A8C9-671616E40FA9}InProcHandler32 setvalue " " "X:WindowsSystem32twinapi.appcore.dll"
ClassesCLSID{B1AEC16F-2383-4852-B0E9-8F0B1DC66B4D}InProcServer32 setvalue " " "X:WindowsSystem32twinapi.appcore.dll"
ClassesCLSID{B1AEC16F-2383-4852-B0E9-8F0B1DC66B4D}InProcServer32 setvalue "ThreadingModel" "Both"
ClassesCLSID{D648FEA1-EA00-4FF4-B8BD-034BD2B25A23}InProcServer32 setvalue " " "X:WindowsSystem32twinapi.appcore.dll"
ClassesCLSID{D648FEA1-EA00-4FF4-B8BD-034BD2B25A23}InProcServer32 setvalue "ThreadingModel" "Both"
ClassesCLSID{958a6fb5-dcb2-4faf-aafd-7fb054ad1a3b}InProcServer32 setvalue " " "X:WindowsSystem32twinapi.dll"
ClassesCLSID{958a6fb5-dcb2-4faf-aafd-7fb054ad1a3b}InProcServer32 setvalue "ThreadingModel" "Apartment"
ClassesCLSID{B52D54BB-4818-4EB9-AA80-F9EACD371DF8} setvalue " " "Windows Search Platform"
ClassesCLSID{50EF4544-AC9F-4A8E-B21B-8A26180DB13F} setvalue " " "Local Thumbnail Cache"
ClassesCLSID{50EF4544-AC9F-4A8E-B21B-8A26180DB13F}InprocServer32 setvalue " " "X:WindowsSystem32thumbcache.dll"
ClassesCLSID{50EF4544-AC9F-4A8E-B21B-8A26180DB13F}InprocServer32 setvalue "ThreadingModel" "Both"
ClassesCLSID{2155fee3-2419-4373-b102-6843707eb41f} setvalue " " "CLSID_LocalIconCache"
ClassesCLSID{2155fee3-2419-4373-b102-6843707eb41f}InProcServer32 setvalue " " "X:WindowsSystem32thumbcache.dll"
ClassesCLSID{2155fee3-2419-4373-b102-6843707eb41f}InProcServer32 setvalue "ThreadingModel" "Both"
ClassesCLSID{7efc002a-071f-4ce7-b265-f4b4263d2fd2} setvalue " " "CLSID_UIThreadThumbnailCache"
ClassesCLSID{7efc002a-071f-4ce7-b265-f4b4263d2fd2}InProcServer32 setvalue " " "X:WindowsSystem32thumbcache.dll"
ClassesCLSID{7efc002a-071f-4ce7-b265-f4b4263d2fd2}InProcServer32 setvalue "ThreadingModel" "Both"
ClassesCLSID{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6} setvalue " " "PSFactoryBuffer"
ClassesCLSID{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}InProcServer32 setvalue " " "X:WindowsSystem32ActXPrxy.dll"
ClassesCLSID{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}InProcServer32 setvalue "ThreadingModel" "Both"
ClassesCLSID{AE054212-3535-4430-83ED-D501AA6680E6} setvalue " " "Shell Name Space ListView"
ClassesCLSID{AE054212-3535-4430-83ED-D501AA6680E6}InProcServer32 setvalue " " "%SystemRoot%System32explorerframe.dll"
ClassesCLSID{AE054212-3535-4430-83ED-D501AA6680E6}InProcServer32 setvalue "ThreadingModel" "Apartment"
ClassesCLSID{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}InProcServer32 setvalue " " "%SystemRoot%System32dataexchange.dll"
ClassesCLSID{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}InProcServer32 setvalue "ThreadingModel" "Both"
ClassesInterface{036B4FC7-6A11-4C07-8046-22D268C37721} setvalue " " "IInterruptedOperationHandler"
ClassesInterface{036B4FC7-6A11-4C07-8046-22D268C37721}ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
ClassesInterface{04B0F1A7-9490-44BC-96E1-4296A31252E2} setvalue " " "IFileOperationProgressSink"
ClassesInterface{04B0F1A7-9490-44BC-96E1-4296A31252E2}ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
ClassesInterface{0C9FB851-E5C9-43EB-A370-F0677B13874C} setvalue " " "IOperationsProgressDialog"
ClassesInterface{0C9FB851-E5C9-43EB-A370-F0677B13874C}ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
ClassesInterface{4AE7498C-E1C0-475F-8573-41C26127C5D8} setvalue " " "IOperationStatusTile"
ClassesInterface{4AE7498C-E1C0-475F-8573-41C26127C5D8}ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
ClassesInterface{6D5174EC-F425-4CD9-8643-CF36042987F1} setvalue " " "IOperationStatusService"
ClassesInterface{6D5174EC-F425-4CD9-8643-CF36042987F1}ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
ClassesInterface{CD17328B-E4EF-4215-A92D-62A914658F82} setvalue " " "IObjectWithCachedState"
ClassesInterface{CD17328B-E4EF-4215-A92D-62A914658F82}ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
ClassesInterface{9767060C-9476-42E2-8F7B-2F10FD13765C} setvalue " " "IImmersiveShellBroker"
ClassesInterface{9767060C-9476-42E2-8F7B-2F10FD13765C}ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
ClassesInterface{9BE5F0C8-774A-4070-9C9E-0627765E6C61} setvalue " " "IOperationStatusSink"
ClassesInterface{9BE5F0C8-774A-4070-9C9E-0627765E6C61}ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
ClassesInterface{6FAF1156-8855-47B5-BDC8-4555D13C095F} setvalue " " "IConflictInterrupt"
ClassesInterface{6FAF1156-8855-47B5-BDC8-4555D13C095F}ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
ClassesInterface{8F45EF43-0585-4881-A90D-F55D35CE7797} setvalue " " "IOperationInterrupt"
ClassesInterface{8F45EF43-0585-4881-A90D-F55D35CE7797}ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
MicrosoftOleExtensions setvalue "DragDropExtension" "{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}"
ClassesCLSID{95E15D0A-66E6-93D9-C53C-76E6219D3341} setvalue " " "PSFactoryBuffer"
ClassesCLSID{95E15D0A-66E6-93D9-C53C-76E6219D3341}InProcServer32 setvalue " " "X:WindowsSystem32OneCoreUAPCommonProxyStub.dll"
regexportX32.txt
ClassesCLSID{958a6fb5-dcb2-4faf-aafd-7fb054ad1a3b}InProcServer32 setvalue " " "X:WindowsSystem32twinapi.dll"
ClassesCLSID{958a6fb5-dcb2-4faf-aafd-7fb054ad1a3b}InProcServer32 setvalue "ThreadingModel" "Apartment"
ClassesCLSID{B52D54BB-4818-4EB9-AA80-F9EACD371DF8} setvalue " " "Windows Search Platform"
ClassesCLSID{50EF4544-AC9F-4A8E-B21B-8A26180DB13F} setvalue " " "Local Thumbnail Cache"
ClassesCLSID{50EF4544-AC9F-4A8E-B21B-8A26180DB13F}InprocServer32 setvalue " " "X:WindowsSystem32thumbcache.dll"
ClassesCLSID{50EF4544-AC9F-4A8E-B21B-8A26180DB13F}InprocServer32 setvalue "ThreadingModel" "Apartment"
ClassesCLSID{2155fee3-2419-4373-b102-6843707eb41f} setvalue " " "Local Icon Cache"
ClassesCLSID{2155fee3-2419-4373-b102-6843707eb41f}InprocServer32 setvalue " " "X:WindowsSystem32thumbcache.dll"
ClassesCLSID{2155fee3-2419-4373-b102-6843707eb41f}InprocServer32 setvalue "ThreadingModel" "Apartment"
ClassesCLSID{7efc002a-071f-4ce7-b265-f4b4263d2fd2} setvalue " " "Local Thumbnail Cache"
ClassesCLSID{7efc002a-071f-4ce7-b265-f4b4263d2fd2}InprocServer32 setvalue " " "X:WindowsSystem32thumbcache.dll"
ClassesCLSID{7efc002a-071f-4ce7-b265-f4b4263d2fd2}InprocServer32 setvalue "ThreadingModel" "Apartment"
ClassesCLSID{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6} setvalue " " "PSFactoryBuffer"
ClassesCLSID{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}InProcServer32 setvalue " " "X:WindowsSystem32ActXPrxy.dll"
ClassesCLSID{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}InProcServer32 setvalue "ThreadingModel" "Both"
ClassesCLSID{AE054212-3535-4430-83ED-D501AA6680E6} setvalue " " "Shell Name Space ListView"
ClassesCLSID{AE054212-3535-4430-83ED-D501AA6680E6}InProcServer32 setvalue " " "%SystemRoot%System32explorerframe.dll"
ClassesCLSID{AE054212-3535-4430-83ED-D501AA6680E6}InProcServer32 setvalue "ThreadingModel" "Apartment"
ClassesCLSID{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}InProcServer32 setvalue " " "%SystemRoot%System32dataexchange.dll"
ClassesCLSID{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}InProcServer32 setvalue "ThreadingModel" "Both"
ClassesInterface{036B4FC7-6A11-4C07-8046-22D268C37721} setvalue " " "IInterruptedOperationHandler"
ClassesInterface{036B4FC7-6A11-4C07-8046-22D268C37721}ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
ClassesInterface{04B0F1A7-9490-44BC-96E1-4296A31252E2} setvalue " " "IFileOperationProgressSink"
ClassesInterface{04B0F1A7-9490-44BC-96E1-4296A31252E2}ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
ClassesInterface{0C9FB851-E5C9-43EB-A370-F0677B13874C} setvalue " " "IOperationsProgressDialog"
ClassesInterface{0C9FB851-E5C9-43EB-A370-F0677B13874C}ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
ClassesInterface{4AE7498C-E1C0-475F-8573-41C26127C5D8} setvalue " " "IOperationStatusTile"
ClassesInterface{4AE7498C-E1C0-475F-8573-41C26127C5D8}ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
ClassesInterface{0C3C904A-AD89-4851-9C3D-210C080CEE18} setvalue " " "IOperationStatusService"
ClassesInterface{0C3C904A-AD89-4851-9C3D-210C080CEE18}ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
ClassesInterface{CD17328B-E4EF-4215-A92D-62A914658F82} setvalue " " "IObjectWithCachedState"
ClassesInterface{CD17328B-E4EF-4215-A92D-62A914658F82}ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
ClassesInterface{9767060C-9476-42E2-8F7B-2F10FD13765C} setvalue " " "IImmersiveShellBroker"
ClassesInterface{9767060C-9476-42E2-8F7B-2F10FD13765C}ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
ClassesInterface{9BE5F0C8-774A-4070-9C9E-0627765E6C61} setvalue " " "IOperationStatusSink"
ClassesInterface{9BE5F0C8-774A-4070-9C9E-0627765E6C61}ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
ClassesInterface{7CCBC4D6-7AC7-415C-B5BE-FAF75D8A1E85} setvalue " " "IConflictInterrupt"
ClassesInterface{7CCBC4D6-7AC7-415C-B5BE-FAF75D8A1E85}ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
ClassesInterface{FEE9E8EA-1D4B-4076-88B1-CCCAAEC1C8AA} setvalue " " "IOperationInterrupt"
ClassesInterface{FEE9E8EA-1D4B-4076-88B1-CCCAAEC1C8AA}ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
MicrosoftOleExtensions setvalue "DragDropExtension" "{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}"
И сохраняем эти файлы в папке C:BuildPEutil
10. Подготовка виртуальной машины
Необходимо скачать и установить виртуальную машину. Учитывая что нам необходима лишь одновременно запущенная одна виртуальная машина, то достаточно будет VMware Workstation Player, но вы можете использовать и другую на своё усмотрение, например, VirtualBox.
Я не буду расписывать как устанавливать виртуальную машину, думаю тут ничего сложного несколько раз нажать «Далее», а вот как её настроить:
- Запускаем VMware Workstation Player и нажимаем Create a New Virtual Machine.
- Пропускаем выбор установочного носителя нажав I will install the operating system later.
- Выбираем Windows 10 and later x64 и нажимаем Next. Примечание: при создании образа x32 вы можете использовать эту же виртуальную машину, в настройках поменяв с Windows 10 and later x64 на Windows 10.
- На своё усмотрение указываем имя виртуальной машины и путь, где она будет хранится.
- На своё усмотрение указываем объем виртуального диска, нам потребуется буквально несколько мегабайт, но на всякий случай лучше указать, например, 2Гб. При указании объема лучше всего выбрать Store virtual disk as a single file, это облегчит задачу, когда мы будем извлекать из диска нужные файлы.
- На этом этапе виртуальная машина готова, но надо её ещё настроить. Итак, в списке виртуальных машин выберите только что созданную и нажмите на Edit virtual machine settings.
Укажите следующие параметры:
- Объем оперативной памяти на своё усмотрение, для комфортной работы желательно не менее 2-4Гб, у меня стоит 6Гб.
- Количество выделяемых потоков для виртуальной машины, для комфортной работы желательно не менее двух, у меня стоит 4.
- В CD/DVD выбираем Use ISO image file и указываем файл C:BuildPEISOMyPE21H2x64.iso
Машина готова для запуска, но подключенный к ней .iso файл пока не готов. И об этом в следующем разделе. Начинается самое интересное.
Итак, у нас всё готово для начала сборки своего PE образа!
II. Редактирование WIM и ISO
1. Редактирование WIM
Открываем от имени администратора Среду средств развертывания и работы с образами и списываем следующие команды:
*для новичков* отобразить редакции в .wim файле чтобы понимать с чем вы работаете
Dism /Get-WimInfo /WimFile:"C:BuildPEoriginalWIMx64boot.wim"
на всякий случай отключаем .wim файлы если они ранее были подключены
DISM /Cleanup-Wim
в отдельный файл экспортируем из boot.wim вторую редакцию которой является Microsoft Windows Setup (x86), наличие второго файла сохраняет оригинал на всякий случай для дальнейших повторных сборок, а их будет не мало — работа над ошибками
Dism /export-image /SourceImageFile:C:BuildPEoriginalWIMx64boot.wim /SourceIndex:2 /DestinationImageFile:C:BuildPEedit.wim /Compress:max /CheckIntegrity
монтируем образ для внесения изменений
dism.exe /mount-wim /wimfile:C:BuildPEedit.wim /mountdir:C:BuildPEMount /index:1
на этом этапе сворачиваем «Среду средств развертывания и работы с образами», но не в коем случае не закрываем!
прав администратора недостаточно для удаления лишних файлов в образе. чтобы повысить себе плава ещё выше, я обычно запускаю от имени администратора Explorer++, открываю папку, например, C:BuildPE и находясь в ней нажимаю на , после чего у меня открывается командная строка в которой я ввожу следующие команды:
удаляем программу установки ОС
erase C:BuildPEMountSetup.exe
takeown /F C:BuildPEMountsources*.* /A
rd C:BuildPEMountsources /s/q
создаём каталог «Рабочий стол» для пользователя СИСТЕМА без которого Explorer++ может выдавать ошибку
mkdir C:BuildPEMountWindowsSystem32configsystemprofileDesktop
удаляем ненужные ярлыки из меню Пуск чтобы не видеть их в меню WinXShell
rd "C:BuildPEMountProgramDataMicrosoftWindowsStart MenuPrograms" /s/q
rd "C:BuildPEMountUsersDefaultAppDataRoamingMicrosoftWindowsStart MenuPrograms" /s/q
переходим в каталог, где хранится offlinereg и вносим изменения в реестр
cd /d C:BuildPEutilofflinereg
offlinereg-win64 C:BuildPEMountWindowsSystem32configSOFTWARE " " run C:BuildPEutilregexportX64.txt
копируем весь набор своего софта+доп файлы для ОС
xcopy /y /o /e "C:BuildPEAddFilesx64*.*" "C:BuildPEMount*.*"
удаляем лишние логи [дело привычки]
CD /D C:BuildPEMountWindowsSystem32config
DEL *.LOG1 /A /S /Q /F
DEL *.LOG2 /A /S /Q /F
DEL *.BLF /A /S /Q /F
DEL *.REGTRANS-MS /A /S /Q /F
CD /D C:BuildPEMountWindowsSystem32SMIStoreMachine
DEL *.LOG1 /A /S /Q /F
DEL *.LOG2 /A /S /Q /F
DEL *.BLF /A /S /Q /F
DEL *.REGTRANS-MS /A /S /Q /F
CD /D C:BuildPEMountUsersDefault
DEL *.LOG1 /A /S /Q /F
DEL *.LOG2 /A /S /Q /F
DEL *.BLF /A /S /Q /F
DEL *.REGTRANS-MS /A /S /Q /F
возвращаемся в «Среду средств развертывания и работы с образами»
размонтируем образ
Dism /Unmount-Image /MountDir:"C:BuildPEMount" /commit
отключаем .wim файл
DISM /Cleanup-Wim
экспортируем готовый образ в новый .wim файл с целью избавится от папки [DELETED] который создаётся после редактирования .wim файла
DISM /export-image /sourceimagefile:C:BuildPEedit.wim /sourceindex:1 /destinationimagefile:C:BuildPECOMPLETE64boot.wim /compress:maximum
удаляем .wim файл в котором происходили изменения
erase C:BuildPEedit.wim
Те же команды для удобства копипаста
В «Среде средств развертывания и работы с образами»
Dism /Get-WimInfo /WimFile:"C:BuildPEoriginalWIMx64boot.wim"
DISM /Cleanup-Wim
Dism /export-image /SourceImageFile:C:BuildPEoriginalWIMx64boot.wim /SourceIndex:2 /DestinationImageFile:C:BuildPEedit.wim /Compress:max /CheckIntegrity
dism.exe /mount-wim /wimfile:C:BuildPEedit.wim /mountdir:C:BuildPEMount /index:1
В cmd Explorer++
erase C:BuildPEMountSetup.exe
takeown /F C:BuildPEMountsources*.* /A
rd C:BuildPEMountsources /s/q
mkdir C:BuildPEMountWindowsSystem32configsystemprofileDesktop
rd "C:BuildPEMountProgramDataMicrosoftWindowsStart MenuPrograms" /s/q
rd "C:BuildPEMountUsersDefaultAppDataRoamingMicrosoftWindowsStart MenuPrograms" /s/q
cd /d C:BuildPEutilofflinereg
offlinereg-win64 C:BuildPEMountWindowsSystem32configSOFTWARE " " run C:BuildPEutilregexportX64.txt
xcopy /y /o /e "C:BuildPEAddFilesx64*.*" "C:BuildPEMount*.*"
CD /D C:BuildPEMountWindowsSystem32config
DEL *.LOG1 /A /S /Q /F
DEL *.LOG2 /A /S /Q /F
DEL *.BLF /A /S /Q /F
DEL *.REGTRANS-MS /A /S /Q /F
CD /D C:BuildPEMountWindowsSystem32SMIStoreMachine
DEL *.LOG1 /A /S /Q /F
DEL *.LOG2 /A /S /Q /F
DEL *.BLF /A /S /Q /F
DEL *.REGTRANS-MS /A /S /Q /F
CD /D C:BuildPEMountUsersDefault
DEL *.LOG1 /A /S /Q /F
DEL *.LOG2 /A /S /Q /F
DEL *.BLF /A /S /Q /F
DEL *.REGTRANS-MS /A /S /Q /F
В «Среде средств развертывания и работы с образами»
Dism /Unmount-Image /MountDir:"C:BuildPEMount" /commit
DISM /Cleanup-Wim
DISM /export-image /sourceimagefile:C:BuildPEedit.wim /sourceindex:1 /destinationimagefile:C:BuildPECOMPLETE64boot.wim /compress:maximum
erase C:BuildPEedit.wim
Готово! .WIM образ Windows 10 PE 21H2 x64 создан, осталось лишь занести его в .iso файл и можно пробовать первую заготовку. Теперь тоже самое можно повторить и для Windows 10 PE 1507 x32, но на этот раз я уберу комментарии дабы проще было копировать:
В «Среде средств развертывания и работы с образами»
Dism /Get-WimInfo /WimFile:"C:BuildPEoriginalWIMx32boot.wim"
DISM /Cleanup-Wim
Dism /export-image /SourceImageFile:C:BuildPEoriginalWIMx32boot.wim /SourceIndex:2 /DestinationImageFile:C:BuildPEedit.wim /Compress:max /CheckIntegrity
dism.exe /mount-wim /wimfile:C:BuildPEedit.wim /mountdir:C:BuildPEMount /index:1
В cmd Explorer++
erase C:BuildPEMountSetup.exe
takeown /F C:BuildPEMountsources*.* /A
rd C:BuildPEMountsources /s/q
mkdir C:BuildPEMountWindowsSystem32configsystemprofileDesktop
rd "C:BuildPEMountProgramDataMicrosoftWindowsStart MenuPrograms" /s/q
rd "C:BuildPEMountUsersDefaultAppDataRoamingMicrosoftWindowsStart MenuPrograms" /s/q
cd /d C:BuildPEutilofflinereg
offlinereg-win64 C:BuildPEMountWindowsSystem32configSOFTWARE " " run C:BuildPEutilregexportX32.txt
xcopy /y /o /e "C:BuildPEAddFilesx32*.*" "C:BuildPEMount*.*"
CD /D C:BuildPEMountWindowsSystem32config
DEL *.LOG1 /A /S /Q /F
DEL *.LOG2 /A /S /Q /F
DEL *.BLF /A /S /Q /F
DEL *.REGTRANS-MS /A /S /Q /F
CD /D C:BuildPEMountWindowsSystem32SMIStoreMachine
DEL *.LOG1 /A /S /Q /F
DEL *.LOG2 /A /S /Q /F
DEL *.BLF /A /S /Q /F
DEL *.REGTRANS-MS /A /S /Q /F
CD /D C:BuildPEMountUsersDefault
DEL *.LOG1 /A /S /Q /F
DEL *.LOG2 /A /S /Q /F
DEL *.BLF /A /S /Q /F
DEL *.REGTRANS-MS /A /S /Q /F
В «Среде средств развертывания и работы с образами»
Dism /Unmount-Image /MountDir:"C:BuildPEMount" /commit
DISM /Cleanup-Wim
DISM /export-image /sourceimagefile:C:BuildPEedit.wim /sourceindex:1 /destinationimagefile:C:BuildPECOMPLETE32boot.wim /compress:maximum
erase C:BuildPEedit.wim
Готово! .WIM образ Windows 10 PE 1507 x32 создан, осталось лишь занести его в .iso файл и можно пробовать первую заготовку.
2. Редактирование .iso
С помощью UltraISO открываем наши .iso файлы, и в папку sources и вставляем наши только что испеченные файлы C:BuildPECOMPLETEx64boot.wim в C:BuildPEISOMyPE21H2x64.iso и C:BuildPECOMPLETEx32boot.wim в C:BuildPEISOMyPE1507x32.iso, и сохраняем оба .iso файла.
Далее я буду рассказывать всё лишь в варианте Windows 10 PE 21H2 x64 т.к. дальнейшие шаги один в один, а не чуть-чуть отличаемые как прежних пунктах, где можно было что-то напутать «на замыленный глаз».
3. Первый запуск WinPE и настройка
Открываем VMware Workstation Player и выбираем нашу виртуальную машину, она уже настроена и готова для запуска, и можно её включать, нажав Play virtual machine. При появлении надписи Press any key to boot from CD or DVD нажимаем любую клавишу и ждём окончания загрузки.
Что мы видим? Командную строку с перечислением каких-то характеристик железа виртуальной машины. А где меню? А где графический интерфейс? Сейчас всё будет. Вы можете вызвать либо CLaunch путем нажатия комбинации клавиш Win+Z, либо запустить графический интерфейс WinXShell путем ввода в командную строку UI.bat или открыв CLaunch и нажав на соответствующий пункт.
Мы уже интегрировали в Windows PE нужные нам программы, некоторым программам не нужны никакие настройки, но некоторым они обязательны, и теперь мы можем их настроить чтобы получить файл настроек, затем сохранить его на отдельном виртуальном диске для дальнейшего извлечения в папку C:BuildPEAddFiles… для дальнейшего создания второй версии своей Windwos PE в которой программы уже будут настроены так, как нам надо.
Чтобы сохранить файлы, нужен виртуальный диск, мы его подключили, но не форматировали. Поэтому с этого и начнём.
В запущенной Windwos PE в открытой командной строки вводим следующие команды:
diskpart
select disk 0
create partition primary
format quick override
assign
exit
После чего у нас будет диск С. Если вы сделали его объемом 2Гб, то хоть объём у него и небольшой, но нам и этого более чем достаточно т.к. необходимо скопировать лишь несколько конфигов объемом как правило менее 1Мб.
- Настройка CLaunch — Эта программа уже настроена в большей степени, но вы можете увеличить количество пунктов дополнив их своими программами, а также добавить дополнительные вкладки, настроить размеры окна, горячую клавишу вызова меню и т.д. После закрытия программы через Alt+F4 она сохранит все настройки внутри своего же каталога X:Program FilesCLaunchData которые вы можете скопировать на диск C: воспользовавшись проводником Explorer++ который вы можете включить либо через заранее настроенный CLaunch, либо прописать в командной строке explorer++.
- Настройка меню Пуск WinXShell — В Explorer++ откройте диск X:Program Files и сделайте ярлыки нужных вам программ, все созданные ярлыки вы можете скопировать на диск C:.
- Настройка Notepad++ — после настройки Notepad++ все свои файлы настроек он хранит по адресу X:UsersDefaultAppDataRoamingNotepad++ которые также можно скопировать на диск C:
По окончанию всех работ по настройке программ и созданию ярлыков, а быть может вы и батники какие-нибудь создавали, вы можете выключить виртуальную машину, и с помощью 7-Zip открыть файл виртуального диска который находится там где вы указали адрес виртуальной машины при её создании, например, C:Users%username%Virtual MachinesVHDBuildMyPE.vmdk, открыв .vmdk файл извлеките из него все конфигурации что вы создали и распределите по нужным каталогам для создания финального образа (эх, если бы всё так было просто):
Все созданные ярлыки для меню пуск извлечь в каталог C:BuildPEAddFilesx64ProgramDataMicrosoftWindowsStart Menu
Настройки CLaunch извлечь в каталог C:BuildPEAddFilesx64Program FilesCLaunchData
Настройки Notepad++ извлечь в каталог C:BuildPEAddFilesx64UsersDefaultAppDataRoamingNotepad++
Если вы перенастраивали Explorer++, то его настройки хранятся там же где и .exe файл, а в нашем случае это C:BuildPEAddFilesx64WindowsSystem32
Я не просто так показал пример с настройками, дело в том, что новички могут не сразу понять, что куда копипастить, а тут сразу 2 варианта:
- Программа хранит настройки в своей отдельной папке
- Программа хранит настройки рядом с своим .exe
- Программа хранит настройки в AppData
- Тут ещё не хватает варианта, когда программа хранит настройки в реестре, и тут уже гугл в помощь, а то для этой цели и так очень длинная статья сильно разрастется.
Ну чтож, на этом этапе мы готовы создать вторую версию образа. Для этого удаляем или переименовываем .wim файл C:BuildPECOMPLETEx64boot.wim, чтобы на его месте создать новый, и полностью повторяем шаг II.1 и II.2. Запускаем виртуальную машину и проверяем результат своих работ, находим ошибки, исправляем, и снова, и снова, и снова создаём новую версию образа до тех пор, пока не будет идеальный для вас вариант.
Вы можете обратить внимание что если закрыть командную строку, то вся ОС завершит работу, т.к. командная строка — это основное приложение ОС которое вы закрываете. Для тех кому командная строка не нужна или даже мешает, и хочется сразу загрузить графическую оболочку или проводник, или ещё что, то вместо командной строки можно задать другое приложение, которое кстати тоже завершит работу ОС после закрытия. Для этого вам потребуется создать файл Winpeshl.ini в папке System32, а вот как его настроить можно узнать из этого справочника.
Надеюсь, моя статья оказалась для вас полезна. Она, конечно, достаточно занудна, но я решил, что уж лучше один раз доходчиво всё объяснить, чем оставить людей без какой-то ценной информации, которую можно искать годами.
P.S.
У меня была ситуация, когда был ноутбук, у которого исправно загружается ОС, и после того, как пропадает логотип Windows и перед тем, как начнется загрузка пользователя, появляется пауза длиной в 1-3 минуты. И как задать вопрос поисковику? Черный экран после загрузки ОС? Любой поисковик будет думать, что дело в том, что компьютер вообще не загружается и черный экран висит всё время после старта, выдан миллиард страниц на эту тему, а подойдёт по теме лишь единицы, которые даже не первых 100 страниц поиска (я проверял). Выходит, какими бы умными не были поисковики, а вот такие уточнения они ещё не скоро начнут понимать. Я сам задавал этот запрос в течении долгого времени, перелистал без шуток, сотни страниц, и по великой случайности, уже не через поисковики, а по темам форумов, перескакивая с одного форума на другой, как темы при разговоре с интересным человеком, в итоге нашел ответ на свой вопрос. Дело было в ULPS, который нужно было отключить в реестре. Это я всё к чему. С созданием Windows PE такая же ситуация, и например, чтобы сделать рабочим окно копирования в последних версиях ОС, нужно сделать то, о чем не знает даже Google, а как уж задать вопрос, это ещё сложнее. Собственно, именно это и стало причиной написать эту статью, раз уж другие умельцы об этом не пишут, хотя на торрентах свои работы выкладывают:)
III. Интеграция пакетов и драйверов
В начале статьи я обещал рассказать о интеграции дополнительных пакетов которые мы так и не установили в наш образ. Cкачиваем и дополнительно устанавливаем надстройку Windows PE для Windows ADK.
Допустим вам необходимо добавить NetFX, делаем следующее:
В уже смонтированном образе в пункте II.2 перед командой Dism /Unmount-Image /MountDir:«C:BuildPEMount» /commit вводим следующие команды:
Dism /Add-Package /Image:"C:BuildPEMount" /PackagePath:"C:Program Files (x86)Windows Kits10Assessment and Deployment KitWindows Preinstallation Environmentamd64WinPE_OCsWinPE-WMI.cab"
Dism /Add-Package /Image:"C:BuildPEMount" /PackagePath:"C:Program Files (x86)Windows Kits10Assessment and Deployment KitWindows Preinstallation Environmentamd64WinPE_OCsWinPE-NetFX.cab"
Найти полный список дополнительных пакетов, а также узнать зависимости этих пакетов, вы сможете на этой странице.
Допустим вам необходимо интегрировать драйвер (например, линий PCI и накопителей SSD для MacBook последних лет чтобы вручную каждый раз их не устанавливать на рабочей ОС WinPE), то вводим следующую команду
Dism /image:C:BuildPEMount /Add-Driver /Driver:C:BuildPEDrv*.inf
Где * — это или все драйвера что есть в каталоге C:BuildPEDrv, или замените *, на имя конкретного файла драйвера.
Всем спасибо!
В этом руководстве мы увидим, как использовать пару MDT (Microsoft Deployment Toolkit) и WDS (службы развертывания Windows) для развертывания образов Windows.
Пара WDS и MDT для развертывания образов, начиная с сети (PXE) с WDS и MDT, позволяет настраивать и автоматизировать установку операционных систем в организации.
Цель руководства — использовать WDS для предоставления среды PXE и развертывания образов Windows и MDT для персонализации.
Содержание
- Разница между WDS и MDT
- Установка роли Windows Deployment Services WDS
- Загружаем дополнительные компоненты
- Установка windows ADK
- Настраиваем WDS сервер(Роль Windows Server 2016)
- Настройка Microsoft Deployment Toolkit (MDT)
- Добавляем образ операционной системы в MDT
- Добавляем приложения в MDT
- Файл ответов MDT
- Настройка правил MDT
- Update Deployment Share
- Добавляем Lite-Touch образ на WDS
- Конфигурация DHCP для PXE
Разница между WDS и MDT
Службы развертывания Windows (WDS) — это серверная технология от Microsoft для выполнения сетевой установки операционных систем Windows (ОС). WDS — это переработанная версия служб удаленной установки (RIS), которая позволяет развертывать операционные системы Windows. Вы можете использовать WDS для настройки новых клиентов через сетевую установку.
Microsoft Deployment Toolkit (MDT): MDT, ранее известный как Business Desktop Deployment, — это бесплатный инструмент для автоматизации развертывания операционных систем Windows и Windows Server, использующий комплект для оценки и развертывания Windows (ADK) для Windows 10. MDT — это унифицированный набор инструменты, процессы и рекомендации по автоматизации развертывания настольных компьютеров и серверов. Вы можете использовать его для создания эталонных образов или в качестве полного решения для развертывания.
MDT использует два способа подключения к серверу по сети: USB-ключ или PXE. Среда предварительного выполнения (PXE) требует использования сервера Windows, настроенного с ролью служб развертывания Windows (WDS).
MDT работает вместе с WDS, предоставляя возможности PXE-сервера в сети и управляя подключением к общему ресурсу MDT с помощью предварительно созданного загрузочного файла MDT. Если вы хотите, чтобы ваши клиенты использовали образы ОС из WDS, вам потребуется импортировать эти загрузочные образы в WDS. WDS также может помочь захватывать образы вашего эталонного устройства и развертывать эти образы с поддержкой драйверов на различных устройствах в вашей среде с помощью PXE. Хотя MDT — это скорее инструмент проектирования, MDT создает загрузочные образы с различными пошаговыми последовательностями развертывания.
Установка роли Windows Deployment Services WDS
Загружаем дополнительные компоненты
Комплект для оценки и развертывания Windows (Windows ADK) и надстройка Windows PE содержат инструменты, необходимые для настройки образов Windows для крупномасштабного развертывания, а также для проверки качества и производительности вашей системы.
С официального сайта скачиваем :
1) Download the ADK for Windows Server 2022
2) Download the Windows PE add-on for the ADK for Windows Server 2022
Также скачиваем Microsoft Deployment Toolkit (MDT)
Установка windows ADK
- После того как скачали ADK for Windows Server 2022 монтируем скаченный iso файл 20348.1.210507-1500.fe_release_amd64fre_ADK
- Установка надстройки Windows PE для сервера MDT , мы его скачивали по ссылке Windows PE add-on for the ADK for Windows Server 2022. Монтируем образ 20348.1.210507-1500.fe_release_amd64fre_ADKWINPEADDONS
- Загружаем и устанавливаем Microsoft Deployment Toolkit (MDT)
Настраиваем WDS сервер(Роль Windows Server 2016)
Открываем консоль WDS
Запускаем конфигурирование.
В мастере настройки выбираем интеграцию с доменом.
Задаем служебную папку WDS.
На следующем шаге можно выбрать каким компьютерам будет отвечать сервер WDS:
- Никому не отвечать — можно отключить работу сервера на время настройки или тестирования, например, чтобы пользователи не получали возможные конфликты при установке.
- Отвечать только известным компьютерам — список составляется в консоли и если записи адреса компьютера нет, то он не получит возможность работать с сервером.
- Отвечать всем клиентам — ответ получат все компьютеры. Если установить галку ниже, то при обращении неизвестных устройств (не записанных ранее) в консоли появится запись, что некий компьютер с определенным адресом запрашивает подключение. Можно отклонить или принять и процесс продолжится. Позже эти настройки можно изменить в консоли WDS.
Снимаем галочку — add images to the server now , и жмем Finish.
WDS нам понадобится только для подключения и передачи образов, поэтому без подробного объяснения:
Install Images — установочные образы (не используем);
Boot Images — загрузочные образы (добавим созданные в MDT);
Pending Devices — появляются устройства запрашивающие соединение если включена опция «требуется подтверждение администратора».
Настройка Microsoft Deployment Toolkit (MDT)
запустим Deployment Workbench , как показано ниже
После запуска приложения Microsoft Deployment Toolkit (MDT)
щелкните правой кнопкой мыши Deployment Shares в левой панели навигации и
выберите New Deployment Share .
Откроется мастер создания общего ресурса для развертывания, как показано ниже.
– Если вы хотите изменить путь к общему ресурсу развертывания, используйте кнопку обзора, как показано ниже.
В мастере общего доступа введите имя общего ресурса.
– Убедитесь, что имя общего ресурса совпадает с именем, указанным в указанном выше пути. (По умолчанию имя — DeploymentShare$), я оставлю его таким же
— Затем нажмите «Далее ».
Измените описание общего ресурса развертывания или оставьте значение по умолчанию. Я оставлю этот путь, так как это лабораторная среда.
– Нажмите «Далее».
В окне «Параметры» я выбераю все пункты.
Примечание. Если для вашей среды требуются другие входные данные, отметьте их.
Нажмите «Далее» .
В окнах сводки просмотрите это и нажмите «Далее».
Далее будут созданы общие ресурсы, как показано ниже.
В окне подтверждения нажмите «Готово».
– Общий ресурс развертывания успешно завершен, и MDT успешно настроен.
— Теперь нажмите «Готово».
Прежде чем перейти к следующим шагам, убедитесь, что вы примонтировали образ ISO для дальнейшей его модернизации.
Добавляем образ операционной системы в MDT
В консоли Deployment Workbench щелкните правой кнопкой мыши папку операционной системы и
выберите «Импорт операционной системы» .
Общая папка E:DeploymentShare$ может переноситься на другие сервера простым копированием. Отключение и подключение осуществляется в консоли MDT.
Applications — приложения которые устанавливаются на операционную систему;
Operating Systems — операционные системы доступные для загрузочного образа;
Out-of-Box Drivers — драйвера (.inf);
Packages — пакеты обновлений безопасности, сервисные, языковые и т.д. (.cab и .msu);
Task Sequences — последовательность задач установки;
Selection Profiles — логические группы объединения контента;
Linked Deployment Shares — другие подключенные DeploymentShare с других серверов;
Monitoring — при включенной опции отображается ход выполнения установки на клиентах.
В мастере типов ОС
— нажмите «Полный набор исходных файлов», а затем — нажмите «Далее ».
Введите имя каталога( К примеру операционную систему и название билда) назначения и нажмите «Далее» .
Просмотрите сводную страницу и нажмите «Далее» .
Это продолжит импорт файлов ОС. – На странице подтверждения нажмите «Готово», как показано ниже.
На приведенном ниже снимке экрана видно, что операционная система успешно импортирована.
Можно создавать папки, сортировать разные версии Windows , удалять не нужные редакции.
Добавляем приложения в MDT
– Щелкните правой кнопкой мыши узел приложения.
– В Типе приложения выберите приложение с исходными файлами
На странице сведений вам будет предложено ввести информацию о добавляемом приложении. Другие поля занимают важную информацию только тогда, когда требуется название приложения, что может быть полезно, когда установлены приложения для устранения неполадок в пути.
Теперь просмотрите местоположение, чтобы указать исходную папку для импорта в папку MDT.
– Я выбрал путь загрузки в качестве места для хранения этих файлов.
Укажите имя каталога, который необходимо создать. Пожалуйста, измените имя в соответствии с вашими потребностями.
Введите ключ для тихой установки. я подглядывал тут
А вот еще пример
Просмотрите сводную страницу, как показано ниже, чтобы узнать, что будет импортировано в MDT, и нажмите «Далее».
На странице подтверждения нажмите «Готово», как показано ниже.
На снимке экрана ниже видно, что приложение успешно импортировано.
Файл ответов MDT
Давайте создадим последовательность задач — в консоли Deployment Workbench —
щелкните правой кнопкой мыши Task Sequences , а затем — нажмите New Task Sequences
На странице «Общие настройки» введите следующую информацию ниже.
В мастере выбора шаблона — выберите стандартную последовательность клиентских задач и
— нажмите «Далее» .
Выберите из списка операционную систему, которую вы импортируете, и
нажмите «Далее».
В окне «Укажите ключ продукта» выберите «Не указывать ключ продукта в данный момент» и
нажмите «Далее ».
На странице настроек ОС введите следующую информацию
: если у вас есть домашняя страница в Интернете, введите ее здесь, а затем
— нажмите «Далее» .
В окне «Пароль администратора» укажите пароль и нажмите « Далее ».
Проверьте сводку и нажмите «Далее».
В окне подтверждения нажмите «Готово».
Как мы видим ниже, последовательность задач была успешно создана.
Настройка правил MDT
Настройка правил MDT, среды предустановки Windows и мониторинга
. Этот шаг очень важен, если вы не хотите выполнять большую ручную настройку позже.
– Щелкните правой кнопкой мыши общий ресурс развертывания MDT , а затем
– щелкните Свойства.
Примечание: Если вы оставите правило общего доступа к развертыванию MDT по умолчанию, вам придется много вводить вручную.
Если вы не хотите этого делать. Ниже приведен пример файла правил, используйте этот файл для ускорения процесса.
Файл Rules для ответов при установке операционной системы
[Settings]
Priority=Default
Properties=MyCustomProperty
[Default]
OSInstall=Y
SkipTaskSequence=YES
TaskSequenceID=Server_2016
OSDComputerName=W10RUMSC01#Right("%SerialNumber%",5)#
JoinDomain=pentagon.loc
DomainAdmin=alukashin
DomainAdminDomain=pentagon.loc
DomainAdminPassword=mypassworddomainaccount
MachineObjectOU=OU=Servers,OU=Moscow-CTD,OU=RU,OU=Europe,OU=BV,DC=eua,DC=bvcorp,DC=corp
AdminPassword=mynewpasswordserveraccount
HideShell=YES
SkipUserData=YES
TimeZoneName=N. Central Asia Standard Time
SkipTimeZone=YES
UILanguage=ru-RU
UserLocale=ru-RU
SkipLocaleSelection=YES
SystemLocale=ru-RU
SkipCapture=YES
SkipComputerName=YES
SkipDomainMembership=YES
SkipAdminPassword=YES
SkipProductKey=YES
SkipComputerBackup=YES
SkipBitLocker=YES
SkipSummary=YES
Мини описание
OSInstall=Y //установить операционную систему
JoinDomain=alx*.com //ввести в этот домен
DomainAdmin=alx - имя пользователя используемого для присоединения
DomainAdminDomain=alx*.com //домен пользователя
DomainAdminPassword= //пароль пользователя
AdminPassword= //пароль локального администратора на новой машине
HideShell=YES //скрыть Shell
SkipUserData=NO //пропустить шаг о решении сохранности пользовательских данных (если установка производится поверх существующей системы)
TimeZoneName=N. Central Asia Standard Time //временная зона
SkipTimeZone=YES //пропустить выбор временной зоны
UILanguage=ru-RU //выбор языка интерфейса
UserLocale=ru-RU //выбор местоположения
SkipLocaleSelection=YES //пропустить выбор месторасположения
SystemLocale=ru-RU //выбор языка для non-Unicode программ
SkipCapture=YES //пропустить захват установленной операционной системы
SkipComputerName=NO //пропустить ввод имени компьютера
SkipDomainMembership=YES //пропустить членство в домене
SkipAdminPassword=YES //пропустить пароль администратора
SkipProductKey=YES //пропустить ввод лицензионного ключа
SkipComputerBackup=YES //пропустить выполнение резервного копирования
SkipBitLocker=YES //пропустить настройку шифрования BitLocker
SkipSummary=YES //пропустить страницу с выводом результирующих настроек
EventService=http://server1:9800 //установить сервер назначения для логов
Файл BootStrap.ini для доступа к файловой шаре
[Settings]
Priority=Default
[Default]
DeployRoot=SERVER1DeploymentShare$
UserID=alukashin
UserDomain=pentagon.loc
UserPassword=mydomainpassword
KeyboardLocale=en-US
SkipBDDWelcome=YES
Мини описание
[Settings]
Priority=Default
[Default]
DeployRoot=\SRV04DeploymentShare$
UserID=alx //имя пользователя для доступа к папкам Deployment Share
UserDomain=alx*.com //домен пользователя
UserPassword= //пароль пользователя
KeyboardLocale=en-US //выбор языка
SkipBDDWelcome=YES //пропустить начальную страницу установщика
Если вы после настройки файлов ответа меняете их снова, то вам при Update Deployment Share нужно выбирать Optimize the boot image updating process
Нажмите Apply
Обновите общий ресурс развертывания. Чтобы обновить общий ресурс развертывания, выполните следующие действия.
– Щелкните правой кнопкой мыши общий ресурс развертывания MDT, а затем
– нажмите «Update Deployment Share », чтобы создать файл Windows 10 LiteTouchPE_x64.wim.
В окне «Параметры»
— нажмите «Оптимизировать процесс обновления загрузочного образа», а затем
— нажмите «Далее» .
Как мы видим, шаг процесса обновления настроек общего доступа будет продолжен
. Примечание. Этот процесс займет некоторое время.
После обновления папки Deployment Share будет создан WIM-файл LiteTouch .
– Эти файлы будут расположены в загрузочной папке (C:DeploymentShareBoot ) созданного вами общего ресурса развертывания.
Добавляем Lite-Touch образ на WDS
Чтобы добавить образы Lite-Touch в WDS, выполните следующие действия. На WDS откройте службы развертывания Windows (WDS),щелкните правой кнопкой мыши загрузочные образы, а затем щелкните Добавить загрузочный образ
Откроется мастер добавления изображений, как показано ниже.
– Нажмите «Обзор», затем выберите файл LiteTouch в папке загрузочных файлов на общем ресурсе развертывания, как показано ниже.
Конфигурация DHCP для PXE
Tips
При загрузке по PXE , идет загрузка образа с mdt , появляется окно Microsoft Deployment Toolkit , через некоторое время , не идет считывание ответов , а просто появляется окно cmd
Это из за того , что у вас уже установлена система и вам нужно форматировать жесткий диск через diskpart
- diskpart
- list disk (вы увидите список подключенных физических дисков, вам нужен номер диска, который будет форматироваться, у меня это 5, у вас будет свой).
- select disk 5
- clean