啟動項

啟動項

啟動項目,就是開機的時候系統會在前台或者後台運行的程式。當作業系統完成登錄過程,進程表中出現了很多的進程。作業系統在啟動的時候,自動載入了很多程式。許多程式的自啟動,給我們帶來了很多方便,這是不爭的事實,但不是每個自啟動的程式對我們都有用;更甚者,也許有病毒或木馬在自啟動行列。其實在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啟動方式
雖說特殊但是比較常見,主要拜隨身碟病毒所賜,以前常見於光碟中,用於光碟自啟動,每次光碟放入光碟機中系通過這個檔案是否自動啟動光碟,這個檔案可以用啟動一些檔案。
OPEN=執行檔.exe
ICON=相關的圖示檔案.ico
最關鍵的是autorun.inf檔案是可以被用於硬碟驅動器上的,也是就是說把光碟內容全部複製到硬碟根目錄下,雙擊該盤符,檔案就自動運行了,所以被廣泛用於隨身碟病毒上。
4)古老啟動——批處理自啟動
autoexec.bat位於系統盤根目錄(當然是隱藏檔案),它每次開機的時候都會啟動,早期病毒就看中它,利用deltree、format等危險命令來破壞數據。98系統中還有個winstart.bat位於windows資料夾中,每次開機都會啟動。但是在2003、xp、me默認都不會啟動。
其他啟動
windows配置檔案包括win.inisystem.iniwininit.ini也會被載入的。驅動sys的啟動、系統的dll的啟動劫持和各種HOOK。具體HOOK為inline hook、iat hook、object hook、SSDT hook、FSD hook、message hook、kernel hook、idt hook。驅動的各種載入方法:全局鉤子、遠程注入、rootkitbootkit、power rootkit。
備註:
Home版的XP中沒有提供gpedit工具,可到網上搜尋並下載補丁。

查看

msconfig
快速進入啟動項的方法是在運行中輸入 msconfig ,即可看到視窗下的啟動項運行項目。
在"開始“-“運行”對話框中輸入“msconfig”就打開“系統配置實用程式”。
啟動項設定啟動項設定
msconfig是Windows系統中的“系統配置實用程式”,它可以自動執行診斷xp系統的配置問題時所用的常規解決步驟。它管的方面可夠寬,包括:一般(常規)、system.iniwin.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
啟動項的管理
啟動項影響著電腦啟動時候的速度,如何精簡啟動項就成了大家比較為難的事情。大家在安裝新的軟體時,都會有個選擇,是否添加到啟動項。筆者建議大家不要選擇。一般的話在啟動項裡面保留自己的防毒軟體和幾個系統服務就好了。同時呢,建議那些比較懶的朋友們可以去下載個啟動項管理軟體,可以用軟體查看你的啟動項,它裡面會標記出這個啟動項的詳細信息,還有就是安全的,基本上都是系統的正常啟動,這樣就輕鬆多了。
默認啟動項
對於不同版本的WINDOWSMSCONFIG會略有不同(編者註: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的中文網址、多媒體鍵盤、滑鼠之類的即可。

相關詞條

熱門詞條

聯絡我們