Как добавить свою утилиту в среду восстановления Windows 11 и 10
Среда восстановления Windows может быть очень полезной, когда необходимо восстановить работу ОС после тех или иных действий, которые привели к нежелательным результатам. По умолчанию в ней уже присутствуют почти всё, что необходимо, однако иногда могут требоваться дополнительные инструменты.
В этой инструкции о том, как добавить собственный пункт и соответствующую программу в среду восстановления Windows 11 или Windows 10.
Добавление инструментов в среде восстановления
Вы можете добавить в среду восстановления любые программы и утилиты, которые могут выполняться ограниченной среде (то есть не требуют запуска «полной» Windows со всеми драйверами и функциями) и могут работать в портативном режиме — почти все инструменты, которые вы встречаете на различных LiveCD подойдут. Но есть ограничение: возможно добавление только одного собственного инструмента в меню среды восстановления.
Далее в качестве примера будет рассмотрено ручное добавление Dism++ в среду восстановления Windows 11 (в Windows 10 и для других программ всё будет выполняться аналогичным образом).
Порядок действий будет следующим:
- Запустите командную строку от имени администратора.
- Отключите среду восстановления с помощью команды
reagentc /disable
- Создайте папку на диске для подключения образа со средой восстановления, в моем случае это будет папка C:\winre, создать её можно вручную в проводнике или с помощью команды
md C:\winre
- Введите команду (путь к папке C:\winre измените на свой)
Dism /mount-image /imagefile:C:\Windows\System32\Recovery\winre.wim /index:1 /mountdir:C:\winre
- В блокноте или другом текстовом редакторе создайте с именем WinREConfig.xml, в кодировке UTF-8 со следующим содержимым:
<?xml version="1.0" encoding="utf-8"?> <!-- WinREConfig.xml --> <Recovery> <RecoveryTools> <RelativeFilePath>Dism++x64.exe</RelativeFilePath> <CommandLineParam>/param1 /param2</CommandLineParam> </RecoveryTools> </Recovery>
Здесь в параметре RelativeFilePath задаётся имя исполняемого файла (не путь к нему), а в CommandLineParam — параметры запуска. Если параметры запуска не требуются, удалите эту строку, оставлять её пустой не следует. - Сохраните файл WinREConfig.xml (внимание: при сохранении в блокноте в поле «Тип файла» нужно указать «Все файлы», иначе он сохранится как TXT) в папке со смонтированным образом, в моём случае путь будет C:\winre\sources\recovery\tools причём папка tools по умолчанию отсутствует, её потребуется создать. Для сохранения файла могут потребоваться права администратора.
- Скопируйте вашу утилиту (все её файлы и папки) в ту же папку tools таким образом, чтобы исполняемый файл утилиты был в корне этой папки.
- Сохраните изменённый образ среды восстановления с помощью команды (путь измените на свой)
Dism /unmount-image /mountdir:C:\winre /commit
- Создайте текстовый файл в кодировке UTF-8 со следующим содержимым:
<?xml version="1.0" encoding="utf-8"?> <!-- AddDiagnosticsToolToBootMenu.xml --> <BootShell> <WinRETool locale="en-us"> <Name>Tool Name</Name> <Description>Tool Description</Description> </WinRETool> <WinRETool locale="ru-ru"> <Name>Название утилиты</Name> <Description>Описание утилиты</Description> </WinRETool> </BootShell>
здесь указаны имена и описания утилиты на русском и английском языках, тем же образом можно добавить другие языки. Сохраните файл AddDiagnosticsToolToBootMenu.xml в удобное расположение на компьютере (имя файла можно задать и другое, но обязательно — XML), например, в C:\Windows\System32\Recovery - Введите команду (указав фактический путь к созданному на 9-м шаге файлу):
reagentc /setbootshelllink /configfile C:\Windows\System32\Recovery\AddDiagnosticsToolToBootMenu.xml
для добавления нового пункта в меню среды восстановления. - Введите команду
reagentc /enable
чтобы включить среду восстановления.
Если всё прошло успешно, то при следующей перезагрузке в среду восстановления (например, с помощью Shift+Перезагрузка) вы увидите свою утилиту в разделе «Поиск и устранение неисправностей»:
И, если в файлах конфигурации не было допущено ошибок, а сама программа может работать в среде восстановления, то можно надеяться на её успешный запуск:
При повторных изменениях файлов конфигурации или отключении с последующим включением среды восстановления, кастомный пункт может пропадать. Решение — по порядку использовать команды для повторного его добавления:
reagentc /disable reagentc /setbootshelllink /configfile C:\Windows\System32\Recovery\AddDiagnosticsToolToBootMenu.xml reagentc /enable
Игорь
Гораздо проще и быстрее это можно сделать из меню самой программы Dism ++.
Ответить
Dmitry
Она если мне память не изменяет может себя добавить в меню загрузки, но не любую утилиту в среду восстановления.
Ответить