一、 Windows沙盒技术介绍
Windows沙盒提供了轻型桌面环境,可安全地隔离运行应用程序。 沙盒环境中Windows软件保持"沙盒"状态,并独立于主机运行。沙盒是临时的, 关闭后,将删除所有软件和文件以及状态。每次打开应用程序时,都会获得沙盒的全新的实例。安装在主机上的软件和应用程序不会直接在沙盒中提供。如果需要沙盒环境中可用的特定Windows,则必须在环境中显式安装它们。
(一)Windows沙盒具有以下属性:
· 部分Windows系统支持: 此功能所需的一切内容都包含在Windows 10 专业版和Enterprise。 无需下载 VHD。
· 用户: 每次Windows沙盒运行时,它都像全新安装沙盒Windows。
· 可释放:设备上不会保留任何内容。 当用户关闭应用程序时,将放弃所有内容。
· 安全:使用基于硬件的虚拟化进行内核隔离。 它依赖 Microsoft 虚拟机监控程序运行单独的内核,该内核将沙Windows与主机隔离。
· 高效: 使用集成的内核计划程序、智能内存管理和虚拟 GPU。
(二)启动沙盒的必备条件
· Windows 10 专业版、Enterprise 或教育版 18305 或 Windows 11 (Windows 沙盒当前在家庭版Windows不受支持)
· AMD64 体系结构
· BIOS 中启用的虚拟化功能
· 建议至少 4 GB 的 RAM (8 GB)
· 建议使用 SSD 至少 1 GB (SSD)
· 在四个内核中 (两个 CPU 内核,建议使用超线程)
二、 本地环境测试
本地机器:HP EliteBook 830,Windows10专业版操作系统,16G RAM,相关配置如下:
打开windows 功能,勾选沙盒功能,重启电脑。
找到沙盒应用,点击打开沙盒环境
进入到沙盒内部,是一个全新的windows桌面,可以上网,也可以下载和安装软件,沙盒中安装的软件不会影响到host环境,一旦关闭沙盒则全部数据均会被删除,下次进入沙箱又是一个崭新的环境。
沙盒中系统配置,Windows 10企业版操作系统,4G RAM,存储C盘39G(host主机是177G C盘)。
三、 技术原理分析
Windows沙盒定位:提供传统虚拟机无法提供的安全性、密度和性能。
(一)沙盒操作系统映像管理
由于Windows沙盒运行与主机相同的操作系统映像,因此已增强为通过称为"直接映射"的技术将相同的物理内存页用作操作系统二进制文件的主机。 例如当ntdll.dll* 加载到沙盒中的内存中时,它将使用与在主机上加载的二进制文件相同的物理页。 与传统的 VM 相比,主机和沙盒之间的内存共享会导致较小的内存占用,而不会损害有价值的主机密钥。
(二)沙盒内存管理
传统 VM 会静态地分配主机内存。 当资源需求发生变化时,传统VM 具有用于调整其资源需求的部分机制。沙盒则是与主机协作以动态确定如何分配主机资源。 此方法类似于进程通常在主机上占用内存的方式。 如果主机具有内存压力,它可以从沙盒回收内存,就像进程回收内存一样。
(三)沙盒CPU分配
Windows沙盒允许像主机线程一样规划沙盒的虚拟处理器,host主机上的高优先级任务可以抢占沙盒中不太重要的工作。这意味着最重要的工作将优先进行,无论工作位于主机上还是容器中。
(四)沙盒GPU分配
硬件加速呈现是提供流畅且响应迅速的用户体验的关键,尤其是对于图形密集型用户。 Microsoft 与图形生态系统合作伙伴合作,将新式图形虚拟化功能直接集成到 DirectX 和 Windows Display Driver Model (WDDM) 中,这是 Windows 使用的驱动程序模型。此功能允许沙盒内运行的程序与主机上运行的应用程序竞争 GPU 资源。
(五)与Hyper-v虚拟机对比
开通沙盒无需打开Hyper-v管理器创建虚拟机,沙盒更为轻量化,进程化,不占用太多的存储和计算资源,且关闭后相关资源会完全释放出来。
(六)与云桌面对比
沙盒运行在本地主机上,占用本地计算和存储资源,使用体验和桌面类似,但不涉及远程桌面访问。
沙盒可通过windows admin center统一管理。
四、 总结
Windows沙盒介于传统虚机和传统桌面之间,具备传统桌面的各项功能,同时又比虚机更轻量更安全,适合应用于未知应用软件测试等场景,唯一缺陷是退出后安装的软件及数据均会被删除