一、简介
最近打算尝试几个嗅探视频的浏览器插件,但因为担心插件会夹带私货,因此打算使用比虚拟机更为轻量的沙盒软件来测试。之前介绍了个人能免费使用的 Sanboxie Plus 软件,但个人觉得有点过于简陋。后来发现其实 Windows 有内置沙盒功能(仅限 WIndows 专业版及以上版本)。所以打算简单介绍一下如何启用。
好了,闲言少叙,话归正题。
二、安装或启用
2.1 Windows 家庭版
因为本人电脑所装版本为专业工作站版。但为了演示家庭版的安装,故用虚拟机安装一个了Windows 家庭版进行演示,两者效果相差不大。当然,若在家庭版上安装过 Hyper-V ,则可忽略如下操作。因为安装 Hyper-V时会将 Windows沙盒一并进行安装。
打开家庭版的“启用或关闭windows 功能”后如下所示:
从上图并未发现Windows沙盒的字眼,这也表明 windows 家庭版不会内置 Windows沙盒 功能。
在安装相关程序前,需先显示文件扩展名,因为 windows 默认并不会显示文件扩展名。验证方式是在桌面新建一个记事本文件,可清晰看到,文件名为“新建记事本”,而非“新建记事本.txt”:
修改方式也简单,大概分三步:
第一步点击“此电脑”进入文件资源管理页面:
第二步就是依次点击【查看】 > 【显示】 ,找到 "文件扩展名设置信息":
第三步就是保证“文件扩展名”前有对勾。有则忽略,无则点击勾选。勾选 “文件扩展名”后,回到桌面便能发现隐藏的.txt 后缀。
接着双击该记事本文件,将下面的脚本代码粘进去:
@echo off
echo 检查权限>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
echo 权限检查结果:%errorlevel%
REM --> 如果设置了错误标志,则没有管理员权限。if '%errorlevel%' NEQ '0' (echo 正在请求管理员权限...goto UACPrompt) else ( goto gotAdmin )
:UACPromptecho Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
echo 正在运行创建的临时文件 "%temp%\getadmin.vbs"timeout /T 2"%temp%\getadmin.vbs"exit /B
:gotAdminif exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )pushd "%CD%"CD /D "%~dp0"
echo 使用管理员权限成功启动批处理echo .clsTitle Sandbox Setup
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Containers*.mum >sandbox.txt
for /f %%i in ('findstr /i . sandbox.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del sandbox.txt
Dism /online /enable-feature /featurename:Containers-DisposableClientVM /LimitAccess /ALL
pause
粘贴后如下所示:
至于这段代码是何含义,本人也不清楚,只知道通过该命令能安装并启用Windows沙盒。粘完毕后需按“Ctrl + S” 或 点击“文件” > "保存"进行保存。
保存后将文件名改为沙盒.cmd,此时会弹出警告信息:
直接忽略点击是即可,到此安装脚本就已创建完毕:
接着右键单击该脚本文件,选择“以管理员身份运行”。
以管理员身份运行后,会弹出命令行窗口,并显示脚本执行过程:
接着耐心等待执行。执行完毕后会提示重启计算机,这里按提示重启计算机即可。
输入 “Y” 重新启动后,打开“系统” > “可选功能” > "更多Windows 功能",此时发现 Windows沙盒已出现在家庭版上:
当然,因为我是虚拟机中实验,所以为置灰状态。
2.2 Windows 专业版及以上
若 Windows版本为专业版及以上版本,则可直接打开 “启用或关闭 windows 功能”选择“Windows沙盒”进行勾选启用即可:
勾选并确定后会自动搜索相关软件和安装:
安装完毕后会提示重启计算机:
接着点击【立即重新启动】来重启计算机即可。重启完毕后,打开开始菜单搜索“sandbox” 便会出现 Windows Sandbox 即 Windows沙盒软件:
点击后进行启动,启动后的主页面如下所示:
三、使用
Windows沙盒的使用与在主机上的使用并无太大区别,唯一区别便是沙盒关闭后所有变更会消失罢了。下面我在沙盒内为安装一下迅雷软件,安装完毕后如下所示:
此时本人的主机桌面并无迅雷:
接着重启 Windows沙盒后发现下载的迅雷已经被清除:
四、自定义Windows沙盒
默认的启动的 Windows沙盒基本能满足日常使用,但因其关闭后所有内容会自动清除,但有时希望能预置一些软件进去,或希望改变Windows 沙盒的默认配置,此时便需要进行自定义Windows沙盒。
4.1 配置介绍
Windows沙盒的自定义依赖于指定的 xml 格式的配置文件,当然,其配置文件后缀为 .wsb。下面简单说一下常用的配置元素。
4.1.1 根元素
Windows 沙盒的配置文件的根元素为,用于定义一段沙盒配置,其格式为:
<Configuration> 配置信息</Configuration>
4.1.2 vGPU 选项
vGPU 表示是否启用或禁用GPU共享,用元素表示,其格式为:
<Configuration> ... <vGPU>[Enable|Disable]</vGPU> ...</Configuration>
其值所代表的含义分别为:
- Enable:
- Disable:表示在沙箱中禁用 vGPU 支持,此时会使用软件渲染,类似 VMWare 的 3DAccelerate,处理速度相对GPU 虚拟化慢。
若不设置该元素,则默认为启用 vGPU 。
4.1.3 网络选项
该选项表示启用或禁用沙盒中的网络。 禁用网络访问能减少沙盒暴露的攻击面。其通过元素表示,其格式为:
<Configuration> ... <Networking>[Enable|Disable]</Networking> ...</Configuration>
其值所代表的含义分别为:
- Enable:
- Disable:表示在沙箱中禁用网络支持。禁用后会构建一个与外界隔离的封闭环境,适合测试高风险的程序。
若不设置该元素,则默认为启用网络支持。
4.1.4 映射文件夹选项
该选项是实现数据持久化的关键,用于将主机文件夹挂载到沙盒中使用。其目前不支持相对路径。其通过若干元素来进行定义,定义格式为:
<Configuration> ... <MappedFolders> <MappedFolder> <HostFolder>[主机目录]</HostFolder> <SandboxFolder>[沙盒内目录]</SandboxFolder> <ReadOnly>[true | false]</ReadOnly> </MappedFolder> </MappedFolders> ...</Configuration>
其涉及标签的含义为:
- MappedFolders:
- MappedFolder:
- HostFolder: 用于指定主机上挂载到沙盒内的源目录,该目录需切实存在。
- SandboxFolder:用于指定沙盒内映射的目标目录,若目标目录不存在,会自动创建。当未指定沙盒文件夹时,会默认映射到容器的用户桌面。沙盒的默认用户为:WDAUtilityAccount。
- ReadOnly:用于沙盒对挂载目录的访问权限是否为只读。其值有:true 和 false。默认为 false ,表示不为只读。若权限允许写入,则沙盒关闭后,该映射目录下的内容不会被释放。
4.1.5 初始化命令选项
所谓初始化命令是指登录沙盒后立即执行的命令,其通过和表示,其格式为:
<Configuration> ... <Command>[初始化命令]</Command> ...</Configuration>
需要说明的是,该命令只能执行一些可执行文件或脚本。若涉及多个复杂的操作,可编写相关脚本文件后将其挂载到共享目录下,然后再用该选项指定。
4.1.6 音频输入选项
该选项用于指定是否启用或禁用沙盒的音频输入 ,其通过元素表示,其格式为:
<Configuration> ... <AudioInput>[Enable|Disable]</AudioInput> ...</Configuration>
其值所代表的含义为:
- Enable:表示在沙箱中启用音频输入,从而使沙盒中的程序能使用主机的音频设备,使用麦克风功能的程序会使用该功能。
- Disable:表示在沙箱中禁用音频输入。禁用后沙盒将无法使用主机的音频设备。
若未配置该选项,则默认表示启用音频支持。
4.1.7 视频输入
该选项用于启用或禁用沙盒的视频输入,其通过元素表示,其格式为:
<Configuration> ... <VideoInput>[Enable|Disable]</VideoInput> ...</Configuration>
其值所代表的含义为:
- Enable:表示在沙箱中启用视频输入,从而使沙盒中的程序能使用主机的视频设备,如:摄像头。
- Disable:表示在沙箱中禁用视频输入,禁用后沙盒将无法使用主机的视频设备。
若未配置该选项,则默认表示禁用视频输入。
4.1 8 受保护的客户端选项
该选项用于配置是否开启受保护的客户端,该模式开启后会在 AppContainer 隔离执行环境中额外增加一个安全边界层。该选项通过来表示,其格式为:
<Configuration> ... <ProtectedClient>[Enable|Disable]</ProtectedClient> ...</Configuration>
其含义为:
- Enable:在“受保护的客户端”模式下运行 Windows 沙盒。 若设置了此值,则沙盒将在 AppContainer 隔离中运行。
- Disable
若不配置该选择,则默认在标准模式下运行,即不增加额外的安全边界层。需要说明的是,开启后会影响沙盒和主机信息的交互,如:从沙盒向主机复制或粘贴文件的能力。
4.1.9 打印机重定向选项
该选项用于启用或禁用沙盒共享主机的打印机。其通过元素表示,其格式为:
<Configuration> ... <PrinterRedirection>[Enable|Disable]</PrinterRedirection> ...</Configuration>
其含义为:
- Enable
- Disable:表示不允许将主机的打印机共享给沙盒,此时沙盒不会检测到主机的打印机。
若未配置该选项,则默认禁用打印机重定向,即沙盒无法访问主机的打印机。
4.1.10 剪贴板重定向选项
该选项用于启用或禁用沙盒共享主机的剪贴板。其通过元素表示,其格式为:
<Configuration> ... <ClipboardRedirection>[Enable|Disable]</ClipboardRedirection> ...</Configuration>
其含义为:
- Enable
- Disable:表示不允许将主机的剪贴板共享给沙盒,此时沙盒不会检测到主机的剪贴板。
若未配置该选项,则默认启用剪贴板重定向,即允许沙盒与主机共享主机的剪贴板。
4.1.11 内存选项
该选项用于指定沙盒的内存容量(单位:MB)。其通过表示,其格式为:
<Configuration> ... <MemoryInMB>XXXXMB</MemoryInMB> ...</Configuration>
需要说明的是,若设定的内存大小不足以启动沙盒,则会自动将其增加到运行沙盒的内存下限:2048MB。
4.2 自定义配置文件
在搞清楚 Windows沙盒的配置后便可以按自己的需求来自定义沙盒。
首先新建一个沙盒专用文件夹,同时在其内创建两个目录:Downloads 、Program 和 Desktop ,其中 Download 用于存在安装包或其他可执行文件,Program 为程序的安装目录,而 Desktop 则用于存储沙盒内的桌面快捷方式。
接着新建一个文本文件,将如下配置粘入:
<Configuration> <vGPU>Enable</vGPU> <Networking>Enable</Networking> <MappedFolders> <MappedFolder> <HostFolder>E:\sandbox\Downloader</HostFolder> <SandboxFolder>C:\custom\Downloader</SandboxFolder> <ReadOnly>true</ReadOnly> </MappedFolder> <MappedFolder> <HostFolder>E:\sandbox\Desktop</HostFolder> <SandboxFolder>C:\Users\WDAGUtilityAccount\Desktop</SandboxFolder> <ReadOnly>true</ReadOnly> </MappedFolder> <MappedFolder> <HostFolder>E:\sandbox\Program</HostFolder> <SandboxFolder>C:\custom\Program</SandboxFolder> <ReadOnly>true</ReadOnly> </MappedFolder> </MappedFolders> <AudioInput>Enable</AudioInput> <VideoInput>Disable</VideoInput> <ProtectedClient>Disable</ProtectedClient> <PrinterRedirection>Disable</PrinterRedirection> <ClipboardRedirection>Enable</ClipboardRedirection> <MemoryInMB>4096</MemoryInMB></Configuration>
接着按 “Ctrl + S” 进行保存后修改文件名为“sandbox.wsb”:
接着双击该文件进行启动:
此时进入C盘会发现挂载的目录:
五、软件持久化
下面以预装 NDM下载工具为例进行演示。
首先将 NDM 的安装包拷贝到主机挂载的 Downlaoder 目录下,拷贝后如下所示:
接着修改 sandbox.wsb (用记事本或其他文本软件编辑工具)中关于 Desktop 和 Program 的 ReadOnly 为 false:
按 Ctrl + S 保存后双击 sandbox.wsb 打开 Windows 沙盒,此时会在 Downloader 目录下发现拷贝的 NDM安装程序:
接着双击该安装程序进行安装即可,需要说明的是,需将该软件安装到挂载的安装目录下:
安装完毕后能在桌面看到对应的快捷方式:
此时查看主机上的对应的挂载目录,也发现了 NDM的相关内容:
接着重启Windows 沙盒,发现该软件仍在:
阅读原文:https://mp.weixin.qq.com/s/aj6CCX3AkilXRK_CBZaxEA
该文章在 2026/2/13 11:46:02 编辑过