Windows沙盒技术调研

2023-05-16

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows沙盒技术调研 的相关文章

  • Jenkins 执行 PowerShell 脚本

    我正在尝试从 Jenkins 运行 PowerShell 脚本 但它似乎完全忽略了执行策略 可以通过直接执行 powershell exe 或使用PowerShell插件 https wiki jenkins ci org display
  • 绘制自定义 Windows 控件时出现问题

    我正在尝试使用 Windows 中的 uxTheme 库绘制自己的自定义控件 但我无法弄清楚为什么我的控件看起来不像常规 Windows 控件 据说 使用我正在使用的相同主题 上图显示了标准的 Windows ComboBox 顶部 和使用
  • 如何驯服 Windows 标头(有用的定义)?

    在其中一个答案中this https stackoverflow com questions 1394132 macro and member function conflict问题jalf https stackoverflow com
  • 避免回绕的 timeGetTime 的最佳替代品是什么?

    time获取时间 http msdn microsoft com en us library dd757629 VS 85 aspx查询系统时间似乎相当不错 然而 它的返回值仅为 32 位 因此大约每 49 天环绕一次 在调用代码中检测翻转
  • 如何使用c++获取system32目录的完整路径?

    虽然大多数时候都是C WINDOWS system32 但有时它可以在D分区或类似的 如何以编程方式获取它 可以调用Windows API函数SHGetFolderPath http msdn microsoft com en us lib
  • 设置表单的父级

    我有一个 Windows 表单 我想从中打开一个状态表单 上面写着 正在保存 然后保存完成后消失 我想将这个小状态表单放在调用表单的中间 我尝试将 StartPosition 属性设置为 CenterParent 但它不起作用 我从其他表单
  • c 编程检查是否按下按键而不停止程序

    如您所知 在 Windows 中使用 getch 时 应用程序会等待您按下某个键 我如何在不冻结程序的情况下读取密钥 例如 void main char c while 1 printf hello n if c getch 谢谢 您可以使
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • 如何使用 setuptools Windows 安装程序在开始菜单中创建快捷方式

    我想为我的 Python Windows 安装程序包创建开始菜单或桌面快捷方式 我正在尝试遵循https docs python org 3 4 distutils builtdist html the post 安装脚本 https do
  • 可以禁用“应用程序错误”对话框吗?

    我使用 Hudson 作为持续集成服务器来测试 C C 代码 不幸的是 我在某个地方有一个错误导致内存损坏 因此在某些 Windows 计算机上我有时会收到一个 应用程序错误 对话框 解释一条指令引用了无法读取的内存 弹出此对话框并基本上挂
  • 正确配置JDK环境变量后仍然找不到java命令

    我在 Windows 虚拟机启动时安装 JDK 使用 cloudinit 用户数据将 PowerShell 脚本传输到 Windows 计算机 然后运行该脚本来安装 JDK softwares Get ItemProperty HKLM S
  • 调试断言失败。表达式(流!=NULL)

    我收到以下错误 调试断言失败 表达式 流 NULL 文件 f dd vctools crty bld self x86 crt src fwrite c 创建 4 个线程时 CPU 使用率 100 该代码最初运行良好一段时间 然后给出此错误
  • SC创建binpath错误

    我正在尝试在 PowerShell 中运行以下命令 sc create StrongSwan binpath C Users Kanishk Desktop Strong Strong stronswan strongswan 5 6 3
  • 用于在 Windows 中自动执行桌面活动的 Python 代码

    我想使用 Python 在 Windows 环境中自动化桌面活动 怎样才能做到呢 一些例子也会有帮助 我所说的桌面活动是指控制鼠标和键盘 访问活动窗口属性 双击桌面上的图标 最小化和最大化窗口 通过键盘向输入弹出窗口输入数据等操作 看一下S
  • 批量设置命令的输出和错误以分隔变量

    在Windows 7批处理 cmd exe命令行 中 我试图将命令的标准输出 stdout 和标准错误 stderr 重定向到单独的变量 因此第一个变量设置为输出 第二个变量设置为输出 变量设置为错误 如果有 而不使用任何临时文件 我已经尝
  • 在 powershell 脚本中以不同用户身份本地运行代码块

    这是非常简单的事情 但我就是无法让任何东西发挥作用 我想在特定用户下的 powershell 脚本中运行块代码 关键字是locally我正在使用 powershell 2 0 Invoke Command 似乎需要远程主机 我运行以下命令
  • 你将如何开始自动化我的工作? - 第2部分

    后续这个问题 https stackoverflow com questions 2796128 how would you start automating my job 在经历了第一波进货 9 小时的复制 粘贴 后 我现在相信我已经满足
  • 如何在 Visual C++ 中宣传 Bonjour 服务

    我试图弄清楚这是否可能 但是通过 Visual C 宣传 Bonjour 服务的最简单方法是什么 您可以使用DNS服务发现客户 dns sd Windows Bonjour 安装程序把它放进去C Windows system32 dns s
  • Windows平台下C语言控制串口DTR和RTS引脚

    如何在windows平台上控制串口的DTR和RTS引脚 我希望通过升高或降低电压来对其进行位敲击或操作 您需要使用EscapeComm 函数 https learn microsoft com en us windows desktop a
  • 在 wampserver 2.2 上安装 php_imagick.dll PHP 扩展

    我使用的是 32 位操作系统的 Windows 7 我安装了 ImageMagick 6 8 7 Q16Link https www imagemagick org script download php windows我能够从命令行 转换

随机推荐

  • B端项目整体设计流程

    一 B端产品的能力图谱 1 逻辑思维与抽象能力 2 技术知识储备 3 复杂项目管理能力 xff1a 沟通能力 执行能力 团队协助能力 组织协调能力 4 业务与经营管理知识 二 B端产品设计流程 1 业务调研 a 明确调研目标 战略层 xff
  • Git日常开发常用命令汇总

    版权申明 非商业目的z注明出处可自由转载 博文地址 xff1a https blog csdn net ShuSheng0007 article details 89642945 出自 xff1a shusheng007 相关文章 实际项目
  • in为什么慢

    IN为什么慢 xff1f 在应用程序中使用子查询后 xff0c SQL语句的查询性能变得非常糟糕 例如 xff1a SELECT driver id FROM driver where driver id in SELECT driver
  • 漫谈IT项目团队管理心得

    漫谈IT项目团队管理心得 如果在软件项目实施中选出最难解决的几个问题 xff0c 那么管理问题一定名列前茅 在管理问题中 xff0c 团队管理又是其中的难点 一个项目管理的好坏 xff0c 很大程度就体现在团队的建设和管理上 团队管理涉及到
  • error: [Errno 111] Connection refused

    用户cdh安装 hadoop的过程中 xff0c 启动CM xff0c 日志出现连接错误 cloudera 需要配置好dns xff0c 他是通过dns解析主机名来访问的 xff0c 这里可能dns解析有问题 xff0c 所以最好是把 us
  • dbca提示command not found

    1 dbca提示command not found 如果在database软件安装无错误后 xff0c 应该是环境变量找不到 2 检查环境变量 xff0c 果然有11 333 xff0c 这是远程粘贴板的问题吧 3 修改后 xff0c so
  • IT如何转为销售

    销售 xff0c 在很多人眼中是不入流的职业 不少人认为 xff0c 没有一技之长或没有能力才退而求其次去做一个销售 然而 xff0c 年薪50万的技术工程师 xff0c 马仁业为什么会放弃大家眼中神一样的职业 xff0c 去做一个没有底薪
  • MYSQL单行长度不能超过 65535

    报错 xff1a Row size too large The maximum row size for the used table type not counting BLOBs is 65535 mysql属于关系型 xff0c 行式
  • jdbcTemplate.batchUpdate在批量执行的时候,性能差没有效果,看看怎么解决的。

    我用的阿里druid数据库连接池 xff08 其实这个和连接池毛线关系没得 xff09 xff0c 创建jdbctemplate在执行insert 15000条数据时 xff0c 我发现还是30条 xff0c 20条 xff0c 35条这样
  • rabbit-mq 本地环境搭建

    一 xff1a 安装RabbitMQ需要先安装Erlang语言开发包 xff0c 直接下载地址 xff1a http erlang org download otp win64 18 3 exe 尽量安装时不选择C盘 xff0c 避免操作系
  • oracle小数点前面没有0,纠结解惑

    一1 天前台人找到我 xff0c 说我们安装的数据库有问题 xff0c 为什么小数点前面是0就不显示呢 xff0c 我去看了一下 xff0c command窗口要显示 SQL gt create table ml test num numb
  • 网监后台管理系统设计思路

    本次做的是网监系统saas服务平台的后台管理系统 xff0c 不涉及复杂功能逻辑 就是从菜单 模板 系 统 组织架构 角色 用户的设计思路 产品需求 xff1a 在各个省市网监系统的数量不断增长 xff0c 且系统逻辑和功能模块大致相同 x
  • 分类算法 c4.5 详解

    C4 5是一系列用在机器学习和数据挖掘的分类问题中的算法 它的目标是监督学习 xff1a 给定一个数据集 xff0c 其中的每一个元组都能用一组属性值来描述 xff0c 每一个元组属于一个互斥的类别中的某一类 C4 5的目标是通过学习 xf
  • 正则表达式匹配Html代码中图片路劲

    正则表达匹配图片路径 public static string GetHtmlImageUrlList string sHtmlText 定义正则表达式用来匹配 img 标签 Regex regImg 61 new Regex 64 34
  • (GPU版)Pytorch+pycharm+jupyter安装记录(截至23年3月14日)

    由于搞了一台旧主机 xff0c 主机上没有pytorch等软件程序 xff0c 所以重新装一遍 xff0c 顺便记录一下 xff01 一 安装显卡GPU的驱动程序 xff0c 搞定CUDA先 WIN 43 R打开命令行 xff0c 输入命令
  • Alibaba官方最新发布的这份Java学习导图+彩版手册,真不是吹的

    时间飞逝 xff0c 转眼间毕业七年多 xff0c 从事 Java 开发也六年了 我在想 xff0c 也是时候将自己的 Java 整理成一套体系 这一次的知识体系面试题涉及到 Java 知识部分 性能优化 微服务 并发编程 开源框架 分布式
  • linux下使用第三方商店安装应用

    安装 snap store 进行下载 xff0c 相当与第三方应用商店 xff0c 但是往往比某一个官方软件源里面的应用要丰富或更实用 到 snap docs 中选择你的 linux 版本进入安装文档 xff0c 根据指示一步一步安装即可
  • Centos7离线安装sqlserver2017

    Centos7离线安装sqlserver2017 根据操作系统版本选择下载匹配的sqlserver版本 可以在这里找一下https packages microsoft com config 我选择是先在一台有网的机器上下载好rpm安装包之
  • HC-05蓝牙模块配置

    目录 1 连接蓝牙模块a 蓝牙模块通过USB转TTL连接电脑b 打开串口助手 xff0c 波特率设置为38400c 检验是否连接成功 2 配置波特率3 修改密码4 设置主从模式5 设置蓝牙连接模式6 查询自身地址7 添加配对蓝牙地址8 测试
  • Windows沙盒技术调研

    转载自 xff1a 移动云开发者社区 一 Windows沙盒技术介绍 Windows沙盒提供了轻型桌面环境 xff0c 可安全地隔离运行应用程序 沙盒环境中Windows软件保持 34 沙盒 34 状态 xff0c 并独立于主机运行 沙盒是