Можно ли изменить язык Windows Sandbox?

Вопрос или проблема

Мне нужно провести некоторые тесты mui, и мне нужно изменить язык в песочнице Windows. Проблема в том, что невозможно перезагрузить или выйти из системы, так как это закроет и сотрет песочницу. В официальной документации нет упоминания об этом: интересно, есть ли обходной путь для этого, например, модификация мастер-образа.

Можно изменить многие настройки песочницы Windows.

Поскольку песочница Windows — это виртуальная машина, которая уничтожается при закрытии, вы должны модифицировать базовый образ самой виртуальной машины в ее .vhdx файле.

Смотрите статью
Как настроить стандартную песочницу Windows (файлы, папки, реестр, обои) без использования файла WSB.

Вкратце:

  • Подмонтируйте VHDX, остановив системную службу Windows “Служба управления контейнерами”, и дважды щелкните на BaseLayer.vhdx в C:\ProgramData\Microsoft\Windows\Containers\BaseImages\GUID
  • Измените реестр, используя меню regedit Файл > Подгрузить хранилище для загрузки \Files\Users\WDAGUtilityAccount\ntuser.dat и используйте Файл > Выгрузить хранилище по завершении.

Для всех языковых настроек в реестре смотрите:

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

Как отметил @izogfif, теперь возможно перезагрузить песочницу Windows, не теряя данные (но все будет удалено при завершении работы).

При изменении локали:
изменение локали

НЕ нажимайте “выйти из системы”

не нажимайте сюда

но перезагрузите вручную

перезагрузите вручную

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

windows на другом языке

Это скрипт PowerShell, который делает то же самое:

powershell -Command Set-WinUILanguageOverride -Language en-US;Restart-Computer

Или, если вы хотите изменить клавиатуру, культуру и т.д.

powershell -Command Set-WinUILanguageOverride -Language en-US; Set-WinUserLanguageList en-US -Force; Set-WinSystemLocale en-US; Set-Culture en-US; Restart-Computer

Ответ или решение

Изменение языка Windows Sandbox: Поиск решения

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

Проблема изменения языка

Ключевым моментом является то, что Windows Sandbox запускается с базового образа, который восстанавливается каждый раз при его закрытии. Вы не можете перезапустить или выйти из системы, так как это приведет к потере всех сделанных изменений. Таким образом, любые изменения, которые вы хотите внести, должны быть выполнены до закрытия SandBox.

Изменение языка через монтирование VHDX

Для изменения настроек языка вам потребуется модифицировать базовый образ, который содержится в файле .vhdx. Далее представлены основные шаги для выполнения этой задачи:

  1. Остановка службы Container Manager:
    Вам необходимо остановить системную службу Windows "Container Manager Service". Это можно сделать через команды PowerShell или интерфейс службы.

  2. Монтирование файла BaseLayer.vhdx:
    После остановки службы, перейдите в директорию C:\ProgramData\Microsoft\Windows\Containers\BaseImages\GUID и дважды щелкните по файлу BaseLayer.vhdx для его монтирования.

  3. Изменение реестра:
    Используйте редактор реестра (regedit) для загрузки файла реестра ntuser.dat, который находится по пути \Files\Users\WDAGUtilityAccount. Это делается через меню Файл -> Загрузить коронку, а после внесения изменений не забудьте использовать Файл -> Разгрузить коронку.

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

Обновление языка без сброса данных

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

Использование PowerShell для изменения языка

Кроме того, вы можете использовать PowerShell для изменения языка. Приведем простые команды для изменения языка интерфейса и других локализационных параметров:

powershell -Command Set-WinUILanguageOverride -Language en-US; Restart-Computer

Или, если вам необходимо изменить язык клавиатуры и другие параметры культуре:

powershell -Command Set-WinUILanguageOverride -Language en-US; Set-WinUserLanguageList en-US -Force; Set-WinSystemLocale en-US; Set-Culture en-US; Restart-Computer

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...