最近大屏产品经常报一些开机启动的问题,工厂反馈厂测软件有些模块测试不通过,家里开发测试均发现Launcher等软件首次启动需要加载10多秒。

经过小伙伴们排查,发现是刷母盘后首次开机问题概率比较大。使用Windows重置电脑,首次开机是必现应用启动慢问题

将一个exe换个路径,重启电脑,也是会有这个打开exe启动慢问题。

Windows版本:WIN11 IOT 企业版 23H2 22631.2428

网上也有其它同学在报类似问题:解决win11系统开机后第一次打开一个软件很慢,关闭进程重新打开速度就正常的问题 - 远景论坛 - 前沿科技与智慧生态的极客社区

我总结下: 从Win11 22H2版本开始,如果是全新安装的系统,那么Windows会默认打开“智能应用控制”选项的“评估”功能。

根据官网文档 Windows 应用程序控制 | Microsoft Learn ,智能应用控制的工作原理是:当用户尝试在 Windows 上运行应用时,智能应用控制将检查,以查看微软的智能云安全服务是否可以对其安全性做出预测。 如果服务认为应用是安全的,则智能应用控制将允许它运行。 如果认为该应用是恶意应用或可能不需要的应用,则智能应用控制将阻止它。如果安全服务无法对应用进行预测,则智能应用控制会检查该应用是否具有有效的签名。 如果应用具有有效的签名,智能应用控件将允许它运行。 如果应用未签名或签名无效,智能应用控制会将其视为不受信任,并阻止它进行保护。

虽然微软声明智能应用控制在评估模式下不会阻止任何内容,但是该模式下确实会严重拖慢某些程序的首次打开速度

小伙伴验证了下,手动关闭智能应用控制,从评估改为关闭,就能解决首次启动慢的问题。

手动可以关闭,那代码是否也可以操作关闭呢?官网有说明,如需要关闭,HKLM\SYSTEM\CurrentControlSet\Control\CI\Policy下VerifiedAndReputablePolicyState将属性改为0,然后使用 CiTool.exe -r 使更改生效。

默认值是2,“评估”模式:

另外,我尝试在上面同一大屏设备上安装24H2家庭中文版,以及笔记本设备上安装WIN11 IOT 企业版 23H2,智能应用控制”选项是“评估”,但都未能复现开机应用启动慢问题

根据官网智能控制的介绍 什么是智能应用控制? - Microsoft 支持,除了手动关闭外,有一些情况会自动关闭智能应用控制:

  • 在 评估模式下 ,我们确定你不适合使用智能应用控制。

  • 你或登录到计算机的另一个用户手动关闭了它。

  • 你的设备在 S 模式下运行 Windows。 你需要关闭 S 模式,然后重置电脑才能进入评估模式。

  • Windows 中的 可选诊断数据 已关闭。 如果要打开智能应用控制,则需要重置此电脑或重新安装 Windows,并在设置过程中选择“ 发送可选诊断数据 ”。

可能除了这些路径外,某些设备或者BIOS设置会自动关闭智能应用控制。虽然显示的是“评估”,但实际上并未生效

所以如果你遇到了这个首次开机应用启动慢的问题,可以将智能控制关闭,不会影响Windows系统的稳定性

Windows 记录开机后应用启动慢的问题的更多相关文章

  1. Windows添加自定义开机用户登录启动程序

    默认的启动程序 Ctrl+shift -> Esc调用任务管理器-->启动项选项即可完成计算机开机自启动选项,不过这里只有系统默认添加的. 添加自定义开机启动程序 Windows+R调用运 ...

  2. Windows 10更新后无法启动Dolby音频驱动程序

    在电脑更新Windows 10 1903版本后,重启出现如下问题: 经查,这与驱动强制签名有关.解决方法如下: 打开"设置"->"更新与安全"->& ...

  3. Windows 安装RabbitMQ后,启动服务就自动停止

    在做SpringCloud消息总线的时候,需要用到RabbitMQ,于是在windows上下载安装了一个,erlang的安装包不是官网下载的,而是朋友分享给我的,没注意它的版本(9.3). 安装完成后 ...

  4. Windows安装IIS后,启动网站报错:不能在此路径中使用此配置节……

    在IIS里启动设置好的网站(ASP.net网站),浏览器报如下错误: 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault= ...

  5. ORACLE EBS R12 FOR LINUX 开机后如何启动数据库、应用脚本[Z]

    在Linux中安裝EBS  R12後, EBS關閉與啟動的程序為: 1. 關閉EBS - 先關閉Applications Server $ cd /d01/oracle/VIS/inst/apps/V ...

  6. VMware Workstation 虚拟机暂停后无法启动 出现Exception 0xc0000006 (disk error while paging) has occurred.错误

    虚拟机暂停了,突然停电,再开机后无法启动暂停的虚拟机,出现下面的错误 VMware Workstation unrecoverable error: (vmx)Exception 0xc0000006 ...

  7. Liunx在开机后,自动启动openldap、radius、memcached等程序的shell脚本

    以下是脚本命令: #!/bin/bash #说明:此文件需放在/etc/rc.d/init.d/目录下,然后编辑文件/etc/rc.d/rc.local,在里面添加bash /etc/init.d/A ...

  8. windows设置开机启动项

    一.windows下设置开机启动有如下方法 1 注册表启动项目RUN 2 计划任务,在"windows管理">"计划任务管理器"中新建任务,在操作栏指定要 ...

  9. windows 2008 开机启动 Docker Toolbox 并运行容器

    新建 docker-startup.bat @echo off REM Set the name of the VM configuration where dockerd will be hoste ...

  10. windows添加开机启动项

    http://www.cnblogs.com/jokey/archive/2010/06/17/1759370.html添加开机启动项(通过注册表) 例子:增加QQ开机启动项 第一步:找到注册表的启动 ...

随机推荐

  1. 把数字转换RMB形式

    方法1 : var str = '12345679' let strNew = str.replace(/\B(?=(?:\d{3})+\b)/g, ',') // 匹配单词边界替换为逗号 方法2: ...

  2. 38. data为什么是一个函数

    vue中的data为什么是返回对象的函数,而不是直接使用对象形式 : 我们复用组件的时候,要求每一份data数据之间是独立的,不能互相影响,如果写成对象的形式所有的组件使用一份data数据 ,如果使用 ...

  3. kotlin协程——>协程上下文与调度器

    协程上下⽂与调度器 协程总是运⾏在⼀些以 CoroutineContext 类型为代表的上下⽂中,它们被定义在了 Kotlin 的标准库 ⾥. 协程上下⽂是各种不同元素的集合.其中主元素是协程中的 J ...

  4. 关于使用plsql操作oracle的一点小技巧和几个常用的查询语句

    plsql是什么: 就是这个,专门操作oracle的一个工具,好用还免费. 创建一个测试表: create table Student( Id number not null, Name varcha ...

  5. KubeSphere v4 安装指南

    日前,KubeSphere v4 发布,相较于之前的版本,新版本在架构上有了颠覆性的变化.为了让社区的各位小伙伴能够丝滑的从旧版本过渡到新版本,我们特别推出本篇安装指南文章,以供参考. 关于 Kube ...

  6. 什么是前后端分离应用(Full-stack Separation),想当然就会理解错

    前后端分离应用指的是将应用的前端部分(用户界面与交互逻辑)和后端部分(业务逻辑.数据处理.服务器响应)拆分成独立的模块,各自通过 API 进行通信.这种架构设计的目的是提高开发效率.增强可扩展性和灵活 ...

  7. CMake 生成器表达式---条件表达式和逻辑运算符

    [写在前面] CMake 的生成器表达式用于在构建系统级别上进行条件判断和逻辑运算,它们通常用在目标属性和生成器表达式上下文中.这些表达式允许你根据不同的平台.配置或编译器来定制构建过程. 本文引用的 ...

  8. Python3开启简易服务器

    nohup python3 -m http.server 3000 2>&1 &

  9. @Transactional事务,太坑了吧!

    前言 对于从事java开发工作的同学来说,spring的事务肯定再熟悉不过了. 在某些业务场景下,如果一个请求中,需要同时写入多张表的数据.为了保证操作的原子性(要么同时成功,要么同时失败),避免数据 ...

  10. g++ error unrecognized command-line option ‘-std=c++23’; did you mean ‘-std=c++03’?

    编译一个C++的项目代码,报错: g++: error: unrecognized command-line option '-std=c++23'; did you mean '-std=c++03 ...