啟動項

啟動項

開機時系統會在前台或者後台運行的程序
啟動項目,就是開機的時候系統會在前台或者後台運行的程序。當操作系統完成登錄過程,進程表中出現了很多的進程。操作系統在啟動的時候,自動加載了很多程序。許多程序的自啟動,給我們帶來了很多方便,這是不争的事實,但不是每個自啟動的程序對我們都有用;更甚者,也許有病毒或木馬在自啟動行列。其實在Windows操作系統中關于自啟動文件,除了從以前系統中遺留下來的Autoexec.bat文件中加載外,按照兩個文件夾和9個核心注冊表子鍵來自動加載程序的。一般分5類。[1]
    中文名:啟動項 外文名: 别名: 含義:開機的時候系統會在前台或者後台運行的程序

分類

一般啟動

(文件夾類)

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的中文網址、多媒體鍵盤、鼠标之類的,其他的就可格殺勿論啦^_^!

相關詞條

相關搜索

其它詞條