啟動項

開機的時候系統會在前台或者後台運行的程序

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

分類


一般啟動(文件夾類)
1)“啟動”文件夾──最常見的自啟動程序文件夾。
它位於系統分區的“documents and Settings-->User-->〔開始〕菜單-->程序”目錄下。這時的User指的是登錄的用戶名。其對應的註冊表位置為:
HKEY_CURRNT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
Startup=\"%directory%"\
"%directory%"為啟動文件夾。
2)“All Users”中的自啟動程序文件夾──另一個常見的自啟動程序文件夾。
它位於系統分區的“documents and Settings-->All User-->〔開始〕菜單-->程序”目錄下。前 面提到的“啟動”文件夾運行的是登錄用戶的自啟動程序,而“AllUsers”中啟動的程序是在所有用戶下都有效(不論你用什麼用戶登錄)。
一般啟動(註冊表鍵值類)
3)“Load”鍵值── 一個埋藏得較深的註冊表鍵值。
位於〔HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\load〕主鍵下。
4)“Userinit”鍵值──用戶相關
它則位於〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit〕主鍵下,也是用於系統啟動時載入程序的。一般情況下,其默認值為“userinit.exe”,由於該子鍵的值中可使用逗號分隔開多個程序,因此,在鍵值的數值中可加入其它程序。
5)“Explorer\Run”鍵值──與“load”和“Userinit”兩個鍵值不同的是,“Explorer\Run”同時位於〔HKEY_CURRENT_USER〕和〔HKEY_LOCAL_MACHINE〕兩個根鍵中。
啟動項設置
啟動項設置
它在兩個中的位置分別為(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run〕和 〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run〕下。
☆小提示HKEY_CURRNT_USER和HKEY_LOCAL_MACHINE的區別是:前者對於當前用戶有效,後者對於所以用戶都有效。
一般啟動(子鍵類)
6)“RunServicesOnce”子鍵──它在用戶登錄前及其它註冊表自啟動程序載入前面載入。
這個鍵同時位於〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce〕下。
7)“RunServices”子鍵──它也是在用戶登錄前及其它註冊表自啟動程序載入前面載入。
這個鍵同時位於〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices〕下。
8)“RunOnce\Setup”子鍵──其默認值是在用戶登錄后載入的程序。
啟動項設置
啟動項設置
這個鍵同時位於〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup〕和 〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup〕下。
9)“RunOnce”子鍵──許多自啟動程序要通過RunOnce子鍵來完成第一次載入。
這個鍵同時位於〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce〕下。位於〔HKEY_CURRENT_USER〕根鍵下的RunOnce子鍵在用戶登錄扣及其它註冊表的Run鍵值載入程序前載入相關程序,而位於〔HKEY_LOCAL_MACHINE〕主鍵下的Runonce子鍵則是在操作系統處理完其它註冊表Run子鍵及自啟動文件夾內的程序后再載入的。在Windows XP中還多出一個〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEX〕子鍵,其道理相同。
10)“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鍵值啟動,但兩個鍵值都是在“啟動”文件夾之前載入。
一般啟動(載入服務類)
11)再者就是Windows中載入的服務了,它的級別較高,用於最先載入。
其位於〔HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services〕下,看到了嗎,你所有的系統服務載入程序都在這裡了!
12)Windows Shell──系統介面
它位於〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\〕下面的Shell字元串類型鍵值中,基默認值為Explorer.exe,當然可能木馬程序會在此加入自身並以木馬參數的形式調用資源管理器,以達到欺騙用戶的目的。
13)BootExecute──屬於啟動執行的一個項目
可以通過它來實現啟動Natvice程序,Native程序在驅動程序和系統核心載入后將被載入,此時會話管理器(smss.exe)進行windowsNT用戶模式並開始按順序啟動native程序
它位於註冊表中〔HKEY_LOCAL_MACHINE\System\ControlSet001\Control\Session Manager\〕下面,有一個名為BootExecute的多字元串值鍵,它的默認值是"autocheck autochk *",用於系統啟動時的某些自動檢查。這個啟動項目里的程序是在系統圖形界面完成前就被執行的,所以具有很高的優先順序。
14)策略組載入程序──打開Gpedit.msc,展開“用戶配置——管理模板——系統——登錄”,就可以看到“在用戶登錄時運行這些程序”的項目,你可以在裡面添加。
在註冊表中[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\本地User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]你也可以看到相對應的鍵值。
其他
15)十五、其他啟動,基於NT技術的系統都沒有以下。
HKEY_CURRNT_USER\Software\Microsoft\Windows\CurrentVersion\Polices\System\Shell
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad
HKEY_CURRNT_USER\Software\Polices\Microsoft\Windows\System\Scripts
HKEY_LOCAL_MACHINE\Software\Polices\Microsoft\Windows\System\Scripts
特殊啟動
1)關聯啟動
在註冊表中除了上述普通的期待方式外,還可以利用特殊的方式達到啟動目的,如關聯啟動。當我們打開TXT文件時,系統自動會用記事本打開,自動運行notepad.exe。當然這種關聯是可以改變的,其鍵值位置如下:
HKEY_CLASS_ROOT\exefile\shell\open\command @="\%1\" %*
HKEY_CLASS_ROOT\batfile\shell\open\command @="\%1\" %*
HKEY_CLASS_ROOT\htafile\shell\open\command @="\%1\" %*
HKEY_CLASS_ROOT\txtfile\shell\open\command @="\%1\" %*
HKEY_LOCAL_MACHINE\Software\Classes\exefile\shell\open\command @="\%1\" %*
HKEY_LOCAL_MACHINE\Software\Classes\batfile\shell\open\command @="\%1\" %*
HKEY_LOCAL_MACHINE\Software\Classes\htafile\shell\open\command @="\%1\" %*
HKEY_LOCAL_MACHINE\Software\Classes\txtfile\shell\open\command @="\%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是Windows系統中的“系統配置實用程序”,它可以自動執行診斷xp系統的配置問題時所用的常規解決步驟。它管的方面可夠寬,包括:一般(常規)、system.ini、win.ini、BOOT.INI、服務、啟動。它是xp系統底層最先啟動的程序,可見它的重要性了。這裡面可是自啟動程序非常喜歡呆的地方。
這裡我們只介紹一下“啟動”
系統配置實用程序中的“啟動”選項和我們在下面講的"啟動"文件夾並不是同一個東西,在系統配置實用程序中的這個啟動項目是Windows系統啟動項目的集合地,幾乎所有的啟動項目部能在這裡找到----當然,經過特殊編程處理的程序可以通過另外的方法不在這裡顯示。
打開“啟動”標籤,“啟動項目”中羅列的是開機啟動程序的名稱,“命令”下是具體的程序附加命令,最後的"位置"就是該程序在註冊表中的相應位置了,你可以對可疑的程序進行詳細的路徑、命令檢查,一旦發現錯誤,就可以用下方的"禁用"來禁止該程序開機時候的載入。
一般來講,除系統基於硬體部分和內核部分的系統軟體的啟動項目外,其他的啟動項目都是可以適當更改的,包括:殺毒程序、特定防火牆程序、播放軟體、內存管理軟體等。也就是說,啟動項目中包含了所有我們可見的程序的列表,你完全可以通過它來管理你的啟動程序,換句話,這裡可以全部是空的。
註冊表中相應的啟動載入項目
註冊表的啟動項目是病毒和木馬程序的最愛,非常多的病毒木馬的頑固性就是通過註冊表來實現的,特別是在安裝了新的軟體程序,一定不要被程序漂亮的外表迷惑,一定要看清楚它的實質是不是木馬的偽裝外殼或者是捆綁程序,必要的時候可以根據備份來恢復註冊表。
我們也可以通過手動的方法來檢查註冊表中相應的位置,注意同安全、清潔的系統註冊表相應鍵進行比較,如果發現不一致的地方,一定要弄清楚它是什麼東西!不要相信寫在外面的“system”、
“windows”、“programfiles”等名稱,尤其是如果你仔細觀察的話,有些字元是不一樣的,比如0和o的區別,1和l的區別等,如果經過詳細的比較,可以確定它是不明程序的話,不要手軟,馬上刪除。
主要的啟動載入鍵值有
“Explorer\Run”鍵值──在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run〕下。
“RunServicesOnce”子鍵──在〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce〕下。
“RunServices”子鍵──在〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices〕下。
“RunOnce”子鍵──在〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce〕下。
“Run”子鍵──在
〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run〕下。
“啟動”項目
在windows的“開始”中有自帶的啟動文件夾,它是最常見的啟動項目。如果在安裝程序時設置成開機既啟動,這個程序就裝入到這個文件夾中,系統啟動就會自動地載入相應程序。
具體的位置是“開始”菜單中的“所有程序”-“啟動”選項。
在硬碟上的位置是:C:\Documents and Settings\你的用戶名\「開始」菜單\程序\啟動。
在註冊表中的位置是:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run。
這裡最好為空,而且用戶要不時地檢查一下這裡有什麼不明的東西。
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:\WINDOWS\Welcome.exe /r
歡迎進入Windows程序,安裝好后第一次啟動系統的時候都會有這個歡迎程序出現的,幾乎沒有什麼用途。可以放心地把它KILL掉。
2. TaskMonitor 命令語句為C:\WINDOWS\taskmon.exe
此項是任務檢測程序,這個監視器將記錄你使用軟體的情況,然後將這些資料保存到windows\applog的applog.ind文件中,建議保留。
3、internat.exe 命令語句為internat.exe
從名字來看此項目會讓很多人會誤以為是網路什麼有關的,其實不然,因為它和英特網internet差一字哦,這裡的這個internat是輸入法圖標工具,即你電腦右下角任務欄裡面的En圖標。
3. ScanRegistry 命令語句為C:\WINDOWS\scanregw.exe /aotorun
此項是註冊表備份程序。作用是每次開機都備份一次註冊表,註冊表對於WINDOWS來說是非常重要的,所以在此強烈建議大家使用,因為現在惡意代碼網站太多了,或者是非法操作造成註冊表被破壞,還可以恢復上一次的註冊表。
5. SystemTray 命令語句為SysTray.Exe
此項是管理駐留內存的程序,建議保留,這樣的話,電腦在使用一段時間后系統會越來越慢的狀況會減輕一點。
6. SchedulingAgent 命令語句為C:\WINDOWS\SYSTEM\mstask.exe
這個是系統計劃任務程序,如果我們不使用計劃任務,一般就沒什麼用。如果需要使用計劃任務,這個就必需。
7. LoadPowerProfile 命令語句為Rundll32.exe powrprof.dll,LoadCurrentPwrScheme (一般安裝好系統後會出現兩次)
此項是電源管理程序。建議保留,如果禁用掉后,那麼在控制面版中“電源管理”屬性裡面設置的就沒有效果了。
以上這些就是Windows一些默認啟動的項目了,接下來排除掉一些自己安裝的軟體,比如3721的中文網址、多媒體鍵盤、滑鼠之類的即可。