iT邦幫忙

0

出現錯誤訊息關於SVCHOST.EXE"0x00b06f9a",請問有人可以解答嗎?

alie 2008-05-26 09:34:319193 瀏覽

錯誤碼"0x00b06f9a",試了許多網路上提供的方法,還是在電腦一開機跑完程式跑出錯誤訊息,開啟檔案管理員或開啟其他程式要進入硬碟時,並不像之前電腦直接進入快速,反而要等一分鐘才能顯現出硬碟資料,之後便會出現錯誤訊息。
所以想問一下有人可以知道這問題嗎?
煩請解答,謝謝!
也想各位大大,可以請幫我看一下哪些是不該在電腦裡出現的程式?!
圖二為開啟檔案管理員的錯誤

魯大 iT邦高手 1 級 ‧ 2008-05-26 10:49:57 檢舉
我記得好像是要到微軟的網站上去下載一個hotfix
更新完後就沒事了..
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
26
davistai
iT邦大師 1 級 ‧ 2008-05-26 10:08:42
最佳解答
alie iT邦新手 4 級 ‧ 2008-05-26 10:33:22 檢舉

請問一下第一個軟體的有怎麼樣的作用?
那需要購買軟體嗎?
不好意思,這軟體的東西我很少碰到,所以一些基礎的東西就不太懂。
很可能會一直問!!

davistai iT邦大師 1 級 ‧ 2008-05-26 15:12:43 檢舉
alie iT邦新手 4 級 ‧ 2008-05-27 13:34:54 檢舉

剛剛找了檔案內,沒有第一個網址所說的病毒位置。但是工作管理員裡有avp.exe,就不知道在哪裡了!
不過我有找了一下錯誤訊息,不知道有沒有用?!
http://www.ithome.com.tw/plog/index.php?op=ViewResource&blogId=1068&resource=%E6%9C%AA%E5%91%BD%E5%90%8D.GIF

18
stoneck
iT邦新手 2 級 ‧ 2008-05-26 10:51:46

以下相關訊息是大陸同胞的回答, 如果不是病毒, 你可以試著找看看系統中哪一個利用 Svchost.exe 啟動的服務是有問題的.

Svchost.exe :
正常的存放位置在系統的%systemroot%\system32文件夾下。
在電腦啟動的時候,Svchost.exe檢查註冊表中的位置來構建需要加載的服務列表。這就會使多個Svchost.exe在同一時間運行。每個Svchost.exe的回話期間都包含一組服務,以至於單獨的服務必須依靠Svchost.exe怎樣和在那裡啟動。這樣就更加容易控制和查找錯誤。
Svchost.exe 組是用下面的註冊表值來識別。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost
每個在這個鍵下的值代表一個獨立的Svchost組,並且當你正在看活動的進程時,它顯示作為一個單獨的
例子。每個鍵值都是REG_MULTI_SZ類型的值而且包括運行在Svchost組內的服務。每個Svchost組都包含一個
或多個從註冊表值中選取的服務名,這個服務的參數值包含了一個ServiceDLL值。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Service

更多的信息
為了能看到正在運行在Svchost列表中的服務。
開始-運行-敲入cmd
然後在敲入 tlist -s (tlist 應該是win2k工具箱裡的鼕鼕)
Tlist 顯示一個活動進程的列表。開關 -s 顯示在每個進程中的活動服務列表。如果想知道更多的關於
進程的信息,可以敲 tlist pid。

Tlist 顯示Svchost.exe運行的兩個例子。
0 System Process
8 System
132 smss.exe
160 csrss.exe Title:
180 winlogon.exe Title: NetDDE Agent
208services.exe
Svcs: AppMgmt,Browser,Dhcp,dmserver,Dnscache,Eventlog,lanmanserver,LanmanWorkstation,LmHosts,Messenger,PlugPlay,ProtectedStorage,seclogon,TrkWks,W32Time,Wmi
220 lsass.exe Svcs: Netlogon,PolicyAgent,SamSs
404 svchost.exe Svcs: RpcSs
452 spoolsv.exe Svcs: Spooler
544 cisvc.exe Svcs: cisvc
556 svchost.exe Svcs: EventSystem,Netman,NtmsSvc,RasMan,SENS,TapiSrv
580 regsvc.exe Svcs: RemoteRegistry
596 mstask.exe Svcs: Schedule
660 snmp.exe Svcs: SNMP
728 winmgmt.exe Svcs: WinMgmt
852 cidaemon.exe Title: OleMainThreadWndName
812 explorer.exe Title: Program Manager
1032 OSA.EXE Title: Reminder
1300 cmd.exe Title: D:\WINNT5\System32\cmd.exe - tlist -s
1080 MAPISP32.EXE Title: WMS Idle
1264 rundll32.exe Title:
1000 mmc.exe Title: Device Manager
1144 tlist.exe
在這個例子中註冊表設置了兩個組。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost:
netsvcs: Reg_Multi_SZ: EventSystem Ias Iprip Irmon Netman Nwsapagent Rasauto Rasman Remoteaccess SENS Sharedaccess Tapisrv Ntmssvc
rpcss :Reg_Multi_SZ: RpcSs

alie iT邦新手 4 級 ‧ 2008-05-26 11:41:48 檢舉

所以我要從哪裡開始檢查?
剛剛有試著打過指令,只是都出現不是指令的提示出現!

18
skite
iT邦大師 5 級 ‧ 2008-05-26 11:19:11

如果我的電腦需要開很久才會顯示內容,那有可能是中毒了,雖然照圖片1中看起來,svchost的行為和數量都算正常,不過建議還是先掃毒看看。

如果掃完發現沒有中毒,那就有可能是下面兩種原因造成的:
一、應用程式沒有檢查記憶體分配失敗
程式需要一塊記憶體用以儲存資料時,就需要使用操作系統提供的「功能函數」來申請,如果記憶體分配成功,函數就會將所新開闢的記憶體區地址返回給應用程式,應用程式就可以通過這個地址使用這塊記憶體。這就是「動態記憶體分配」,記憶體地址也就是編程中的「游標」。記憶體不是永遠都招之即來、用之不盡的,有時候記憶體分配也會失敗。當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的游標,而是系統向應用程式發出的一個通知,告知出現了錯誤。作為應用程式,在每一次申請記憶體後都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程式的「健壯性」。若應用程式沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用游標,繼續在之後的執行中使用這塊記憶體。真正的0地址記憶體區儲存的是電腦系統中最重要的「中斷描述符表」,絕對不允許應用程式使用。在沒有保護機制的操作系統下(如DOS),寫資料到這個地址會導致立即當機,而在健壯的操作系統中,如Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程式,以防止其錯誤擴大。這時候,就會出現上述的「寫記憶體」錯誤,並指出被引用的記憶體地址為「0x00000000」。記憶體分配失敗故障的原因很多,記憶體不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見於操作系統使用很長時間後,安裝了多種應用程式(包括無意中「安裝」的病毒程式),更改了大量的系統參數和系統檔案之後。
二、應用程式由於自身BUG引用了不正常的記憶體游標
在使用動態分配的應用程式中,有時會有這樣的情況出現:程式試突讀寫一塊「應該可用」的記憶體,但不知為什麼,這個預料中可用的游標已經失效了。有可能是「忘記了」向操作系統要求分配,也可能是程式自己在某個時候已經註銷了這塊記憶體而「沒有留意」等等。註銷了的記憶體被系統回收,其訪問權已經不屬於該應用程式,因此讀寫操作也同樣會觸發系統的保護機制,企圖「違法」的程式唯一的下場就是被操作終止執行,回收全部資源。電腦世界的法律還是要比人類有效和嚴厲得多啊!像這樣的情況都屬於程式自身的BUG,你往往可在特定的操作順序下重現錯誤。無效游標不一定總是0,因此錯誤提示中的記憶體地址也不一定為「0x00000000」,而是其它隨機數位。

解決的方法目前沒有定論,可以試試看下面幾種:
1 記憶體條壞了 更換記憶體條
2 雙記憶體不相容 使用同品牌的記憶體或只要一條記憶體
3 記憶體質量問題 更換記憶體條
4 散熱問題 加強機箱內部的散熱
5 記憶體和主板沒插好或其他硬體不相容 重插記憶體或換個插槽
6 硬體有問題 更換硬碟
7 驅動問題 重裝驅動,如果是新系統,應先安裝主機板驅動
8 軟體損壞 重裝軟體
9 軟件有BUG 裝修正檔或更新到最新版本
10 軟體和系統不相容 安裝軟體修正檔或是試試系統的相容模式
11 軟體和軟件之間有衝突 如果最近安裝了什麼新軟體,試試先移除
12 軟體要使用其他相關的軟體有問題 重裝相關軟體,比如播放某一格式的文件時出錯,可能是這個文件的解碼器有問題
13 病毒問題 殺毒
14 殺毒軟體與系統或軟體相衝突 由於殺毒軟體是進入底層監控系統的,可能與一些軟體相衝突,移除試試
15 系統本身有問題 有時候操作系統本身也會有BUG,要注意安裝官方發行的更新程式,象SP的修正檔,最好安裝.如果還不行,重裝系統,或更換其他版本的系統。
16 到「C:\WINDOWS\Prefetch\」資料夾中,把裡面的檔案都刪除(或是只刪除*.PF的檔案),然後試試看再打開之前出錯的程式,或許就能正常啟動了。

我要發表回答

立即登入回答