Как добавить свою утилиту в среду восстановления Windows 11 и 10
В этой инструкции о том, как добавить собственный пункт и соответствующую программу в среду восстановления 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:WindowsSystem32Recoverywinre.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:winresourcesrecoverytools причём папка 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:WindowsSystem32Recovery
- Введите команду (указав фактический путь к созданному на 9-м шаге файлу):
reagentc /setbootshelllink /configfile C:WindowsSystem32RecoveryAddDiagnosticsToolToBootMenu.xml
для добавления нового пункта в меню среды восстановления.
- Введите команду
reagentc /enable
чтобы включить среду восстановления.
Если всё прошло успешно, то при следующей перезагрузке в среду восстановления (например, с помощью Shift+Перезагрузка) вы увидите свою утилиту в разделе «Поиск и устранение неисправностей»:
И, если в файлах конфигурации не было допущено ошибок, а сама программа может работать в среде восстановления, то можно надеяться на её успешный запуск:
При повторных изменениях файлов конфигурации или отключении с последующим включением среды восстановления, кастомный пункт может пропадать. Решение — по порядку использовать команды для повторного его добавления:
reagentc /disablereagentc /setbootshelllink /configfile C:WindowsSystem32RecoveryAddDiagnosticsToolToBootMenu.xmlreagentc /enable