Песочница Windows 11 (Sandbox): как включить и настроить

Песочница (Windows Sandbox) встроенная функция, доступная в Windows 11 и 10, которая позволяет запустить временную изолированную среду для открытия недоверенных файлов, запуска потенциально-опасного и сомнительного ПО или даже вирусов. При закрытии Sandbox все внесенные изменения не сохраняются, а при следующем запуске песочница снова запускается в чистом виде. Windows Sandbox основана на возможностях виртуализации Windows и концепции контейнеров. В этой статье мы покажем, как включить, настроить и использовать песочницу в Windows 11.

В отличии от классической виртуальной машины, при использовании Windows Sandbox вам не нужно самостоятельно устанавливать образ Windows, настраивать его, лицензировать и активировать. За счет использования в качестве базы образа хостовой Windows, контейнер Песочницы занимает меньше места на диске и использует меньше ресурсов. Любые изменения, сделанные внутри такой среды, не затрагивая вашу основную (хостовую) операционную систему. После закрытия Песочницы всё её содержимое очищается. Использовать контейнер с песочницей удобно не только для запуска сомнительных приложений, но и для тестирования скриптов и отладки развертывания приложений.

Как включить Песочницу в Windows 11?

Для использования Windows Sandbox ваш компьютер должен удовлетворять следующим минимальным требованиям:

  • 64-битный CPU (минимум два ядра)
  • Включенная поддержка аппаратной виртуализации в настройках BIOS / UEFI компьютера. При использовании в виртуальной машине Windows 11, в настройка ВМ должна быть включена поддержка вложенной виртуализации (Nested Virtualization)
  • Windows 11 с редакцией Pro или Enterprise
  • Не менее 4 ГБ памяти (рекомендуется 8) и 1 Гб свободного места на диске (желательно SSD).

Включить Песочницу можно из классического апплета управления дополнительными компонентами Windows. Отройте его командой:

optionalfeatures.exe

Отметьте Windows Sandbox для установки.

Установка компоеннта Windows Sandbox в Windows

Можно установить компонент песочницы с помощью PowerShell:

Enable-WindowsOptionalFeature -FeatureName "Containers-DisposableClientVM" -All -Online

После установки потребуется перезагрузка.

Enable-WindowsOptionalFeature Containers-DisposableClientVM

Для использования песочницы в Windows 11 не обязательно устанавливать компоненты роли виртуализации Hyper-V, Windows Hypervisor Platform или Containers.

Базовый образ контейнера Windows Sandbox и виртуальные диски хранятся в директории C:\ProgramData\Microsoft\Windows\Containers\Sandboxes . Также обратите внимание, что со временем файлы слоев изменений контейнера Sandbox (по аналогии с контейнерами Docker) будут скапливаться в директории C:\ProgramData\Microsoft\Windows\Containers\Layers и занимать довольно много места. Какого-то вменяемого средства для их очистки и слияния я не нашел, поэтому чтобы радикально уменьшить занимаемое место, проще всего отключить, очистить каталоги и заново включить компонент Windows Sandbox.
Использование песочницы в Windows 11

Для запуска песочницы, найдите пункт Windows Sandbox в стартовом меню или запустите ее командой WindowsSandbox.exe

Запуск встроенной песочницы в Windows

Откроется отдельное окно с чистым рабочим столом Windows. Это чистый образ Windows 11 с настройками по умолчанию формируется динамически на основе файлов компонентов и библиотек вашей (хостовой) системы. Версия и билд Windows будут такими же.

Можно запустить только один экземпляр песочницы, при этом внутри контейнера доступны следующие ресурсы:

  • Ядер процессора как у хоста
  • 4 Гб памяти
  • 80 Гб жёсткий диск

Внутри песочницы сразу настроена и работает сеть, которая через виртуальный коммутатор Hyper-V с NAT уже подключена к Интернету через основной сетевой интерфейс вашего компьютера.

Как использовать встроенную песочницу в Windows 11 для запуска неизвестных программ

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

Настройки взаимодействия с Windows Sandbox

С окном песочницы можно работать по аналогии с сеансом RDP. Размер окна Windows Sandbox можно свободно изменить, а разрешение рабочего стола песочницы автоматически подстроится, чтобы поместить в окно.

По умолчанию включен буфер обмена, который позволяет вам перенести любой файл с вашего компьютера путем перетягивания (Drag&Drop) или с помощью Copy&Paste через буфер обмена ( Ctrl+C / Ctrl+V ).

Если вы закроете окно Песочницы, все изменения, внесенные внутри контейнера, будут потеряны. При закрытии окна Sandbox появляется предупреждение:

Are you sure you want to close Windows Sandbox? Once Windows Sandbox is closed all of its content will be discarded and permanently lost.

Предупреждение об очистке всех данных при закрытии окна Sandbox

Конфигурационные файлы Windows Sandbox

Для управления настройками Windows Sandbox можно использовать конфигурационные файлы. Конфигурационный файл Windows Sandbox представляет собой XML файл с расширением .WSB (Windows Sandbox Configuration). Ниже представлен доступный список опций, который можно настроить в WSB файле:

  • vGPU — доступ к видеокарте (GPU).
  • Networking — доступа к сети из Песочницы
  • MappedFolders — предоставить общий доступ к папке на основной системе из песочницы (можно настроить доступа на чтение или запись)
  • LogonCommand — команда или скрипт, который нужно выполнить при старте Песочницы
  • AudioInput — ввод аудио
  • VideoInput — ввод видео
  • ProtectedClient — дополнительные функции защиты для сеанса подключения к Песочнице
  • PrinterRedirection — включение перенаправления принтеров с хостовой ОС
  • ClipboardRedirection — перенаправление буфера обмена
  • MemoryInMB — размер RAM в Мб, доступный среде Sandbox

Для большинства опций задаются значения Enable, Disable или Default.

Ниже приведен простой пример конфигурационного файла Windows Sandbox, в котором:

  • Разрешается доступ к сети
  • Доступная RAM в контейнер увеличена до 6 Гб
  • Монтируется локальная папка C:\Tools с хостовой ОС в C:\Host\Tools (целевой путь в песочнице будет создан автоматически)
  • Настроен автоматический запуск логон скрипта при загрузке Песочницы (в нашем случае PowerShell скрипт)
<Configuration>
<Networking>Enable</Networking>
<MemoryInMB>6144</MemoryInMB>
<MappedFolders>
<MappedFolder>
<HostFolder>C:\Tools</HostFolder>
<SandboxFolder>C:\Host\Tools</SandboxFolder>
<ReadOnly>false</ReadOnly>
</MappedFolder>
</MappedFolders>
<LogonCommand>
<Command> powershell.exe -NoExit -ExecutionPolicy Bypass -File C:\SandboxConfig\PrepareSandbox.ps1
</Command>
</LogonCommand>
</Configuration>

WSB файл с конфигурацией контейнера Windows Sandbox

Чтобы запустить Песочницу с кастомной конфигурацией, просто запустите WSB файл.

С помощью конфигурационных файлов WSB можно создать несколько конфигураций песочниц с разным окружением. Например, с помощью следующего PowerShell скрипта, который запускается автоматически при старте песочницы, в Sandbox будет установлен пакетный менеджер WinGet и определенные нужные мне приложения:

$baseDir="C:\Host\Tools"
Add-AppxPackage -Path $baseDir\Microsoft.VCLibs.140.00.UWPDesktop_14.0.33728.0_x64.appx
Add-AppxPackage -Path $baseDir\Microsoft.VCLibs.140.00_14.0.33519.0_x64.appx
Add-AppxPackage -Path $baseDir\Microsoft.WindowsAppRuntime.1.8_8000.616.304.0_x64.appx
Add-AppxPackage -Path $baseDir\winget.msixbundle -ForceApplicationShutdown
Start-Sleep -Seconds 3
'7zip.7zip', 'Notepad++.Notepad++' | % {
winget install $_ --source winget --force --silent --accept-source-agreements --accept-package-agreements
}

В первой части скрипта мы устанавливаем необходимые APPX зависимости для установки WinGet, которые мы предварительно скачали и положили в локальную папку (необходимые файлы зависимостей для WinGet можно скачать со страницы проекта https://github.com/microsoft/winget-cli/releases/-> Assets -> DesktopAppInstaller_Dependencies.zip).

Запуск PowerShell скрипта и установка программ при запуске контейнера Sandbox

Также для развертывания преднастроенной среды Windows Sandbox можно использовать конфигурационные файлы winget. Для этого доступен встроенный провайдер WinGet DSC:

Microsoft.WindowsSandbox.DSC/WindowsSandbox

Вы можете создавать любое количество файлов конфигураций WSB для быстрого запуска рабочих окружений Песочницы с разным набором настроек и утилит.

Управление Windows Sandbox из командной строки

Начиная с Windows 11 24H2, для управления Песочницей доступна консольная утилита wsb.exe (Windows Sandbox Command Line Interface). Утилиту можно использовать в скриптах автоматизации и различных сценариях для запуска, остановки, подключения и конфигурации экземпляра песочницы.

Доступны следующие опции:

  • start – запустить песочницу
  • list — получить ID запущенного экземпляра среды Windows Sandbox
  • exec – выполнить команду (скрипт) в запущенной среде Sandbox
  • share – пробросить общую папку в Песочницы
  • stop — выключить запущенный экземпляр песочницы
  • connect –подключение к среде Windows Sandbox (открыть консоль)

wsb - утилита командой строки для управления Sandbox

Например, чтобы запустить Windows Sandbox с кастомной конфигурацией в фоновом режиме, можно указать настройки через опцию --c ( --config ). Например, чтобы запустить Песочницу с 8Гб RAM:

wsb start --config "<Configuration><MemoryInMB>8192</MemoryInMB></Configuration>"

Подключиться к запущенной в фоне Песочницы можно по ее ID:

wsb list

wsb connect --id 649c33b9-b93d-447b-a98c-4adc34be688

wsb start - запуск песочницы в фоновом режиме из командной строки

Запустить команду с правами SYSTEM в среде Пеcочницы:

wsb exec --id 649c33b9-b93d-447b-a98c-4adc34be6881 --run-as System --command 'sc stop gpsvc'

wsb exec - запуск произвольной команды в sandbox

Предоставить доступ их среды Sandbox к папке на локальном хосте с возможностью записи:

wsb share --id 649c33b9-b93d-447b-a98c-4adc34be6881 --host-path C:\Tools --sandbox-path C:\temp --allow-write

Такая команда прозрачно смонтирует папку из хостовой Windows в каталог внутри песочницы.

Вывести IP адрес, который назначен песочнице:

wsb ip --id 649c33b9-b93d-447b-a98c-4adc34be6881

wsb ip получить IP адрес среды Windows Sandbox

Как включить Песочницу в Windows 11 Home?

Windows Sandbox официально не поддерживается в домашних редакциях Windows Home, однако вы можете включить этот компонент с помощью следующего скрипта:

dir /b %SystemRoot%\servicing\Packages\*Containers*.mum >sandbox_cont.txt
for /f %%i in ('findstr /i . sandbox_cont.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del sandbox_cont.txt
Dism /online /enable-feature /featurename:Containers-DisposableClientVM /LimitAccess /ALL
pause

Однако работоспособность Windows Sandbox при установке в домашних редакциях Windows 11 не гарантирована.

Чтобы удалить Песочницу, используйте следующую PowerShell команду:

Disable-WindowsOptionalFeature –FeatureName "Containers-DisposableClientVM" -Onlin

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


Предыдущая статья Следующая статья


Комментариев: 16 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)