一文梳理Windows自启动位置

不同版本的Windows开机自启动的位置略有出入,一般来说,Windows自启动的位置有:自启动文件夹、注册表子键、自动批处理文件、系统配置文件等。如果计算机感染了木马,很有可能就潜伏于其中!本文将说明这些常见的Windows开机自启动的位置及查看方式。

1. 两个启动文件夹

1.1 当前用户专有的启动文件夹

该文件夹是许多应用软件自动启动的常用位置,在当前登录用户下,Windows会自动启动该文件夹内的所有快捷方式1。用户启动文件夹一般在:
系统盘\Documents and Settings\<当前登录的用户账户名称>\「开始」菜单\程序\启动

每一个登录用户都对应一个这样的文件夹,会加载其中的自动程序。

1.2 对所有用户有效的启动文件夹

无论登录者是谁,该文件夹下的程序都会自启动。该文件夹一般在:
系统盘\Documents and Settings\All Users\「开始」菜单\程序\启动

对应的注册表位置:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders] Startup=\"%Directory%\"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User ShellFolders] Startup=\"%Directory%\"

其中%Directory%为启动文件夹位置。

2. 注册表子键

2.1 Load

位置:
HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows\load

Windows XP Professional该子键的位置如下图所示:
Load子键的位置示例

2.2 Userinit

通常该注册键下面有一个userinit.exe,但这个键允许指定用逗号分隔的多个程序,例如userinit.exe、OSA.exe。

位置:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit

Windows XP Professional该子键的位置如下图所示:
Userinit子键的位置示例

2.3 Explorer\Run

位置:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run (对当前用户生效)2

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run (对所有用户生效)

2.4 RunServicesOnce

用来启动服务程序,启动时间在用户登录之前,而且先于其他通过注册键启动的程序。

位置:
HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\RunServicesOnce

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce

2.5 RunServices

RunServices注册键指定的程序紧接RunServicesOnce指定的程序之后运行,启动时间也在用户登录之前。

位置:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\RunServices

2.6 RunOnce\Setup

RunOnce\Setup指定了用户登录之后运行的程序。

位置:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ RunOnce\Setup

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Setup

2.7 RunOnce

安装程序通常用RunOnce键自动运行程序。

位置:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

HKEY_LOCAL_MACHINE下面的RunOnce键会在用户登录之后立即运行程序,运行时机在其他Run键指定的程序之前。HKEY_CURRENT_USER下面的RunOnce键在操作系统处理其他Run键以及“启动”文件夹的内容之后运行。Windows XP系统下,还有注册键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\RunOnceEx

2.8 Run

Run是自动运行程序最常用的注册键。

位置:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_CURRENT_USER下面的Run键紧接HKEY_LOCAL_MACHINE下面的Run键运行,但两者都在处理“启动”文件夹之前。

2.9 Windows中加载的服务

这里加载的服务具有最高的优先级。

位置:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

这里面的Start键的值确定了服务的启动状态:2表示自动运行,3表示手动运行,4表示禁止。

2.10 Windows Shell

Windows Shell 位于HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon下面的Shell字符串类型键值中,默认值为Explorer.exe

2.11 BootExecute

属于启动执行的一个项目,系统通过它来实现启动Native程序,Native程序在驱动程序和系统核心加载后将被加载,此时会话管理器(smss.exe)进行Windows NT用户模式并开始顺序启动Native程序。

它位于注册表中HKEY_LOCAL_MACHINE\System\ControlSet001\Control\Session Manager下,有一个BootExecute键,用于系统启动时的某些自动检查。这个启动项里的程序是在系统图形界面完成前就被执行的,具有很高的优先级。

2.12 组策略加载程序

在Windows 2000/XP/Vista/Windows7中,在“运行”对话框输入“Gpedit.msc”打开组策略,展开“用户配置”->“管理模板”->“系统”->“登录”,就可以看到用户设置的登录时运行的项目,双击“在用户登录时运行这些程序”,单击“显示”按钮,即可查看自启动程序3。相应的键值在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\GroupPolicy Objects\本地User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run中可看到。

2.13 其他注册表键值

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad]

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts]

[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\System\Scripts]

3. 自动批处理文件

在Windows 98中,Autoexec.batWinstart.bat文件中的程序在开机时自动执行。Winstart.bat是一个系统自启动的批处理文件,主要作用是处理一些需要复制、删除的任务。譬如有些软件会在安装或卸载完之后要求重新启动,就可以利用这个复制和删除一些文件来达到完成任务的目的。如:

@if exist C:WINDOWSTEMPPROC.BAT call C:WINDOWSTEMPPROC.BAT是执行PROC.BAT文件的命令;call filename.exe > nul是去除任何在屏幕上的输出。如果巧妙安排完全可以达到修改系统的目的。

而在Windows Me/2000/XP/2003/Vista和Windows 7中,这两个批处理文件默认不被执行。

4. 系统配置文件

在Windows的配置文件(如Config.sys、Win.ini、System.ini、Wininit.ini和Msdos.sys等)也会加载一些自动运行的程序。

4.1 Win.ini文件

打开Win.ini文件,在[windows]段下的Run=LOAD=语句后面就可以直接加可执行程序,只要程序名称及路径写在后面即可自启动。

注意:load=run=的区别在于,load=后面的程序在自启动后后台最小化运行,而run=后程序则会默认正常运行。

4.2 System.ini文件

打开System.ini文件,找到[boot]段下shell=语句,该语句默认为shell=Explorer.exe,启动的时候运行Windows外壳程序explorer.exe,将可执行程序名称写在shell=Explorer.exe之后即可自启动。

4.3 Wininit.ini文件

Wininit.ini文件是很容易被许多电脑用户忽视的系统配置文件,因为该文件在Windows启动时自动执行之后会被自动删除,这就是说该文件中的命令只会自动执行一次。该配置文件主要由软件的安装程序生成,对那些在Windows图形界面启动后就不能进行删除、更新和重命名的文件进行操作。若其被病毒写上危险命令,那么后果与“C盘杀手”无异。

5. 计划任务文件夹

在默认情况下,“任务计划”程序随Windows一起启动并在后台运行。如果把某个程序添加到计划任务文件夹,并将计划任务设置为“系统启动时”“登录时”,这样也可以实现程序自启动。通过“计划任务”加载的程序一般会在任务栏系统托盘区里有它们的图标。也可以双击“控制面板”中的“计划任务”图标查看其中的项目。

本文主要参考链接如下:


  1. https://blog.csdn.net/zonghua521/article/details/78197994 ↩︎

  2. https://blog.csdn.net/wang740209668/article/details/76065975 ↩︎

  3. https://blog.csdn.net/kl222/article/details/1293541 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/640415.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

理想架构的非对称高回退Doherty功率放大器理论与仿真

Doherty理论—理想架构的非对称高回退Doherty功率放大器理论与仿真 参考&#xff1a; 三路Doherty设计 01 射频基础知识–基础概念 Switchmode RF and Microwave Power Amplifiers 目录 Doherty理论---理想架构的非对称高回退Doherty功率放大器理论与仿真0、高回退Doherty功率…

UVT音乐证书考试时间确定,学习氛围渐浓

美国职业资格与人才管理中心&#xff08;UVT&#xff09;音乐证书考试时间正式确定&#xff0c;学习氛围逐渐浓厚。众多热爱音乐的从业者和学生开始积极备考&#xff0c;希望通过这一考试获得音乐领域的宝贵证书。音乐证书被认为是音乐人才展示个人专业水平的重要机会&#xff…

【K8S 云原生】K8S的包包管理器-helm

目录 一、helm概念 1、什么是helm 2、helm的概念&#xff1a; 二、实验部署&#xff1a; 1、安装helm&#xff1a; 2、对chart仓库的基本使用&#xff1a; 2.1、查看和更新chart仓库 2.2、安装chart 2.3、卸载chart&#xff1a; 3、helm自定义模版&#xff1a; 3.1、…

常规二分查找中遇到的问题

以前我们写二分查找的时候&#xff0c;是这么写的&#xff1a; public static int binarySearch2(int []a,int target){int i0,ja.length-1;while(i<j){int mid(ij)/2;if(a[mid]target){return mid;}else if(a[mid]<target){imid1;}else {jmid-1;}}return -1;} 这么写&…

签名不对,请检查包名是否与开放平台上填写的一致。微信分享 errorCode 为-6(方法有两种)

微信分享 errorCode 为-6 解决办法1.自己编译&#xff0c;把MD5加密文件改成小写且去掉&#xff1a;如下图 解决方法2 下载GenSignature 输入包名 然后生成应用签名 在微信开放平台创建应用&#xff0c;填写应用签名

74.MySQL 分页原理与优化(下)

文章目录 前言一、一次分页查询的演进二、分页数据在不同页反复出现的坑 前言 上一篇文章介绍了分页原理与优化&#xff1a;73.MySQL 分页原理与优化&#xff08;上&#xff09; 但分页还有一个“坑”需要注意&#xff0c;本文细细道来&#xff0c;可能很多朋友都踩过这个坑还…

REVIT二次开发批量编号

步骤1 步骤2 步骤3 实现代码using System; using System.Collections.Generic; using System.Linq; using Syste

基于springboot+vue的教师工作量管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

Mybatis-Generator-1.4.2

知道代码自动化原理&#xff0c;可以自己搞的&#xff0c;连客户端js html一起弄掉 Low Code Development Platform(LCDP)_cms lcdp-CSDN博客

一种行之有效的防错策略:在支付系统中实施防呆设计的实践

聊个支付人都会碰到的问题&#xff1a;资损防控。做支付如果还没有碰到过资损&#xff0c;那就是做得时间还不够久。资损防控是一个很大的话题&#xff0c;需要开几篇文章才能讲完&#xff0c;今天只从一件小事入手聊一个简单而又行之有效的防错策略&#xff1a;防呆设计的实践…

论文阅读_tinyllama_轻量级大模型

英文名称: TinyLlama: An Open-Source Small Language Model中文名称: TinyLlama: 一个开源的小型语言模型链接: http://arxiv.org/abs/2401.02385v1代码: https://github.com/jzhang38/TinyLlama作者: Peiyuan Zhang, Guangtao Zeng, Tianduo Wang, Wei Lu机构: 新加坡科技与设…

【C++】list容器迭代器的模拟实现

list容器内部基本都是链表形式实现&#xff0c;这里的迭代器实现的逻辑需要注意C语言中指针的转换。 list容器如同数据结构中的队列&#xff0c;通常用链式结构进行存储。在这个容器中&#xff0c;我们可以模仿系统的逻辑&#xff0c;在头结点后设置一个“ 哨兵 ”&#xff0c;…

14.2搭建ASP运行环境

14.2搭建ASP运行环境 可以使用WinXP来搭建ASP的运行环境&#xff0c;不过&#xff0c;WinXP不适宜作为商业用Web服务器。目前比较常用的Web服务器操作系统是Windows2003 Server&#xff0c;在Windows2003 Server上安装完IIS6.0并进行相关设置后&#xff0c;即完成了ASP运行环境…

【lettuce-排行榜】

背景&#xff1a; 这次游戏中台采用lettuce的zset完成游戏内的本服和跨服排行榜&#xff0c;因此写一下案例。 pom.xml <dependency><groupId>io.lettuce</groupId><artifactId>lettuce-core</artifactId><version>6.2.4.RELEASE</ve…

【Redis】Redis基础

Redis基础 初识Redis 认识NoSQL SQL&#xff1a;结构化查询语言 > 关系型数据库 NoSQL&#xff1a;非关系型数据库 SQL与NoSQL的差异&#xff1a; 数据结构 SQL结构化&#xff1a;表的信息依赖于表的结构NoSQL非结构化&#xff1a;存储的信息为KV形式 数据关联 SQL关联…

Kubernetes实战(十八)-Pod亲和与反亲和调度

1 调度Pod的主要方式 Pod调度到指定Node的方式主要有4种&#xff1a; nodeName调度&#xff1a;直接在Pod的yaml编排文件中指定nodeName&#xff0c;调度到指定name的节点上。nodeSelector调度&#xff1a;直接在Pod的yaml编排文件中指定nodeSelector&#xff0c;调度到带有指…

Java和Redis实现一个简单的热搜功能

1. 前言 我们有一个简单的需求&#xff1a; 搜索栏展示当前登陆的个人用户的搜索历史记录&#xff0c;删除个人历史记录。用户在搜索栏输入某字符&#xff0c;则将该字符记录下来 以zset格式存储的redis中&#xff0c;记录该字符被搜索的个数以及当前的时间戳 &#xff08;用…

Qt5.12.0 与 VS2017 在 .pro文件转.vcxproj文件

一、参考资料 stackoverflow qt - How to generate .sln/.vcproj using qmake - Stack Overflowhttps://stackoverflow.com/questions/2339832/how-to-generate-sln-vcproj-using-qmake?answertabtrending#tab-topqt - 如何使用 qmake 生成 .sln/.vcproj - IT工具网 (coder.wo…

《WebKit 技术内幕》学习之七(2): 渲染基础

2 网页层次和RenderLayer树 2.1 层次和RenderLayer对象 前面章节介绍了网页的层次结构&#xff0c;也就是说网页是可以分层的&#xff0c;这有两点原因&#xff0c;一是为了方便网页开发者开发网页并设置网页的层次&#xff0c;二是为了WebKit处理上的便利&#xff0c;也就是…

数据库复试—关系数据库标准语言SQL

数据库复试—关系数据库标准语言SQL SQL&#xff1a;结构化查询语言 以教材中的学生-课程数据库为例进行SQL基础语法的复习 数据库实验环境选择SQLServer 11 关系模式 学生表Student(Sno,Sname,Ssex,Sage,Sdept) 课程表Course(Cno,Cname,Cpno,Ccredit) 学生选课表SC&#xf…