Сисадмину или мастеру сервисного центра, да и просто в хозяйстве на всякий случай помогает в работе загрузочная флешка с набором полезных программ, и в интернете можно найти полно готовых решений с «кучей» софта на все случаи в жизни. Но каждый, кто пользовался чужими готовыми вариантами LiveCD, рано или поздно задумывался о том, что по факту используется лишь малая часть приложений. Весь же остальной ненужный груз софта, который порой может составлять более 98% всего набора LiveCD, лишь мешает работать. Почему? Потому что LiveCD загружается прямиком в оперативную память, и чем больше объем LiveCD, тем больше ожидания загрузки, а если ещё и попался древний компьютер, то LiveCD может и вовсе не загрузится от нехватки памяти. И что же делать? Сделать свой собственный LiveCD! В этой статье я расскажу то, чего вы не найдете даже в гугле.

image

Начиная читать эту статью, можно подумать, что в интернете есть полно инструкций как это сделать, но не всё так просто. В этих инструкциях либо чего-то не хватает (как будто намеренно), либо наоборот наворочено очень много ненужного и непонятно что из этого можно было бы убрать, либо инструкции устарели и не работают на последних версиях 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)).

image

Примечание: у Microsoft имеется надстройка Windows PE для Windows ADK, где имеются дополнительные компоненты для интеграции в Windows PE, но нам эти компоненты не понадобятся, однако, как их установить я тоже ниже распишу, так что если интересно, то можете скачать и дополнительно установить надстройку Windows PE для Windows ADK. Скачать её можно на той же странице что указана выше.

2. Дерево каталогов


Необходимо создать каталоги, в которой будут проходить все работы. У каждого свои предпочтения по используемому диску D, E, F и т.д., так что я буду на примере диска C, а там уже делайте как вам удобно. Нам нужны будут следующие каталоги, но дабы не утруждать себя их созданием вручную, введите следующие команды в командную строку, запущенную от имени администратора:


mkdir "C:\BuildPE\AddFiles\x32\Program Files"
mkdir "C:\BuildPE\AddFiles\x32\Windows\System32"
mkdir "C:\BuildPE\AddFiles\x64\Program Files"
mkdir "C:\BuildPE\AddFiles\x64\Windows\System32"
mkdir "C:\BuildPE\COMPLETE\32"
mkdir "C:\BuildPE\COMPLETE\64"
mkdir "C:\BuildPE\ISO"
mkdir "C:\BuildPE\Mount"
mkdir "C:\BuildPE\originalWIM\x32"
mkdir "C:\BuildPE\originalWIM\x64"
mkdir "C:\BuildPE\util"

На выходе у вас будет готово дерево каталогов для дальнейших шагов.

3. Свой софт


Для каждого набор приложений индивидуален, я же буду расписывать свой вариант как пример, а вы можете его как пополнить, так и убавить. Windows PE x64 имеет поддержку ТОЛЬКО x64 приложений, и запустить x32 она не сможет без добавления дополнительных файлов для их поддержки, но раз уж мы делаем легкий образ, то поддержку x32 мы обеспечивать не будем, а это значит, что потребуется скачать только x64 приложения для x64 образа, и x32 приложения только для x32 образа. Я не буду оглашать весь список своих приложений, если вы понимаете о чем я :), но вот базовая часть:

У ниже указанных программ есть как x64, так и x32 версии, нам нужны обе:


Эксклюзивно для x32:


Вы можете обратить внимание, что в списке присутствует 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:\BuildPE\AddFiles\x32\Program Files
Программы x64 для Windows 10 21H2 x64 перемещаем в C:\BuildPE\AddFiles\x64\Program 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:\BuildPE\AddFiles\x64\Windows\System32\Explorer++.exe
C:\BuildPE\AddFiles\x64\Windows\System32\Explorer++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:\BuildPE\util

5. Подготовка WIM файлов


Чтобы сделать свой вариант Widnows PE, нам нужен оригинальный образ, который можно взять из скачанных ISO дистрибутивов.

Через 7-Zip или проводник откройте скачанные два ISO файла (Windows 10 1507 x32 и Windows 10 21H2 x64), откройте папку sources и извлеките из него файл boot.wim:
Из образа Windows 10 1507 x32 в папку C:\BuildPE\originalWIM\x32
Из образа Windows 10 21H2 x64 в папку C:\BuildPE\originalWIM\x64

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.esd\1\Windows\System32\ из которого нужно выгрузить только определенные файлы.

Из образа Windows 10 1507 x32 извлекаем следующие файлы в папку C:\BuildPE\AddFiles\x32\Windows\System32:


en-US\shellstyle.dll.mui
ru-RU\explorerframe.dll.mui
ru-RU\ole32.dll.mui
ru-RU\oledlg.dll.mui
ru-RU\shell32.dll.mui
ru-RU\shellstyle.dll.mui
ru-RU\taskkill.exe.mui
ru-RU\twinapi.appcore.dll.mui
ru-RU\twinapi.dll.mui
ru-RU\twinui.appcore.dll.mui
ru-RU\twinui.dll.mui
actxprxy.dll
chartv.dll
d3d11.dll
DataExchange.dll
dcomp.dll
ddraw.dll
DXCore.dll
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:\BuildPE\AddFiles\x64\Windows\System32:


en-US\shellstyle.dll.mui
ru-RU\explorerframe.dll.mui
ru-RU\ole32.dll.mui
ru-RU\oledlg.dll.mui
ru-RU\shell32.dll.mui
ru-RU\shellstyle.dll.mui
ru-RU\taskkill.exe.mui
ru-RU\twinapi.appcore.dll.mui
ru-RU\twinapi.dll.mui
ru-RU\twinui.appcore.dll.mui
ru-RU\twinui.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:\BuildPE\ISO с именами, например, MyPE1507x32.iso и MyPE21H2x64.iso.

8. Подготовка файла реестра


Некоторые извлеченные файлы из оригинальной ОС не будут работать без определённых ключей в реестре, так что эти файлы бесполезны пока не будут зарегистрированы в реестре и не только (нужно ещё прописать некоторые CLSID и Interface).

Качаем мой набор файлов с github и помещаем содержимое архива в C:\BuildPE\AddFiles\, чтобы каталоги x32 и x64 слились с теми, что были в архиве.

В этом же наборе будут настроенные CLaunch (о чем я писал выше), Explorer++, startnet.cmd, а также пара батников для удобства.

В обоих вариантах (x64 и x32) у нас следующий набор файлов:
Файлы настроек CLaunch:


Program Files\CLaunch\Data\СИСТЕМА\Classic.csd
Program Files\CLaunch\Data\СИСТЕМА\CLaunch.ini
Program Files\CLaunch\Data\СИСТЕМА\ClIcons.bin
Program Files\CLaunch\Data\СИСТЕМА\Design.ini


Ярлыки программ для меню пуск WinXShell:


ProgramData\Microsoft\Windows\Start Menu\7zFM.lnk
ProgramData\Microsoft\Windows\Start Menu\Autoruns.lnk
ProgramData\Microsoft\Windows\Start Menu\Explorer++.lnk
ProgramData\Microsoft\Windows\Start Menu\HWiNFO32.lnk
ProgramData\Microsoft\Windows\Start Menu\procexp.lnk
ProgramData\Microsoft\Windows\Start Menu\ProduKey.lnk
ProgramData\Microsoft\Windows\Start Menu\Programs\cmd.lnk
ProgramData\Microsoft\Windows\Start Menu\Programs\MdSched.lnk
ProgramData\Microsoft\Windows\Start Menu\Programs\notepad.lnk
ProgramData\Microsoft\Windows\Start Menu\Programs\regedit.lnk
ProgramData\Microsoft\Windows\Start Menu\Programs\taskmgr.lnk


Ярлыки программ для меню пуск WinXShell эксклюзивно для x32, т.к. этих программ нет в x64 версии:


ProgramData\Microsoft\Windows\Start Menu\Victoria.lnk
ProgramData\Microsoft\Windows\Start Menu\ExplorerXP.lnk


Файлы System32:
Windows\System32\config.xml — файл настроек Explorer++
Windows\System32\spectraconfig.reg — файл реестра, который настроит ОС и который активирует работу диалоговых окон прогресса копирования и не только
Windows\System32\startnet.cmd — файл, который Windows PE запустит сразу после запуска, этот файл применит файл реестра, а также запустит CLaunch для удобного запуска своих приложений
Windows\System32\UI.bat — удобный запуск WinXShell через командную строку при необходимости

По поводу файла startnet.cmd — он уже настроен так, чтобы при запуске показать основные характеристики железа, на котором запущена Windows PE, для стартового понимания за каким железом приходится работать, без необходимости включать HWiNFO. Вы можете обратить внимание что в startnet.cmd какие-то кракозябры, а не кириллица. Дело в том, что если вы хотите, чтобы командная строка показывала вам кириллицу, то нужно перед редактированием этого файла сменить кодировку на OEM 866 (в Notepad++ это: Кодировки > Кириллица > OEM 866), и только после этого набирать текст русскими буквами, в противном случае, не сменив кодировку и написав на кириллице, в cmd вы увидите кракозябры.

Что касаемо файла spectraconfig.reg — он тут ключевой, без него не будут работать Drag&Drop и диалоговые окна проводника. Из-за его длины, я не стал писать его содержимое в теле статьи, к тому же две версии этого файла (x64 и x32), а вывел его на отдельный ресурс, но объяснить его строение вам всё-таки нужно. Для тех, кому интересно, информация ниже в спойлере:

Путеводитель по spectraconfig.reg
Начну с конца файла:
Внутри комментария «Каталог по умолчанию для пользователя СИСТЕМА X:\Users\Default» имеются ключи реестра для переназначения папок пользователя по умолчанию. В Windows PE используется пользователь СИСТЕМА, который хранится в каталоге пользователя Windows\System32\config\systemprofile, где должен быть каталог Desktop и остальные (которых нет), и без этих каталогов программы выдают ошибки, пытаясь обратиться к несуществующим каталогам, например, к Desktop, чтобы отобразить его в дереве каталогов. Поэтому я сменил путь к пользовательским папкам с %userprofile%\Desktop (коим является фактический путь X:\Windows\System32\config\systemprofile\Desktop) на X:\Users\Default\Desktop, и по образу и подобию остальные папки пользователя.

Внутри комментария «Твики для удобства» и так всё понятно, т.к. я прокомментировал их в .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 этапа:

  1. Устанавливаем на локальный компьютер или виртуальную машину самую свежую версию ОС Windows 10, открываем реестр и для удобства делаем в файлы .reg экспорт двух веток:
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\
    На выходе будет два файла .reg которые можно открыть через Notepad++ и выполнять поиск нужных ключей.
  2. Находясь в реестре или в Notepad++ (я использую Notepad++ потому что через него удобно копировать ветку, и нет необходимости экспортировать в файл, потом открывать его и копировать...), поочередно запускаем поиск нужных нам Interface (если вы работаете через Notepad++ то вам нужен тот .reg файл который вы экспортировали из ветки HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\):


    IInterruptedOperationHandler
    IFileOperationProgressSink
    IOperationsProgressDialog
    IOperationStatusTile
    IOperationStatusService
    IOperationStatusSink
    IOperationInterrupt
    IObjectWithCachedState
    IConflictInterrupt


    И находим следующие ветки с их содержимым:


    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{036B4FC7-6A11-4C07-8046-22D268C37721}]
    @="IInterruptedOperationHandler"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{036B4FC7-6A11-4C07-8046-22D268C37721}\ProxyStubClsid32]
    @="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{04B0F1A7-9490-44BC-96E1-4296A31252E2}]
    @="IFileOperationProgressSink"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{04B0F1A7-9490-44BC-96E1-4296A31252E2}\ProxyStubClsid32]
    @="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{0C9FB851-E5C9-43EB-A370-F0677B13874C}]
    @="IOperationsProgressDialog"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{0C9FB851-E5C9-43EB-A370-F0677B13874C}\ProxyStubClsid32]
    @="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{4AE7498C-E1C0-475F-8573-41C26127C5D8}]
    @="IOperationStatusTile"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{4AE7498C-E1C0-475F-8573-41C26127C5D8}\ProxyStubClsid32]
    @="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5174EC-F425-4CD9-8643-CF36042987F1}]
    @="IOperationStatusService"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5174EC-F425-4CD9-8643-CF36042987F1}\ProxyStubClsid32]
    @="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{9BE5F0C8-774A-4070-9C9E-0627765E6C61}]
    @="IOperationStatusSink"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{9BE5F0C8-774A-4070-9C9E-0627765E6C61}\ProxyStubClsid32]
    @="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6FAF1156-8855-47B5-BDC8-4555D13C095F}]
    @="IConflictInterrupt"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6FAF1156-8855-47B5-BDC8-4555D13C095F}\ProxyStubClsid32]
    @="{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{8F45EF43-0585-4881-A90D-F55D35CE7797}]
    @="IOperationInterrupt"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{8F45EF43-0585-4881-A90D-F55D35CE7797}\ProxyStubClsid32]
    @="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{CD17328B-E4EF-4215-A92D-62A914658F82}]
    @="IObjectWithCachedState"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{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}.
  3. Находясь в реестре или в Notepad++, открываем две ветки тех CLSID, на которые ссылались предыдущие пункты, и находим следующее:


    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{95E15D0A-66E6-93D9-C53C-76E6219D3341}]
    @="PSFactoryBuffer"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{95E15D0A-66E6-93D9-C53C-76E6219D3341}\InProcServer32]
    @="C:\\Windows\\System32\\OneCoreUAPCommonProxyStub.dll"
    "ThreadingModel"="Both"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}]
    @="PSFactoryBuffer"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{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


Classes\CLSID\{07fc2b94-5285-417e-8ac3-c2ce5240b0fa}\InProcServer32 setvalue " " "X:\Windows\System32\twinapi.appcore.dll"
Classes\CLSID\{07fc2b94-5285-417e-8ac3-c2ce5240b0fa}\InProcServer32 setvalue "ThreadingModel" "Both"
Classes\CLSID\{34568a1f-8d5a-4080-99c7-464e2cb40008} setvalue " " "PSFactoryBuffer"
Classes\CLSID\{34568a1f-8d5a-4080-99c7-464e2cb40008}\InProcServer32 setvalue " " "X:\Windows\System32\twinapi.appcore.dll"
Classes\CLSID\{34568a1f-8d5a-4080-99c7-464e2cb40008}\InProcServer32 setvalue "ThreadingModel" "Both"
Classes\CLSID\{53067330-01CE-4027-947F-FF8580E92463}\InProcServer32 setvalue " " "X:\Windows\System32\twinapi.appcore.dll"
Classes\CLSID\{53067330-01CE-4027-947F-FF8580E92463}\InProcServer32 setvalue "ThreadingModel" "Both"
Classes\CLSID\{6B273FC5-61FD-4918-95A2-C3B5E9D7F581}\InProcServer32 setvalue " " "X:\Windows\System32\twinapi.appcore.dll"
Classes\CLSID\{6B273FC5-61FD-4918-95A2-C3B5E9D7F581}\InProcServer32 setvalue "ThreadingModel" "Both"
Classes\CLSID\{A1103531-6B1C-425F-A8C9-671616E40FA9}\InProcHandler32 setvalue " " "X:\Windows\System32\twinapi.appcore.dll"
Classes\CLSID\{B1AEC16F-2383-4852-B0E9-8F0B1DC66B4D}\InProcServer32 setvalue " " "X:\Windows\System32\twinapi.appcore.dll"
Classes\CLSID\{B1AEC16F-2383-4852-B0E9-8F0B1DC66B4D}\InProcServer32 setvalue "ThreadingModel" "Both"
Classes\CLSID\{D648FEA1-EA00-4FF4-B8BD-034BD2B25A23}\InProcServer32 setvalue " " "X:\Windows\System32\twinapi.appcore.dll"
Classes\CLSID\{D648FEA1-EA00-4FF4-B8BD-034BD2B25A23}\InProcServer32 setvalue "ThreadingModel" "Both"
Classes\CLSID\{958a6fb5-dcb2-4faf-aafd-7fb054ad1a3b}\InProcServer32 setvalue " " "X:\Windows\System32\twinapi.dll"
Classes\CLSID\{958a6fb5-dcb2-4faf-aafd-7fb054ad1a3b}\InProcServer32 setvalue "ThreadingModel" "Apartment"
Classes\CLSID\{B52D54BB-4818-4EB9-AA80-F9EACD371DF8} setvalue " " "Windows Search Platform"
Classes\CLSID\{50EF4544-AC9F-4A8E-B21B-8A26180DB13F} setvalue " " "Local Thumbnail Cache"
Classes\CLSID\{50EF4544-AC9F-4A8E-B21B-8A26180DB13F}\InprocServer32 setvalue " " "X:\Windows\System32\thumbcache.dll"
Classes\CLSID\{50EF4544-AC9F-4A8E-B21B-8A26180DB13F}\InprocServer32 setvalue "ThreadingModel" "Both"
Classes\CLSID\{2155fee3-2419-4373-b102-6843707eb41f} setvalue " " "CLSID_LocalIconCache"
Classes\CLSID\{2155fee3-2419-4373-b102-6843707eb41f}\InProcServer32 setvalue " " "X:\Windows\System32\thumbcache.dll"
Classes\CLSID\{2155fee3-2419-4373-b102-6843707eb41f}\InProcServer32 setvalue "ThreadingModel" "Both"
Classes\CLSID\{7efc002a-071f-4ce7-b265-f4b4263d2fd2} setvalue " " "CLSID_UIThreadThumbnailCache"
Classes\CLSID\{7efc002a-071f-4ce7-b265-f4b4263d2fd2}\InProcServer32 setvalue " " "X:\Windows\System32\thumbcache.dll"
Classes\CLSID\{7efc002a-071f-4ce7-b265-f4b4263d2fd2}\InProcServer32 setvalue "ThreadingModel" "Both"
Classes\CLSID\{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6} setvalue " " "PSFactoryBuffer"
Classes\CLSID\{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}\InProcServer32 setvalue " " "X:\Windows\System32\ActXPrxy.dll"
Classes\CLSID\{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}\InProcServer32 setvalue "ThreadingModel" "Both"
Classes\CLSID\{AE054212-3535-4430-83ED-D501AA6680E6} setvalue " " "Shell Name Space ListView"
Classes\CLSID\{AE054212-3535-4430-83ED-D501AA6680E6}\InProcServer32 setvalue " " "%SystemRoot%\System32\explorerframe.dll"
Classes\CLSID\{AE054212-3535-4430-83ED-D501AA6680E6}\InProcServer32 setvalue "ThreadingModel" "Apartment"
Classes\CLSID\{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}\InProcServer32 setvalue " " "%SystemRoot%\System32\dataexchange.dll"
Classes\CLSID\{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}\InProcServer32 setvalue "ThreadingModel" "Both"
Classes\Interface\{036B4FC7-6A11-4C07-8046-22D268C37721} setvalue " " "IInterruptedOperationHandler"
Classes\Interface\{036B4FC7-6A11-4C07-8046-22D268C37721}\ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
Classes\Interface\{04B0F1A7-9490-44BC-96E1-4296A31252E2} setvalue " " "IFileOperationProgressSink"
Classes\Interface\{04B0F1A7-9490-44BC-96E1-4296A31252E2}\ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
Classes\Interface\{0C9FB851-E5C9-43EB-A370-F0677B13874C} setvalue " " "IOperationsProgressDialog"
Classes\Interface\{0C9FB851-E5C9-43EB-A370-F0677B13874C}\ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
Classes\Interface\{4AE7498C-E1C0-475F-8573-41C26127C5D8} setvalue " " "IOperationStatusTile"
Classes\Interface\{4AE7498C-E1C0-475F-8573-41C26127C5D8}\ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
Classes\Interface\{6D5174EC-F425-4CD9-8643-CF36042987F1} setvalue " " "IOperationStatusService"
Classes\Interface\{6D5174EC-F425-4CD9-8643-CF36042987F1}\ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
Classes\Interface\{CD17328B-E4EF-4215-A92D-62A914658F82} setvalue " " "IObjectWithCachedState"
Classes\Interface\{CD17328B-E4EF-4215-A92D-62A914658F82}\ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
Classes\Interface\{9767060C-9476-42E2-8F7B-2F10FD13765C} setvalue " " "IImmersiveShellBroker"
Classes\Interface\{9767060C-9476-42E2-8F7B-2F10FD13765C}\ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
Classes\Interface\{9BE5F0C8-774A-4070-9C9E-0627765E6C61} setvalue " " "IOperationStatusSink"
Classes\Interface\{9BE5F0C8-774A-4070-9C9E-0627765E6C61}\ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
Classes\Interface\{6FAF1156-8855-47B5-BDC8-4555D13C095F} setvalue " " "IConflictInterrupt"
Classes\Interface\{6FAF1156-8855-47B5-BDC8-4555D13C095F}\ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
Classes\Interface\{8F45EF43-0585-4881-A90D-F55D35CE7797} setvalue " " "IOperationInterrupt"
Classes\Interface\{8F45EF43-0585-4881-A90D-F55D35CE7797}\ProxyStubClsid32 setvalue " " "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
Microsoft\Ole\Extensions setvalue "DragDropExtension" "{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}"
Classes\CLSID\{95E15D0A-66E6-93D9-C53C-76E6219D3341} setvalue " " "PSFactoryBuffer"
Classes\CLSID\{95E15D0A-66E6-93D9-C53C-76E6219D3341}\InProcServer32 setvalue " " "X:\Windows\System32\OneCoreUAPCommonProxyStub.dll"


regexportX32.txt

Classes\CLSID\{958a6fb5-dcb2-4faf-aafd-7fb054ad1a3b}\InProcServer32 setvalue " " "X:\Windows\System32\twinapi.dll"
Classes\CLSID\{958a6fb5-dcb2-4faf-aafd-7fb054ad1a3b}\InProcServer32 setvalue "ThreadingModel" "Apartment"
Classes\CLSID\{B52D54BB-4818-4EB9-AA80-F9EACD371DF8} setvalue " " "Windows Search Platform"
Classes\CLSID\{50EF4544-AC9F-4A8E-B21B-8A26180DB13F} setvalue " " "Local Thumbnail Cache"
Classes\CLSID\{50EF4544-AC9F-4A8E-B21B-8A26180DB13F}\InprocServer32 setvalue " " "X:\Windows\System32\thumbcache.dll"
Classes\CLSID\{50EF4544-AC9F-4A8E-B21B-8A26180DB13F}\InprocServer32 setvalue "ThreadingModel" "Apartment"
Classes\CLSID\{2155fee3-2419-4373-b102-6843707eb41f} setvalue " " "Local Icon Cache"
Classes\CLSID\{2155fee3-2419-4373-b102-6843707eb41f}\InprocServer32 setvalue " " "X:\Windows\System32\thumbcache.dll"
Classes\CLSID\{2155fee3-2419-4373-b102-6843707eb41f}\InprocServer32 setvalue "ThreadingModel" "Apartment"
Classes\CLSID\{7efc002a-071f-4ce7-b265-f4b4263d2fd2} setvalue " " "Local Thumbnail Cache"
Classes\CLSID\{7efc002a-071f-4ce7-b265-f4b4263d2fd2}\InprocServer32 setvalue " " "X:\Windows\System32\thumbcache.dll"
Classes\CLSID\{7efc002a-071f-4ce7-b265-f4b4263d2fd2}\InprocServer32 setvalue "ThreadingModel" "Apartment"
Classes\CLSID\{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6} setvalue " " "PSFactoryBuffer"
Classes\CLSID\{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}\InProcServer32 setvalue " " "X:\Windows\System32\ActXPrxy.dll"
Classes\CLSID\{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}\InProcServer32 setvalue "ThreadingModel" "Both"
Classes\CLSID\{AE054212-3535-4430-83ED-D501AA6680E6} setvalue " " "Shell Name Space ListView"
Classes\CLSID\{AE054212-3535-4430-83ED-D501AA6680E6}\InProcServer32 setvalue " " "%SystemRoot%\System32\explorerframe.dll"
Classes\CLSID\{AE054212-3535-4430-83ED-D501AA6680E6}\InProcServer32 setvalue "ThreadingModel" "Apartment"
Classes\CLSID\{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}\InProcServer32 setvalue " " "%SystemRoot%\System32\dataexchange.dll"
Classes\CLSID\{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}\InProcServer32 setvalue "ThreadingModel" "Both"
Classes\Interface\{036B4FC7-6A11-4C07-8046-22D268C37721} setvalue " " "IInterruptedOperationHandler"
Classes\Interface\{036B4FC7-6A11-4C07-8046-22D268C37721}\ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
Classes\Interface\{04B0F1A7-9490-44BC-96E1-4296A31252E2} setvalue " " "IFileOperationProgressSink"
Classes\Interface\{04B0F1A7-9490-44BC-96E1-4296A31252E2}\ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
Classes\Interface\{0C9FB851-E5C9-43EB-A370-F0677B13874C} setvalue " " "IOperationsProgressDialog"
Classes\Interface\{0C9FB851-E5C9-43EB-A370-F0677B13874C}\ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
Classes\Interface\{4AE7498C-E1C0-475F-8573-41C26127C5D8} setvalue " " "IOperationStatusTile"
Classes\Interface\{4AE7498C-E1C0-475F-8573-41C26127C5D8}\ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
Classes\Interface\{0C3C904A-AD89-4851-9C3D-210C080CEE18} setvalue " " "IOperationStatusService"
Classes\Interface\{0C3C904A-AD89-4851-9C3D-210C080CEE18}\ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
Classes\Interface\{CD17328B-E4EF-4215-A92D-62A914658F82} setvalue " " "IObjectWithCachedState"
Classes\Interface\{CD17328B-E4EF-4215-A92D-62A914658F82}\ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
Classes\Interface\{9767060C-9476-42E2-8F7B-2F10FD13765C} setvalue " " "IImmersiveShellBroker"
Classes\Interface\{9767060C-9476-42E2-8F7B-2F10FD13765C}\ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
Classes\Interface\{9BE5F0C8-774A-4070-9C9E-0627765E6C61} setvalue " " "IOperationStatusSink"
Classes\Interface\{9BE5F0C8-774A-4070-9C9E-0627765E6C61}\ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
Classes\Interface\{7CCBC4D6-7AC7-415C-B5BE-FAF75D8A1E85} setvalue " " "IConflictInterrupt"
Classes\Interface\{7CCBC4D6-7AC7-415C-B5BE-FAF75D8A1E85}\ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
Classes\Interface\{FEE9E8EA-1D4B-4076-88B1-CCCAAEC1C8AA} setvalue " " "IOperationInterrupt"
Classes\Interface\{FEE9E8EA-1D4B-4076-88B1-CCCAAEC1C8AA}\ProxyStubClsid32 setvalue " " "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"
Microsoft\Ole\Extensions setvalue "DragDropExtension" "{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}"


И сохраняем эти файлы в папке C:\BuildPE\util

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:\BuildPE\ISO\MyPE21H2x64.iso

Машина готова для запуска, но подключенный к ней .iso файл пока не готов. И об этом в следующем разделе. Начинается самое интересное.

Итак, у нас всё готово для начала сборки своего PE образа!

II. Редактирование WIM и ISO


1. Редактирование WIM


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

*для новичков* отобразить редакции в .wim файле чтобы понимать с чем вы работаете
Dism /Get-WimInfo /WimFile:"C:\BuildPE\originalWIM\x64\boot.wim"
на всякий случай отключаем .wim файлы если они ранее были подключены
DISM /Cleanup-Wim
в отдельный файл экспортируем из boot.wim вторую редакцию которой является Microsoft Windows Setup (x86), наличие второго файла сохраняет оригинал на всякий случай для дальнейших повторных сборок, а их будет не мало — работа над ошибками
Dism /export-image /SourceImageFile:C:\BuildPE\originalWIM\x64\boot.wim /SourceIndex:2 /DestinationImageFile:C:\BuildPE\edit.wim /Compress:max /CheckIntegrity
монтируем образ для внесения изменений
dism.exe /mount-wim /wimfile:C:\BuildPE\edit.wim /mountdir:C:\BuildPE\Mount /index:1
на этом этапе сворачиваем «Среду средств развертывания и работы с образами», но не в коем случае не закрываем!

прав администратора недостаточно для удаления лишних файлов в образе. чтобы повысить себе плава ещё выше, я обычно запускаю от имени администратора Explorer++, открываю папку, например, C:\BuildPE\ и находясь в ней нажимаю на \, после чего у меня открывается командная строка в которой я ввожу следующие команды:

удаляем программу установки ОС


erase C:\BuildPE\Mount\Setup.exe
takeown /F C:\BuildPE\Mount\sources\*.* /A
rd C:\BuildPE\Mount\sources\ /s/q

создаём каталог «Рабочий стол» для пользователя СИСТЕМА без которого Explorer++ может выдавать ошибку
mkdir C:\BuildPE\Mount\Windows\System32\config\systemprofile\Desktop
удаляем ненужные ярлыки из меню Пуск чтобы не видеть их в меню WinXShell

rd "C:\BuildPE\Mount\ProgramData\Microsoft\Windows\Start Menu\Programs\" /s/q
rd "C:\BuildPE\Mount\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\" /s/q

переходим в каталог, где хранится offlinereg и вносим изменения в реестр

cd /d C:\BuildPE\util\offlinereg
offlinereg-win64 C:\BuildPE\Mount\Windows\System32\config\SOFTWARE " " run C:\BuildPE\util\regexportX64.txt

копируем весь набор своего софта+доп файлы для ОС
xcopy /y /o /e "C:\BuildPE\AddFiles\x64\*.*" "C:\BuildPE\Mount\*.*"
удаляем лишние логи [дело привычки]


CD /D C:\BuildPE\Mount\Windows\System32\config
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:\BuildPE\Mount\Windows\System32\SMI\Store\Machine\
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:\BuildPE\Mount\Users\Default
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:\BuildPE\Mount" /commit
отключаем .wim файл
DISM /Cleanup-Wim
экспортируем готовый образ в новый .wim файл с целью избавится от папки [DELETED] который создаётся после редактирования .wim файла
DISM /export-image /sourceimagefile:C:\BuildPE\edit.wim /sourceindex:1 /destinationimagefile:C:\BuildPE\COMPLETE\64\boot.wim /compress:maximum
удаляем .wim файл в котором происходили изменения
erase C:\BuildPE\edit.wim

Те же команды для удобства копипаста
В «Среде средств развертывания и работы с образами»

Dism /Get-WimInfo /WimFile:"C:\BuildPE\originalWIM\x64\boot.wim"
DISM /Cleanup-Wim
Dism /export-image /SourceImageFile:C:\BuildPE\originalWIM\x64\boot.wim /SourceIndex:2 /DestinationImageFile:C:\BuildPE\edit.wim /Compress:max /CheckIntegrity
dism.exe /mount-wim /wimfile:C:\BuildPE\edit.wim /mountdir:C:\BuildPE\Mount /index:1


В cmd Explorer++

erase C:\BuildPE\Mount\Setup.exe
takeown /F C:\BuildPE\Mount\sources\*.* /A
rd C:\BuildPE\Mount\sources\ /s/q
mkdir C:\BuildPE\Mount\Windows\System32\config\systemprofile\Desktop
rd "C:\BuildPE\Mount\ProgramData\Microsoft\Windows\Start Menu\Programs\" /s/q
rd "C:\BuildPE\Mount\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\" /s/q
cd /d C:\BuildPE\util\offlinereg
offlinereg-win64 C:\BuildPE\Mount\Windows\System32\config\SOFTWARE " " run C:\BuildPE\util\regexportX64.txt
xcopy /y /o /e "C:\BuildPE\AddFiles\x64\*.*" "C:\BuildPE\Mount\*.*"
CD /D C:\BuildPE\Mount\Windows\System32\config
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:\BuildPE\Mount\Windows\System32\SMI\Store\Machine\
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:\BuildPE\Mount\Users\Default
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:\BuildPE\Mount" /commit
DISM /Cleanup-Wim
DISM /export-image /sourceimagefile:C:\BuildPE\edit.wim /sourceindex:1 /destinationimagefile:C:\BuildPE\COMPLETE\64\boot.wim /compress:maximum
erase C:\BuildPE\edit.wim



Готово! .WIM образ Windows 10 PE 21H2 x64 создан, осталось лишь занести его в .iso файл и можно пробовать первую заготовку. Теперь тоже самое можно повторить и для Windows 10 PE 1507 x32, но на этот раз я уберу комментарии дабы проще было копировать:

В «Среде средств развертывания и работы с образами»

Dism /Get-WimInfo /WimFile:"C:\BuildPE\originalWIM\x32\boot.wim"
DISM /Cleanup-Wim
Dism /export-image /SourceImageFile:C:\BuildPE\originalWIM\x32\boot.wim /SourceIndex:2 /DestinationImageFile:C:\BuildPE\edit.wim /Compress:max /CheckIntegrity
dism.exe /mount-wim /wimfile:C:\BuildPE\edit.wim /mountdir:C:\BuildPE\Mount /index:1


В cmd Explorer++


erase C:\BuildPE\Mount\Setup.exe
takeown /F C:\BuildPE\Mount\sources\*.* /A
rd C:\BuildPE\Mount\sources\ /s/q
mkdir C:\BuildPE\Mount\Windows\System32\config\systemprofile\Desktop
rd "C:\BuildPE\Mount\ProgramData\Microsoft\Windows\Start Menu\Programs\" /s/q
rd "C:\BuildPE\Mount\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\" /s/q
cd /d C:\BuildPE\util\offlinereg
offlinereg-win64 C:\BuildPE\Mount\Windows\System32\config\SOFTWARE " " run C:\BuildPE\util\regexportX32.txt
xcopy /y /o /e "C:\BuildPE\AddFiles\x32\*.*" "C:\BuildPE\Mount\*.*"
CD /D C:\BuildPE\Mount\Windows\System32\config
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:\BuildPE\Mount\Windows\System32\SMI\Store\Machine\
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:\BuildPE\Mount\Users\Default
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:\BuildPE\Mount" /commit
DISM /Cleanup-Wim
DISM /export-image /sourceimagefile:C:\BuildPE\edit.wim /sourceindex:1 /destinationimagefile:C:\BuildPE\COMPLETE\32\boot.wim /compress:maximum
erase C:\BuildPE\edit.wim

Готово! .WIM образ Windows 10 PE 1507 x32 создан, осталось лишь занести его в .iso файл и можно пробовать первую заготовку.

2. Редактирование .iso


С помощью UltraISO открываем наши .iso файлы, и в папку sources и вставляем наши только что испеченные файлы C:\BuildPE\COMPLETE\x64\boot.wim в C:\BuildPE\ISO\MyPE21H2x64.iso и C:\BuildPE\COMPLETE\x32\boot.wim в C:\BuildPE\ISO\MyPE1507x32.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 и нажав на соответствующий пункт.

image

Мы уже интегрировали в Windows PE нужные нам программы, некоторым программам не нужны никакие настройки, но некоторым они обязательны, и теперь мы можем их настроить чтобы получить файл настроек, затем сохранить его на отдельном виртуальном диске для дальнейшего извлечения в папку C:\BuildPE\AddFiles\… для дальнейшего создания второй версии своей Windwos PE в которой программы уже будут настроены так, как нам надо.

Чтобы сохранить файлы, нужен виртуальный диск, мы его подключили, но не форматировали. Поэтому с этого и начнём.

В запущенной Windwos PE в открытой командной строки вводим следующие команды:

diskpart
select disk 0
create partition primary
format quick override
assign
exit

После чего у нас будет диск С. Если вы сделали его объемом 2Гб, то хоть объём у него и небольшой, но нам и этого более чем достаточно т.к. необходимо скопировать лишь несколько конфигов объемом как правило менее 1Мб.

  1. Настройка CLaunch — Эта программа уже настроена в большей степени, но вы можете увеличить количество пунктов дополнив их своими программами, а также добавить дополнительные вкладки, настроить размеры окна, горячую клавишу вызова меню и т.д. После закрытия программы через Alt+F4 она сохранит все настройки внутри своего же каталога X:\Program Files\CLaunch\Data которые вы можете скопировать на диск C:\ воспользовавшись проводником Explorer++ который вы можете включить либо через заранее настроенный CLaunch, либо прописать в командной строке explorer++.
  2. Настройка меню Пуск WinXShell — В Explorer++ откройте диск X:\Program Files\ и сделайте ярлыки нужных вам программ, все созданные ярлыки вы можете скопировать на диск C:\.
  3. Настройка Notepad++ — после настройки Notepad++ все свои файлы настроек он хранит по адресу X:\Users\Default\AppData\Roaming\Notepad++ которые также можно скопировать на диск C:\

По окончанию всех работ по настройке программ и созданию ярлыков, а быть может вы и батники какие-нибудь создавали, вы можете выключить виртуальную машину, и с помощью 7-Zip открыть файл виртуального диска который находится там где вы указали адрес виртуальной машины при её создании, например, C:\Users\%username%\Virtual Machines\VHD\BuildMyPE.vmdk\, открыв .vmdk файл извлеките из него все конфигурации что вы создали и распределите по нужным каталогам для создания финального образа (эх, если бы всё так было просто):
Все созданные ярлыки для меню пуск извлечь в каталог C:\BuildPE\AddFiles\x64\ProgramData\Microsoft\Windows\Start Menu
Настройки CLaunch извлечь в каталог C:\BuildPE\AddFiles\x64\Program Files\CLaunch\Data
Настройки Notepad++ извлечь в каталог C:\BuildPE\AddFiles\x64\Users\Default\AppData\Roaming\Notepad++
Если вы перенастраивали Explorer++, то его настройки хранятся там же где и .exe файл, а в нашем случае это C:\BuildPE\AddFiles\x64\Windows\System32

Я не просто так показал пример с настройками, дело в том, что новички могут не сразу понять, что куда копипастить, а тут сразу 2 варианта:

  1. Программа хранит настройки в своей отдельной папке
  2. Программа хранит настройки рядом с своим .exe
  3. Программа хранит настройки в AppData
  4. Тут ещё не хватает варианта, когда программа хранит настройки в реестре, и тут уже гугл в помощь, а то для этой цели и так очень длинная статья сильно разрастется.

Ну чтож, на этом этапе мы готовы создать вторую версию образа. Для этого удаляем или переименовываем .wim файл C:\BuildPE\COMPLETE\x64\boot.wim, чтобы на его месте создать новый, и полностью повторяем шаг II.1 и II.2. Запускаем виртуальную машину и проверяем результат своих работ, находим ошибки, исправляем, и снова, и снова, и снова создаём новую версию образа до тех пор, пока не будет идеальный для вас вариант.

Надеюсь, моя статья оказалась для вас полезна. Она, конечно, достаточно занудна, но я решил, что уж лучше один раз доходчиво всё объяснить, чем оставить людей без какой-то ценной информации, которую можно искать годами.

P.S.
У меня была ситуация, когда был ноутбук, у которого исправно загружается ОС, и после того, как пропадает логотип Windows и перед тем, как начнется загрузка пользователя, появляется пауза длиной в 1-3 минуты. И как задать вопрос поисковику? Черный экран после загрузки ОС? Любой поисковик будет думать, что дело в том, что компьютер вообще не загружается и черный экран висит всё время после старта, выдан миллиард страниц на эту тему, а подойдёт по теме лишь единицы, которые даже не первых 100 страниц поиска (я проверял). Выходит, какими бы умными не были поисковики, а вот такие уточнения они ещё не скоро начнут понимать. Я сам задавал этот запрос в течении долгого времени, перелистал без шуток, сотни страниц, и по великой случайности, уже не через поисковики, а по темам форумов, перескакивая с одного форума на другой, как темы при разговоре с интересным человеком, в итоге нашел ответ на свой вопрос. Дело было в ULPS, который нужно было отключить в реестре. Это я всё к чему. С созданием Windows PE такая же ситуация, и например, чтобы сделать рабочим окно копирования в последних версиях ОС, нужно сделать то, о чем не знает даже Google, а как уж задать вопрос, это ещё сложнее. Собственно, именно это и стало причиной написать эту статью, раз уж другие умельцы об этом не пишут, хотя на торрентах свои работы выкладывают:)


III. Интеграция пакетов и драйверов


В начале статьи я обещал рассказать о интеграции дополнительных пакетов которые мы так и не установили в наш образ. Cкачиваем и дополнительно устанавливаем надстройку Windows PE для Windows ADK.

Допустим вам необходимо добавить NetFX, делаем следующее:
В уже смонтированном образе в пункте II.2 перед командой Dism /Unmount-Image /MountDir:«C:\BuildPE\Mount» /commit вводим следующие команды:

Dism /Add-Package /Image:"C:\BuildPE\Mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab"
Dism /Add-Package /Image:"C:\BuildPE\Mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-NetFX.cab"


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

Допустим вам необходимо интегрировать драйвер (например, линий PCI и накопителей SSD для MacBook последних лет чтобы вручную каждый раз их не устанавливать на рабочей ОС WinPE), то вводим следующую команду
Dism /image:C:\BuildPE\Mount /Add-Driver /Driver:C:\BuildPE\Drv\*.inf
Где * — это или все драйвера что есть в каталоге C:\BuildPE\Drv, или замените *, на имя конкретного файла драйвера.

Всем спасибо!

Комментарии (65)


  1. emipost
    27.12.2021 01:06
    +4

    2007 -ым повеяло, эх...


    1. spectralwhite Автор
      27.12.2021 01:16
      +1

      на работе почти каждый день использую DOS в узких задачах, ламповости по сей день хоть отбавляй))


  1. third112
    27.12.2021 01:15

    1. spectralwhite Автор
      27.12.2021 01:22
      +1

      Она не подойдёт как минимум для тех устрйоств у которых в UEFI зашит лок на загрузку чего угодно кроме Win8/8.1 и Win10 1507. К томуже есть полно софта которого нет на Linux, например Victoria, и достойных альтернатив я не встречал по сей день, и это кстати большой минус, т.к. я чаще всего использую DOS+Victoria, но там где есть только UEFI, особенно когда идёт речь о тесте M.2, приходится грузить тяжеловеса Windows PE, в то время как можно было бы, в теории, загрузить минимальный набор linux+Victoria общим весом 10-20mb.


      1. third112
        27.12.2021 01:36

        Я привык не торопиться со сменой "железа" на новое. Но каждому свое. Опасаюсь, что в наступающем году появится новое железо и софт, с которыми Ваш метод не сможет работать.


        1. spectralwhite Автор
          27.12.2021 01:42
          +1

          Тут дело не в своём железе, как я написал в начале статьи, эта инстуркция может быть особенно полезна сисадминам и компьютерным мастерам, а там железо клиентов каждый день новое, и в день бывает 10 штук. Согласен с тем что мой метод не сможет работать, но для этого я написал пути как пофиксить в будущем мою же инструкию, к томуже я скорее всего буду в комментариях указывать обновления + свои файлы реестра обновлять на GitHub, так что всё схвачено:)


          1. third112
            27.12.2021 01:56

            Хорошо, если так будет. Но с каждым годом наблюдается усиление тенденции несовместимости "устаревшего" с новым. Некоторые фирмы считают, что это повышает объем продаж, т.е. прибыль.


            Желаю успехов!


            1. spectralwhite Автор
              27.12.2021 02:05

              Спасибо)
              Я не думаю что Microsoft будет что-то сильно менять, они очень хорошо относятся к legacy, в противном случае, если они в новой ОС Windows сбросят обратную совместимость, то ОС станет никому не нужна. Поэтому у них до сих пор имеется 99% совместимость со всем тем железом что вышло со времен Windows Vista. Пускай даже совсем уж старый драйвера приходится с трудом находить и ручками ставить, а не на автомате через центр обновлений, но зато сам факт того что всё работает уже даёт понять что они не должны бросить своё наследие. Даже если и будет какой-то разрыв, никто не запрещает сделать ISO файл сразу с четырьмя образами, на загрузку Win10x32 1507 и загрузку Win10x64 / Win11x64 / WinNext


              1. third112
                27.12.2021 02:20

                А как с Win8.1 и WinXP, которые они перестали поддерживать? Не говорю про DOS, которую Вы помянули ;)


                1. spectralwhite Автор
                  27.12.2021 02:32
                  +2

                  Тут речь идёт о поддержке железа, а не ОС. Зачем использовать образ Windows PE 8 который НЕ поддерживает новое железо, в то время как есть образ Windows PE 11 который поддерживает почти абсолютно всё железо со времен Vista? Плевать на старые ОС, главное чтобы новые не теряли функционал. DOS я использую для работы программ которым нужен прямой доступ к железу, и да, очень жаль что нет DOS под UEFI, и приходится постепенно уходить от того софта.

                  Меня часто просят поставить Win7 на ПК где будет работать промышленные плоттер/ЧПУ станок/программируемая швейная машинка/сенсорная касса/кассовое оборудование/токены с ключами на 1С или CAD программы и многое другое. Я отказываюсь, смело ставлю Win10x32 вместо Win7x32, и всё работает. Сколько бы меня не убеждали что "знающие люди сказали что работает это только на Win7", в итоге практика показывает что 32-битная Windows 10 отлично ест x16 приложения и драйвера начала нулевых. У 99 клиентов из 100, а то и 199 из 200 всё работает, и лишь у одного исключения может быть что-то не так, например, привязка к конкретному номеру ядра ОС.
                  Ручками удаляются UWP приложения + свой набор твиков превращает Win10 в "аля Win7 с новым ядром" от которого люди не нарадаются.

                  Так что плевать на старые ОС, можно давно их слить, главное чтобы новые сохранили обратную совместимость.


                  1. third112
                    27.12.2021 02:43

                    Ручками удаляются UWP приложения + свой набор твиков превращает Win10 в "аля Win7 с новым ядром" от которого люди не нарадаются.

                    ИМХО не все такие умельцы, как Вы — не у всех получится ручками. Со своим набором твиков. Думаю, что поэтому не всем "плевать на старые ОС". А лично мне WinXP нравится. Я к ней привык. И старые свои проги под ней гоняю оффлайн. Зачем мне переустанавливать ОС?


                    1. third112
                      27.12.2021 02:58

                      Здесь подробнее писал про свою ситуацию.


                      1. spectralwhite Автор
                        27.12.2021 09:52

                        Спасибо, чуть позже почитаю.


                    1. spectralwhite Автор
                      27.12.2021 09:51

                      У меня была мысль написать ещё одну статью по поводу сборки своей ОС, но пока руки не дошли, там текста в разы больше. Я не против старых ОС в исключительных случаях, но никак не в глобальных - где поддердка одной ОС, а не десятка, упрощает жизнь разработчиков. У меня у самого есть отдальный ПК для олдскульных древних игр, которые лучше всего работают только на WinXP.


                      1. vasilievsky
                        27.12.2021 15:12
                        +1

                        spectralwhite, можно ваши инструкции по удалению UWP приложений + свой набор твиков для превращает Win10 в Win7 ?


                      1. spectralwhite Автор
                        27.12.2021 15:29
                        +1

                        Можно, но чуть позже, потому что там писанины значительно больше чем в этой статье, а в сыром виде ничего непонятно будет.


                      1. vasilievsky
                        27.12.2021 15:43

                        Спасибо


                      1. third112
                        28.12.2021 00:14

                        поддердка одной ОС, а не десятка, упрощает жизнь разработчиков.

                        ИМХО VM с 10 ОС — вполне просто.


                  1. dikey_0ficial
                    27.12.2021 19:41
                    +2

                    не нарадаются

                    это значило "не нарадуются" или "не нарыдаются"?)


                    1. spectralwhite Автор
                      27.12.2021 22:00
                      +1

                      :) нет, они очень рады что всё отлично работает. после Win7, на win10 количество BSOD свелось к нулю.


      1. Zhbert
        27.12.2021 10:47
        +1

        Victoria, и достойных альтернатив я не встречал по сей день

        Вот тут подтвеждаю, это единственная утилита, ради которой у меня ещё где-то валяется загрузочный диск с виндой. Выручала много раз, когда были проблемы с винтами (даже просто оценить состояние).

        Насчет отсутствия аналогов под нормальные ОС — есть dd_rescue, которая тоже умеет низкоуровненую работу с HDD. К сожалению, опыта работы с ней особо нет, чтобы сравнить с викторией, поэтому дальше нужно ждать специалистов, которые с ней работали.


        1. lll000lll
          27.12.2021 17:39

          Зацените вот эту штуку: https://habr.com/ru/post/598001/comments/#comment_23876681


      1. lll000lll
        27.12.2021 17:38
        +1

        Времена идут... является самой лёгкой по объему и запустится везде где только можно Не все вышеуказанные программы имеют portable версии... например Victoria, и достойных альтернатив я не встречал по сей день

        Попробую предложить альтернативу Виктории: https://rlab.ru/tools/rtester.html

        • Утилита максимально легковесна - написана на чистом C++ и запускается как на старых, так и современных версиях Windows;

        • По умолчанию распространяется в переносном варианте (.ZIP-архив) и не требует установки;

        • Обновляется в ногу с идущим временем - поддерживает NVME, SCSI, и SAS-диски;

        • Помимо "традиционных" тестов с детальным измерением скорости чтения и записи, времени доступа, и IOPS в различных режимах (random, accordion, и т.п.), может автоматически диагностировать накопители на основе информации от пользователя и значений SMART. Также позволяет посмотреть СМАРТ для SCSI и SAS HDD;

        • Имеет возможность сохранять информацию о накопителях в виде дампов (снимков состояния), которые потом можно изучить на другом компьютере, в т.ч. добавив туда результаты тестов.

        • Есть шикарнейшие встроенные ATA и SCSI коммандеры, с подсказками. Больше ни где таких удобных не видел. А уж в бесплатном софте вообще ничего подобного нет.

        • Инструмент CERT Tool light позволяет запускать сразу пакеты тестов и детально изучать их результаты.

        • Есть инструмент для быстрой автоматической диагностики состояния хардов.

        • Автодетект применения технологии SMR.


        1. DerRotBaron
          27.12.2021 21:57

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


          1. spectralwhite Автор
            27.12.2021 22:08

            Для повседневных задач Windows PE самое то. А уже в узких задачах можно прибегнуть и к ПО на Linux, как вариант R-Studio Emergency Network очень неплохо справляется, при том что сама ОС Linux + ПО R-Studio суммарно весят менее 100Мб.


          1. lll000lll
            29.12.2021 00:37

            В профессиональном восстановлении данных чаще всего используется винда.


            1. spectralwhite Автор
              29.12.2021 10:41

              В профессиональном восстановлении используется тот же R-Studio Emergency Network который так же есть и на Linux, где нет ненужных/лишних опросов к жесткому диску. Я не имею ввиду ОС с GUI онованную на Linux, я имею ввиду как раз BootCD от R-Studio, где лишь ядро Linux + драйвера под видеокарту и котроллеры накопителей, GUI и собственно сама прграмма. Может под Windows и согдано полно программ, но мы оба знаем, что если жесткий диск поврежден, Windows делая различные обращения к нему (наличие разделов, файлов которые надо проверить на вирус и индексировать и т.д.), не даёт пользователю и профессиональному ПО достучаться до наскопителя в своих целях.


        1. spectralwhite Автор
          27.12.2021 22:05

          Спасибо за информацию, есть что изучить, хотя интерфейс при первом включении не вызвал интереса, на первый взгляд очень примитивная утилита, но, по вашему описанию умеет больше чем кажется. Однако, она требует среду Windows, а Windows - это тяжеловес. Я жду когда кто-то сделает подобное ПО на UEFI или Linux.


          1. lll000lll
            29.12.2021 00:37

            Так уж исторически сложилось, что профессиональные инструменты для восстановления данных делаются в первую очередь под винду. И поскольку у специалистов на десктопах винда, различные бесплатные утилиты для обычных и продвинутых пользователей "по инерции" делаются под винду. Под Linux есть smartctl. Ну и с помощью консольных утилит разных можно тесты поверхности выполнять.


            1. spectralwhite Автор
              29.12.2021 10:35

              Я понимаю что всё "по инерции" делается под винду, но это не отменяет того факта, что нам, специалистам, очень бы пригодилось что-то гораздо попроще. Особенно это касается тех случаев, когда Windows ввиду своей тяжести, мало того что нагружает железо, так ещё и делает ненужные опросы, вроде наличия дисков, разделов, монтирования их в системе когда это не нужно в случае если накопитель поврежден и т.д. То ли дело DOS, включился, ни к чему не обращается, и лишь по запросам делает конкретные задачи, но, DOS не работает в UEFI, а UEFI в своб очереди и так является микроОС, для которого другая ОС и вовсе ненужна, и можно прям в нём запустить какое нибудь ПО, но, такого ПО нет, либо есть и я плохо гуглил.


            1. spectralwhite Автор
              29.12.2021 16:48

              Самое главное забыл написать, с чего собственна и начался этот деалог. В случае использования WinPE+Victoria, я не люблю тестировать через WinPE, потому что из-за лишнего "программного слоя" появляются задержки которые искажают выходные данные. Проверяя на одном и том же ПК результаты одного и того же накопителя сделанные через DOS+Victoria и WinPE+Victoria, выходи так, что в WinPE+Victoria жесткий диск оказывается значительно медленнее. А была бы ОС поменьше, то и данные были бы более реальны, как в случае с DOS+Victoria, но нет ПО которое бы тестировало накопители через UEFI напрямую, либо есть, но я не знаю.


        1. bazhenovkrm
          29.12.2021 16:44

          1. spectralwhite Автор
            29.12.2021 16:45

            Про HDAT2  знаю, но интерфейс не даёт возможности наглядно оценить состояние накопителя как это можно видеть в MHDD и Victoria. А HDDExpert я не изучал и есть что пощупать на досуге.


  1. kompilainenn2
    27.12.2021 01:29
    +1

    Где готовый образ-то заценить?

    Я когда-то юзал WinXP-PE размером 48 мегабайт всего, оно загружалось вполне себе, я с её помощью проверял, что мне собрали то, что я заказал в магазине, в плане железа


    1. spectralwhite Автор
      27.12.2021 01:38

      Я не уверен на сколько легально выкладывать такие вещи, поэтому не стал публиковать здесь готовое решение, к томуже у каждого свои задачи, не угадаешь кому что нужно.


  1. spectralwhite Автор
    27.12.2021 01:39

    Я дико извиняюсь, но пункт III опубликовал с опозданием в пол часа. Глаз замылился и я про него забыл *facepalm*


  1. Evengard
    27.12.2021 02:46
    +1

    А что по поводу лицензий? Как вообще это лицензируется?


    1. spectralwhite Автор
      27.12.2021 09:55

      А я и сам не знаю, именно по этой причине и не выкладывал готовый вариант. "Собери сам для своих целей" - вроде как никогда не каралось. Мы по прежнему используем Windows PE, а не превращаем её в полноценную Windows 10 с редакцией Pro. Приложения используем в ОС Windows, а не в Linux через эмуляторы, и приложениям неважно какая версия и редакция ОС. Но тем не менее, всё вышесказанное мной в этом ответе - это как отмазка, а по факту как я уже сам и сказал, я и сам не знаю.


  1. aokoroko
    27.12.2021 06:34
    +4

    Win PE можно сделать гораздо проще. Создать установочный носитель Windows на флешке стандартным средством от Microsoft. Взять оригинал winpe.wim разрядности x86 из Windows ADK, переименовать его в boot.wim и поместить в папку sources установочной флешки с заменой. После чего все файлы и папки, кроме файла bootmgr, папки boot и файла sources\boot.wim (ранее имевшего имя winpe.wim), с флешки удалить. Всё! Это для загрузки в обычном BIOS и использования 32-битных программ.
    Если нужно грузиться на машинах, где есть только UEFI, то надо брать 64-разрядный файл winpe.wim и не удалять еще папку efi с флешки. НО тогда можно будет использовать только 64-разрядный софт, так как в winpe x64 отсутствует подсистема для запуска 32-битных программ и, например, Victoria не запустится.
    Для Victoria, кстати, нужно еще porttalk.sys скопировать в Windows\System32\drivers внутри winpe.wim - смонтировать dism-ом, скопировать, отмонтировать. И да, shfolder.dll нужен, это в Windows\System32, взять из обычной Windows. А для GetDataBack, которой я пользуюсь, нужен файл oledlg.dll - тоже в Windows\System32. Всё. В качестве файлового менеджера в winpe спокойно можно использовать Far Manager или Total Commander, и им никакие файлы не нужны дополнительно. Или написать свой shell, например такой, как на картинке ниже.
    Наконец, можно просто использовать стандартный дистрибутив Windows и нажимать в нем после загрузки комбинацию Shift F10 - для открытия окна cmd, и дальше уже запускать что угодно.



    1. spectralwhite Автор
      27.12.2021 10:03

      Это уже тонкости в которых можно разбиратся постепенно. "Взять оригинал winpe.wim разрядности x86 из Windows ADK" - сейчас вы уже не найдёте Windows ADK версии 1507, и да, он нужен не только для BIOS, но и для UEFI у которых ЦП x32 only.

      "Far Manager или Total Commander" не всем по душе, а моё решение как раз для тех кто любит более-менее класскический проводник.

      Про porttalk.sys спасибо за информацию, буду знать, но последний раз когда я пользовался Victoria, он не был нужен, либо я не использовал в программе то, что могло бы потребовать этот файл.

      "стандартный дистрибутив Windows" как раз и не имеет ничего что нужно для запуска этих программ, потому что загружается тот самый boot.wim index2 над которым мы и проводим все манипуляции, прокачивая его долпнительным функционалом.

      "написать свой shell" - большинству это вообще совсем не всем проще))


      1. aokoroko
        27.12.2021 14:42

        Я очень извиняюсь, но 32-битный файл winpe.wim есть во всех ADK, включая самый последний на базе Windows 11. Точнее, сейчас это называется Windows PE add-on for the Windows ADK, он скачивается отдельно от основного ADK. Не соображу, зачем может понадобиться искать версию 1507.


        1. spectralwhite Автор
          27.12.2021 15:10

          Как и написано в статье, x32 1507 нужен лишь для старых устрйоств вышедшие на Win8 и не имеющие возможность загрузить что-то новее. Из моего опыта некоторые из таких устройств исправно загружают Windows PE x32 версии 1607, но уже 1703 они загрузить не могут, и тем более более свежие версии. К томуже тут убиваем сразу двух зайцев: 1) x32 1507 имеет самый малый объем, т.к. последующие версии лишь увеличиваюся в размерах, а толку от нового функционала нет т.к. x32 требуется загружать лишь на древних устройствах; 2) Гарантированная загрузка в режиме UEFI на всё старом железе (которое поддерживает UEFI, а то требует его) которое не всегда может загрузить более свежие версии - к загрузке с BIOS это не относится.


          1. aokoroko
            27.12.2021 18:34

            Там где я живу - в Республике Беларусь - очень много настольных компьютеров с процессорами без NX и без SSE2. Поэтому здесь актуальна winpe 3.1 - из Windows AIK для Windows 7 SP1. Скачать его всё ещё возможно можно по официальной ссылке https://www.microsoft.com/en-ca/download/details.aspx?id=5188


            1. spectralwhite Автор
              27.12.2021 22:11

              Согласен, не бывает одного полностью универсального решения. Я и сам использую в запасе Microsoft DaRT всех версий на все случаи в жизни, а ещё и DOS с DiskGenius или Linux с R-Studio Emergency Network никто не отменял. Последее кстати отлично дергает данные с macOS.


  1. real_root
    27.12.2021 11:44
    +1

    Уважаемый автор, зачем все это делать вручную, когда есть Winbuilder, который собственно говоря делает ровно тоже самое. Кстати, 10ка с ram загрузкой (после загрузки флешку можно вытащить) с акронисами, тотал коммандером, Викторией и прочими программами) весит всего 400Мб и для загрузки требует 1Гб озу.


    1. spectralwhite Автор
      27.12.2021 11:48
      +4

      Когда делаешь сам, имеешь полный контроль над происходящим. В тех случаях где Winbuilder не справится, зная как всё работает, самостоятельно получится решить вопрос.

      К томуже если во всех случаях полагаться на готовые решения, то в нужный момент, не зная как работают эти программы, и когда они не смогут выполнить ваше ТЗ, самостоятельно БЫСТРО разобраться и сделать свой варинт не получится. Это как ездить каждый день на машине, и не понимать ничего о работе своего авто, и даже в примитивных поломках полагаться на автосервисы, и вот когда колесо по пути спустит/проколится, не знать как его накачать/заменить и т.п.

      Знание сила!


  1. AleksandrPermyakov
    27.12.2021 11:48

    Спасибо огромное - очень пользительно!!!


  1. Ironcast
    27.12.2021 20:18

    Очень любопытно, я чужие сборки юзал, начиная как раз с Hiren Да, а с 98 вам что-то реально удавалось загрузить? Или там что-то на базе ДОС было? Да, а первый мой LiveCD это Knoppix c какого-то журнала, где-то 2004 год


    1. spectralwhite Автор
      27.12.2021 22:14

      Первый образ я самостоятельно создал на Win98 без каких либо инструкций. Черпая информацию частями: как загрузить ОС с USB HDD; как создать драйвер (аля HDD) для конкретный флешки и т.д. Но на деле всё это работало очень криво и вечно синячило, то скорости не хватало, то железо разное, в общем баловство. Однако, это бесценный опыт. И да, сама Win98 - это и есть графическая оболочка на базе DOS, так что, другого варианта и не могло быть.


  1. Diordna
    27.12.2021 21:54

    Благодарю за статью. Можете написать как на внешний ссд установить несколько операционных систем например XP Семёрку десятку и Linux?


    1. spectralwhite Автор
      27.12.2021 22:19

      Спасибо) Честно говоря не практиковал наличие нескольких ОС на одном накопителе, максимум macOS+Windows. Я за чистоту на накопителях, поэтому у меня несколько устройств и не которых по несколько виртуальных машин на одном устройстве. Но если очень приспичит, то несколько накопителей на ПК или ноуте для ручной загрузки нужной ОС на определенном копителе.

      Учитывая что у меня не было в этом практики, но есть теоритические знания в этом, я могу сразу сказать что могут быть сложности с разными файловыми системами, разными загрузочными разделами на одном накопителе, большим количеством разделов (не проблема для GPT), но всё это в теории можно пофиксить одним хорошим загрузчиком, каким, не знаю, надо гуглить.


  1. Bar500k
    29.12.2021 15:38

    Доброго времени уважаемый spectralwhite ! Долго искал информацию о создании загрузочной флешки WinPE, и наткнулся на Вашу статью. Очень интересно, но прочитав понял что моих навыков не достаточно чтобы произвести все что вы описали..(

    Есть ли у Вас возможность выложить готовый iso образ Вашей загрузочной флешки?

    Есть ли какой-то простой способ создания такой флешки самому? Не прибегая к таким сложным операциям с углубленным пониманием работы системы.

    В идеале нужна система WinPE x64+x32 (для приложений обоих типов), в сборке должен быть современный безопасный браузер, просмотрщик картинок и фотографий, легкий видео/аудио плеер, текстовый редактор, просмотрщик документов MS Office (doc, docx, xml, pdf и т.д.), программы Acronis DD и TI, Victoria и возможность добавления portable программ.

    Создавал по рекомендациям большей части комюнити флешку с помощью AOMEI PE Builder, но в ней нет возможности установить программы в сборку при создании образа, только portable, при чем большинство portable программ не работают и создать образ можно только - либо x32, либо x64. Созданная мной флешка оказалась практически бесполезной.(

    Ранее пользовался различными сборками, например BartPE, все было хорошо, много предустановленных программ, из которых есть и полезные.. Но много - не есть хорошо и большая часть - бесполезный хлам. И самое главное не хочется иметь под рукой сборку с сомнительным происхождением, даже если она на 100% чистая, при возникновении проблемм все время начинал грешить на скачаную сборку LiveCD и в итоге полностью сносил систему и устанавливал чистую ось, со всеми вытекающими.


    1. spectralwhite Автор
      29.12.2021 15:58

      Ух, ваши требовая не очень подходят для WinPE, и вот почему:
      1) WinPE полностью загружается в оперативную память, а при таком большом количестве приложений, в компьютере должно быть по меньшей мере 8-16Гб RAM, что есть не у каждого. Другое дело когда на флешке есть базовая часть, а второстепенная будет загружаться с флешки по мере необходимости, но тогда флешка должна быть в компьюетре на время всего использования.
      2) Даже если и сделать как я написал в предыдущем пункте, то всё равно не получится устанавливать программы в ОС, потому что WinPE загружается из boot.wim файла, который в свою очередь НЕ РЕДАКТИРУЕТСЯ во время работы. Так вот, допустим, вы загрузили ОС, она записалась в оперативку, но после перезагрузки все данные из оперативки удаляются, а файл boot.wim остаётся нетронутым. Следовательно, изменения сохранены НЕ будут.
      3) Даже если и опустить второй пункт, то те программы что вы хотите интегрировать в ОС, будут требовать системные файлы которых в WinPE нет, и которые нужно добавлять вручную, и их количество многократно увеличится, что превратит WinPE в почти полноценную ОС, большую и тяжелую для загрузки с флешки.
      4) Вы хотите использовать интернет, а это влечет интеграцию сетевых драйверов, которые можно поставить, и, нужного не хватит, добавите его, а потом ещё какого-то не хватит.

      В итоге получится ОС которая ни туда, ни сюда.

      Единственный выход - использовать Windows ToGo. По ней я ничего не расскажу т.к. не пробовал, да, есть такой грех)) Но я знаю точно что это и есть ответ на ваш вопрос, т.к. ОС создана для загрузки с флешек, и скорее всего, Microsoft продумали момент доустановки форта и т.д.

      Я же на вашем месте использовал бы внешний SSD, а не флешку, это и скорость работы повысит, и шансы на то, что ОС будет исправно загружаться и не сыпать ошибками что накопитель неподдерживается.

      Думаю Linux нет смысла предлагать т.к. там намучаетесь + не весь нужный софт есть.


      1. Bar500k
        29.12.2021 17:35

        В пункте 4. Подготовка софта, Вы описали как можно самому создать portable программу. Не знаю только с Acronis пройдет-ли такой трюк, так как он интегрируется в систему при установке..

        Не вижу смысла закидывать весь образ в оперативку, так как нет необходимости вынимать флешку во время работы с WinPE. Как Вы уже сказали, пусть будет базовая часть, необходимая для работы WinPE и дополнительная с дополнительным набором драйверов, приложений и служб, которые при необходимости можно загрузить и выгрузить. Как работает обычная ось с жесткого диска, только в данном случае будут работать только необходимые службы.

        Интернет не обязательная часть, но крайне желательная.. Так как часто требуется интернет, чтобы найти инфу, скачать драйвер, приложение или образ BIOS. Наличие интернета под рукой многократно упрощает жизнь.

        Если сетевые драйвера много весят, разве нельзя их закинуть на саму флешку, не загружая в ОЗУ и почему раньше люди без проблем пользовались интернетом с 2 и даже менее Гб ОЗУ? Или современный браузер требует так много? Ну пусть тогда будет не современный, главное чтобы был.

        Я так и думал что WinPE это и есть огрызок от нормальной ОС, очень сильно урезанный по функционалу. Понятно что если добавить все функции нормальной Win10, то потребуется более 20 Гб. Но зачем тогда WinPE?)

        Главное чтобы можно было запускать любые приложения x32 и x64. Например Acronis TI и DD, Kaspersky VRT, Dr.Web CureIT и Victoria 5.37.

        Ни разу еще не столкнулся с неподдержкой USB накопителя.


        1. spectralwhite Автор
          29.12.2021 17:46

          Драйвера сетевых карт+WiFi можно вынести на флешку и загружать через батник, а вот в целом добавить сетевые функции уже сложнее, но можно. По поводу portable программ, куча вариантов есть на торрентах, другое дело зависимости - программы рассчитывают на то, что в ОС есть те или иные файлы, а в WinPE их нет, и придётся добавлять руками. И получится следующая картина: включешь браузер, вылетает ошибка что нет такого вот .dll, ставишь его, снова вылезает ошибка, ещё один файл нужен, так добавляешь 50шт, и вот браузер включился, открывает в нём закладки, хренак и он вылетел, оказывается ещё один файл нужен, и дальше играешься. В итоге это потеря времени. У меня же всегда под рукой ноут для скачивания всего чего нужно. Скачал, закинул на флешку, вставил в ноут клиента и делаешь дальше всё что хочешь. Да, лишние манипуляции, но это всё равно быстро, т.к. свой ноут шустрый, и время тратится лишь на вытащить/вставить/скопировать файл/вытащить/вставить флешку. Да, иметь интернет в WinPE очень удобно, но я на столько сильно не ковырял. Выясню как это делается, напишу новую статью в дополнение к этой статье.


          1. Bar500k
            29.12.2021 17:53

            СПС! Очень большая польза будет не только мне..)


          1. Bar500k
            29.12.2021 18:04

            По поводу приложений в таком случае можно ограничиться только теми, что я написал, еще добавить туда AdwCleaner, OCCT и AIDA-64 можно, они вроде без проблем запускаются на WinPE.


        1. Bar500k
          29.12.2021 17:47

          Когда-то давно я создавал такой LiveCD на основе LiveCD с минимальным набором утилит от какого-то сборщика.. Но всегда хотелось создать свою собственную сборку на основе официального WinPE/RE, чтобы было только то что мне необходимо и самое главное была полная уверенность в чистоте от вредоносов.


          1. Bar500k
            29.12.2021 17:56

            Вот только прочитав эту статью, я понял что я ничего не понял.) Ну не всем дано конечно, а что делать таким как я? Юзать чьи-то сборки LiveCD и трястись потом, чтобы пронесло?


            1. spectralwhite Автор
              29.12.2021 18:15

              Я даже не знаю, я пытался написать статью на столько подробно, чтобы каждый смог сделать свой вариант. Да, я подробно не расписывал пункт про программы, но как по мне, установить тот же 7-Zip на свой ПК, а потом просто скопировать папку установленной программы в addfiles не должно быть сложной задачей. На крайняк торренты с portable версиями программ никто не отменял. Я думаю вам стоит попробовать, и по ходу сборки вы поймёте что всё будет очень просто. Это лишь на первый взгляд кажетсячто сложно, а всё из-за объемов статьи, но по чуть-чуть оно всё легко.


              1. Bar500k
                29.12.2021 20:35

                О! Я понял! Вам нужно разбить эту статью на несколько частей. Не искушенному юзеру, к коим отношу и себя, очень сложно переварить за раз, такой объем информации. Нужно все что Вы написали разделить на отдельные уроки. Не плохо бы было на Ютубчик выложить в канальчик.) На самом деле такого сорта уроков по пальцам пересчитать можно, а на видео все будет гораздо более доступно и впитуемо, даже можно будет добавить то, что хотелось бы, но и так слишком большой объем текста получился;). Ну и популяризацию IT мозгов в массы привнесете!)


                1. Bar500k
                  29.12.2021 20:47

                  а то Ютуб что-то говном всяким подзабился, раньше хоть дельное что-то было, а сейчас миллион каналов и везде одно и тоже, как под копирку.. Инфа вроде "Как установить Windows 10" или "как отформатировать флешку"..


          1. spectralwhite Автор
            29.12.2021 17:57

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


            1. Bar500k
              29.12.2021 18:07

              Надеюсь Новый год будет не следующим!=)) С нетерпение жду, КАК можно скорее!)


            1. Bar500k
              29.12.2021 18:26

              Хотелось бы иметь такой конструктор, чтобы можно было без проблем, желательно вообще без коммандной строки создавать собственную сборку на основе официального WinPE, не прибегая к сторонним программам вроде AOMEI PE Builder. На что я и расчитывал ранее, до этой статьи.. Думал что на основе стандартных средств WinPE/RE можно легко и непринужденно сделать все самому. Долго гуглил информацию по теме, но ничего толком так и не нашел, потом наткнулся на Вас и прочитав эту статью понял что это все крайне сложно и приуныл.(