转载自:移动云开发者社区

一、 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沙盒介于传统虚机和传统桌面之间,具备传统桌面的各项功能,同时又比虚机更轻量更安全,适合应用于未知应用软件测试等场景,唯一缺陷是退出后安装的软件及数据均会被删除

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐