分类
一般启动
(文件夹类)
1)“启动”文件夹──最常见的自[1]启动程序文件夹。
它位于系统分区的“documents and Settings-->User-->〔开始〕菜单-->程序”目录下。这时的User指的是登录的用户名。其对应的注册表位置为:
HKEY_CURRNT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders
Startup="%directory%""%directory%"为启动文件夹。
2)“All Users”中的自启动程序文件夹──另一个常见的自启动程序文件夹。
它位于系统分区的“documents and Settings-->All User-->〔开始〕菜单-->程序”目录下。前启动项设置,启动项设置面提到的“启动”文件夹运行的是登录用户的自启动程序,而“All Users”中启动的程序是在所有用户下都有效(不论你用什么用户登录)。
一般启动
(注册表键值类)
3)“Load”键值──一个埋藏得较深的注册表键值。
位于〔HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionWindowsload〕主键下。
4)“Userinit”键值──用户相关
它则位于〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogonUserinit〕主键下,也是用于系统启动时加载程序的。一般情况下,其默认值为“userinit.exe”,由于该子键的值中可使用逗号分隔开多个程序,因此,在键值的数值中可加入其它程序。
5)“ExplorerRun”键值──与“load”和“Userinit”两个键值不同的是,“ExplorerRun”同时位于〔HKEY_CURRENT_USER〕和〔HKEY_LOCAL_MACHINE〕两个根键中。
它在两个中的位置分别为(HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun〕下。
☆小提示HKEY_CURRNT_USER和HKEY_LOCAL_MACHINE的区别是:前者对于当前用户有效,后者对于所以用户都有效。
一般启动
(子键类)
6)“RunServicesOnce”子键──它在用户登录前及其它注册表自启动程序加载前面加载。
这个键同时位于〔HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServicesOnce〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServicesOnce〕下。
7)“RunServices”子键──它也是在用户登录前及其它注册表自启动程序加载前面加载。
这个键同时位于〔HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServices〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices〕下。
8)“RunOnceSetup”子键──其默认值是在用户登录后加载的程序。
这个键同时位于〔HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnceSetup〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnceSetup〕下。
9)“RunOnce”子键──许多自启动程序要通过RunOnce子键来完成第一次加载。
这个键同时位于〔HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce〕下。位于〔HKEY_CURRENT_USER〕根键下的RunOnce子键在用户登录扣及其它注册表的Run键值加载程序前加载相关程序,而位于〔HKEY_LOCAL_MACHINE〕主键下的Runonce子键则是在操作系统处理完其它注册表Run子键及自启动文件夹内的程序后再加载的。在Windows XP中还多出一个〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnceEX〕子键,其道理相同。
10)“Run”子键──目前最常见的自启动程序用于加载的地方。
这个键同时位于〔HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun〕下。
其中位于〔HKEY_CURRENT_USER〕根键下的Run键值紧接着〔HKEY_LOCAL_MACHINE〕主键下的Run键值启动,但两个键值都是在“启动”文件夹之前加载。
一般启动
(加载服务类)
11)再者就是Windows中加载的服务了,它的级别较高,用于最先加载。
其位于〔HKEY_LOCAL_MACHINESystemCurrentControlSetServices〕下,看到了吗,你所有的系统服务加载程序都在这里了!
12)Windows Shell──系统接口
它位于〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon〕下面的Shell字符串类型键值中,基默认值为Explorer.exe,当然可能木马程序会在此加入自身并以木马参数的形式调用资源管理器,以达到欺骗用户的目的。
13)BootExecute──属于启动执行的一个项目
可以通过它来实现启动Natvice程序,Native程序在驱动程序和系统核心加载后将被加载,此时会话管理器(smss.exe)进行windowsNT用户模式并开始按顺序启动native程序。
它位于注册表中〔HKEY_LOCAL_MACHINESystemControlSet001ControlSession Manager〕下面,有一个名为BootExecute的多字符串值键,它的默认值是"autocheck autochk *",用于系统启动时的某些自动检查。这个启动项目里的程序是在系统图形界面完成前就被执行的,所以具有很高的优先级。
14)策略组加载程序──打开Gpedit.msc,展开“用户配置——管理模板——系统——登录”,就可以看到“在用户登录时运行这些程序”的项目,你可以在里面添加。
在注册表中[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionGroup Policy Objects本地UserSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun]你也可以看到相对应的键值。
其他
15)十五、其他启动,基于NT技术的系统都没有以下。
HKEY_CURRNT_USERSoftwareMicrosoftWindowsCurrentVersionPolicesSystemShell
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionShellServiceObjectDelayLoad
HKEY_CURRNT_USERSoftwarePolicesMicrosoftWindowsSystemScripts
HKEY_LOCAL_MACHINESoftwarePolicesMicrosoftWindowsSystemScripts
特殊启动
1)关联启动
在注册表中除了上述普通的期待方式外,还可以利用特殊的方式达到启动目的,如关联启动。当我们打开txt文件时,系统自动会用记事本打开,自动运行notepad.exe。当然这种关联是可以改变的,其键值位置如下:
HKEY_CLASS_rootexefileshellopencommand @="%1" %*
HKEY_CLASS_ROOTbatfileshellopencommand @="%1" %*
HKEY_CLASS_ROOThtafileshellopencommand @="%1" %*
HKEY_CLASS_ROOTtxtfileshellopencommand @="%1" %*
HKEY_LOCAL_MACHINESoftwareClassesexefileshellopencommand @="%1" %*
HKEY_LOCAL_MACHINESoftwareClassesbatfileshellopencommand @="%1" %*
HKEY_LOCAL_MACHINESoftwareClasseshtafileshellopencommand @="%1" %*
HKEY_LOCAL_MACHINESoftwareClassestxtfileshellopencommand @="%1" %*
从注册表路径我可隐约得出,这些都是经常被执行的可执行文件的键值。往往一些木马可以改变这些键值达到加载目的。如果我们把"%1" %* 改成 xx.exe"%1" %* 则xx.exe就在每次执行类型文件(具体看哪一类型文件)时执行。
2)屏幕保护启动
windows的屏幕保护是一个.scr文件,这是个PE文件,如果把.scr改为.exe该程序仍然可以正常启动。类似的.exe文件更名为.scr也是被运行的,所以只要替换屏保文件,就能达到启动目的。
3)autorun.inf启动方式
虽说特殊但是比较常见,主要拜U盘病毒所赐,以前常见于光盘中,用于光盘自启动,每次光盘放入光驱中系通过这个文件是否自动启动光盘,这个文件可以用启动一些文件。
[autorun]
OPEN=可执行文件.exe
ICON=相关的图标文件.ico
最关键的是autorun.inf文件是可以被用于硬盘驱动器上的,也是就是说把光盘内容全部复制到硬盘根目录下,双击该盘符,文件就自动运行了,所以被广泛用于U盘病毒上。
4)古老启动——批处理自启动
autoexec.bat位于系统盘根目录(当然是隐藏文件),它每次开机的时候都会启动,早期病毒就看中它,利用deltree、format等危险命令来破坏数据。98系统中还有个winstart.bat位于windows文件夹中,每次开机都会启动。但是在2003、xp、me默认都不会启动。
其他启动
windows配置文件包括win.ini、system.ini、wininit.ini也会被加载的。驱动sys的启动、系统的dll的启动劫持和各种HOOK。具体HOOK为inline hook、iat hook、object hook、SSDT hook、FSD hook、message hook、kernel hook、idt hook。驱动的各种加载方法:全局钩子、远程注入、rootkit、bootkit、power rootkit。
备注:
Home版的XP中没有提供gpedit工具,可到网上搜索并下载补丁。
启动项的查看
msconfig
快速进入启动项的方法是在运行中输入msconfig,即可看到窗口下的启动项运行项目。
启动项设置
在"开始“-“运行”对话框中输入“msconfig”就打开“系统配置实用程序”。
msconfig是Windows系统中的“系统配置实用程序”,它可以自动执行诊断xp系统的配置问题时所用的常规解决步骤。它管的方面可够宽,包括:一般(常规)、system.ini、win.ini、BOOT.INI、服务、启动。它是xp系统底层最先启动的程序,可见它的重要性了。这里面可是自启动程序非常喜欢呆的地方。
这里我们只介绍一下“启动”
系统配置实用程序中的“启动”选项和我们在下面讲的"启动"文件夹并不是同一个东西,在系统配置实用程序中的这个启动项目是Windows系统启动项目的集合地,几乎所有的启动项目部能在这里找到----当然,经过特殊编程处理的程序可以通过另外的方法不在这里显示。
打开“启动”标签,“启动项目”中罗列的是开机启动程序的名称,“命令”下是具体的程序附加命令,最后的"位置"就是该程序在注册表中的相应位置了,你可以对可疑的程序进行详细的路径、命令检查,一旦发现错误,就可以用下方的"禁用"来禁止该程序开机时候的加载。
一般来讲,除系统基于硬件部分和内核部分的系统软件的启动项目外,其他的启动项目都是可以适当更改的,包括:杀毒程序、特定防火墙程序、播放软件、内存管理软件等。也就是说,启动项目中包含了所有我们可见的程序的列表,你完全可以通过它来管理你的启动程序,换句话,这里可以全部是空的。
注册表中相应的启动加载项目
注册表的启动项目是病毒和木马程序的最爱,非常多的病毒木马的顽固性就是通过注册表来实现的,特别是在安装了新的软件程序,一定不要被程序漂亮的外表迷惑,一定要看清楚它的实质是不是木马的伪装外壳或者是捆绑程序,必要的时候可以根据备份来恢复注册表。
我们也可以通过手动的方法来检查注册表中相应的位置,注意同安全、清洁的系统注册表相应键进行比较,如果发现不一致的地方,一定要弄清楚它是什么东西!不要相信写在外面的“system”、
“windows”、“programfiles”等名称,尤其是如果你仔细观察的话,有些字符是不一样的,比如0和o的区别,1和l的区别等,如果经过详细的比较,可以确定它是不明程序的话,不要手软,马上删除。
主要的启动加载键值有
“ExplorerRun”键值──在HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun〕下。
“RunServicesOnce”子键──在〔HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServicesOnce〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServicesOnce〕下。
“RunServices”子键──在〔HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServices〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices〕下。
“RunOnce”子键──在〔HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce〕下。
“Run”子键──在〔HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun〕和〔HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun〕下。
“启动”项目
在windows的“开始”中有自带的启动文件夹,它是最常见的启动项目。如果在安装程序时设置成开机既启动,这个程序就装入到这个文件夹中,系统启动就会自动地加载相应程序。
具体的位置是“开始”菜单中的“所有程序”-“启动”选项。
在硬盘上的位置是:C:Documents and Settings你的用户名「开始」菜单程序启动。
在注册表中的位置是:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun。
这里最好为空,而且用户要不时地检查一下这里有什么不明的东西。
boot.ini
当用户的电脑有ghost备份、dos工具或者是双系统时,在开机后就出现个让用户选择,如果不选择就以默认的启动的窗口,(屏幕底部是F8高级启动),boot.ini就控制这个地方。
里边的内容一般是
[boot loader]
timeout=x (x一般在1-5就可以了)
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect…………
BOOT.INI是一个非常重要的系统文件,是系统启动时,需要查询的一个系统文件,它告诉启动程序本计算机有几个操作系统、各系统的位置在哪里等信息。没有它或者误删了,系统还能进行引导,但是一个是只能引导默认的系统,不在有你的备份系统的引导选择,在一个是每次开机重启时都显示两行字:“boot.ini文件是非法的,现在正从C:/Windows/下启动”,但是速度明显慢了。
所以我们平时除了要对其作必要的备份之外,还要编辑它的方法。特别是在安装多系统时,如果没有按照从低到高(Windows 98、Windows 2000、Windows XP、Windows 2003)的安装顺序,该文件往往会被损坏。如果我们掌握修改和编辑它的办法,就不会到时候无计可施了。
非法关机以后的“启动”
相信很多人都碰到过电脑开机后出现
“Checking file system on E:
The type of the file system is NTFS……然后是一些数字的变化,最后一行是类似的“??(问号代表数字) allocation units available on disk”,然后就进入系统桌面了”的情况吧。
这就是非正常关机,如断电、按热启动键启动、或强制按电源键关机在开机造成的。
由于关机的时候E盘里面的程序还在运行,每次开机硬盘都会自动自检,消除错误信息等,而如果非正常关机这些程序没有正常退出,那么下次在开机电脑就要从新执行自检,以便消除消除错误信息,正常的电脑有一次就好了,下次启动就不会出现这种情况了。
如果每次开机都出现这样的情况有2个可能:一个是硬盘出现坏道了,硬盘在工作时突然关闭电源,可能会导致磁头与盘片猛烈磨擦而损坏硬盘,还会使磁头不能正确复位而造成硬盘的划伤,从而在硬盘留下了坏道,但是电脑还能勉强使用,出现这种情况一般只能更换硬盘了。一个是硬盘没有问题,但是留下了记忆的信息,结果每次都自检,消除的办法就是:开始-运行中输入chkdsk E: /x/f 回车,然后就出现个自动运行的dos窗口,等他运行完毕就没有问题了。
chkdsk E: /x /f的意思是Windows发现在E盘里文件系统有问题,运行CHKDSK<使用选项/x /f>来更正这些问题。
对于FAT文件系统,可以使用win自己的磁盘修复来操作,方法是:右击你要操作的盘符,属性-工具,选择查错,把自动修复错误的勾打上,点击开始就可以了。
启动项的优化
当用户打开电源开关后从“启动”到进入桌面以及可以登录网络后,如果花费的时间很长,而且打开、关闭、拖动一个程序文件的时候显得拖拖拉拉的,有时候还有莫名其妙的从“启动”,这样的“启动”往往说明:(1)加载的启动项目过多,(2)电脑中毒了,(3)系统盘的空间不足了,(4)机箱该打扫一下了,(5)有关的硬件性能欠佳了……
如何取消不必要的开机启动
1、开始--所有程序--"启动",点击打开后把里面全部删掉。
2、减少开机启动项,开始---运行,键入"msconfig".点击"启动。把不需要启动的项目前的勾去掉,然后点击“确定”或“应用”保存设置,下次启动即生效。如果对这些启动项不了解其用途,建议查询资料后再做决定。
3、如你的系统教稳定很少出现系统失败的故障,可以如下操作:开始---控制面板---性能和维护---系统",打开"系统特征-高级"选项卡,使用期中的"启动和故障恢复"按钮,打开"启动和故障恢复"对话框,将'系统失败下的"将事件写入系统日志"和"发送管理警报"两项去掉,,然后打开"写入调试信息"的下拉列表,选择"无"以后"确定"
4、减少开机使滚动条滚动次数.开始-运行,确定.键入"regedit",打开找到"HKEY-LOCAL-MACHINE-SYSTEM/Current Contralset/Control/Sessin Manager /Memory Management/Preech Paramentrs的分枝,在右侧窗口找到"EnablePrefecher",子健,把它的值设为:"1",右击我得电脑-属性-硬件-设备管理器-展开'IDE ATA/ATAPZ控制器",双击"次要通道IDE".,在对话框中选中"高级",再"设备0"中,将原设的"自动检测"改为"无",主要通道也如此修改.重启电脑,滚动条减少为3次(原十几次)。
5、开始-运行,确定.键入"regedit",打开HKEY-CURRENT-USER/ControlPanel;Desktop/,找到"HungAPPTineout",把它的之改为"5000",另一个"WaitTokillAPPTimeout",把它的值改为"4000".再再HKEY-LOCAL-MACHINE-System/CurrnentContralset/Control,把其中的WaitTokillServiceTimeout"的键值也改为4000。
启动项的管理
启动项影响着电脑启动时候的速度,如何精简启动项就成了大家比较为难的事情。大家在安装新的软件时,都会有个选择,是否添加到启动项。笔者建议大家不要选择。一般的话在启动项里面保留自己的杀毒软件和几个系统服务就好了。同时呢,建议那些比较懒的朋友们可以去下载个启动项管理软件,可以用软件查看你的启动项,它里面会标记出这个启动项的详细信息,还有就是安全的,基本上都是系统的正常启动,这样就轻松多了。
默认启动项
对于不同版本的WINDOWS,MSCONFIG会略有不同(编者注:Win2000没有MSCONFIG,但是你可以从WinXP中拷贝一个msconfig.exe来使用)。笔者在此就以Win98 SE为蓝本来讲述,此版本中有七个主要的默认启动项,往下看吧……
1.Welcome命令语句为C:WINDOWSWelcome.exe /r
欢迎进入Windows程序,这个不用我说了吧!安装好后第一次启动系统的时候都会有这个欢迎程序出现的,几乎没有什么用途。可以放心地把它KILL掉。
2.TaskMonitor命令语句为C:WINDOWStaskmon.exe
此项是任务检测程序,这个监视器将记录你使用软件的情况,然后将这些资料保存到windowsapplog的applog.ind文件中,建议保留。
3.internat.exe命令语句为internat.exe
注意啦!从名字来看此项目会让很多人会误以为是网络什么有关的,其实不然,因为它和英特网internet差一字哦,这里的这个internat是输入法图标工具,看看你电脑右下角任务栏里面的En图标,就是它!
4.ScanRegistry命令语句为C:WINDOWSscanregw.exe /aotorun
此项是注册表备份程序。作用是每次开机都备份一次注册表,注册表对于WINDOWS来说是非常重要的,所以在此强烈建议大家使用,因为现在恶意代码网站太多了,或者是非法操作造成注册表被破坏,还可以恢复上一次的注册表。有备无患吗!
5.SystemTray命令语句为SysTray.Exe
此项是管理驻留内存的程序,建议保留,这样的话,电脑在使用一段时间后系统会越来越慢的状况会减轻一点。
6.SchedulingAgent命令语句为C:WINDOWSSYSTEMmstask.exe
这个是系统计划任务程序,如果我们不使用计划任务,一般就没什么用。如果需要使用计划任务,这个就必需啦!
7.LoadPowerProfile命令语句为Rundll32.exe powrprof.dll,LoadCurrentPwrScheme(一般安装好系统后会出现两次!)
此项是电源管理程序。建议保留,如果禁用掉后,那么在控制面版中“电源管理”属性里面设置的就没有效果了。
好啦!以上这些就是Windows一些默认启动的项目了,接下来排除掉一些自己安装的软件,比如3721的中文网址、多媒体键盘、鼠标之类的,其他的就可格杀勿论啦^_^!