顯示具有 系統錯誤訊息 標籤的文章。 顯示所有文章
顯示具有 系統錯誤訊息 標籤的文章。 顯示所有文章

2008年8月2日 星期六

修復硬碟--chdsk指令


我的電腦徵兆不大ㄧ樣,是偶而出現的籃底白字(就是當機前畫面最後的遺言...)畫面要求你去執行chkdsk /f (上圖是執行chkdsk/f的畫面而非當機的畫面)。
其實在看到下面這篇文章時我已經依照錯誤訊息的指示到命令列打chkdsk /f: (不過我是在安全模式含命令列的模式做的)。
做完系統就重新啟動,至於到底有沒有修復,我還要觀察幾天。
完成後想說了解ㄧ下 chkdsk指令,剛好只到這篇文章,覺得很完整,所以就貼過來留給自己以後又出問題的時候用。
==================================================



Chkdsk是一個微軟修復磁碟錯誤的程式
使用非常簡單
首先按下「開始」「程式集」「附屬應用程式」「命令提示字元」
在命令列輸入「 Chkdsk」便可開始檢查目前所在的磁碟機
輸入「Chkdsk 磁碟機代號(後接冒號)」便可指定要檢查的磁碟機
輸入「Chkdsk 磁碟機代號(後接冒號) /F」
則能夠檢查在到錯誤時自動進行修復。
輸入「Chkdsk 磁碟機代號(後接冒號) /R」
則能夠找出損壞的磁區並復原可讀取的資訊(包含 /F)。
例如:我們要檢查C:磁碟有無錯誤
於發現錯誤時進行修正並復原可讀取的資訊
便可輸入「Chkdsk C: /R」
※問題1:
如果出現下列這段字
-------------------------------------------------------------------
無法執行 Chkdsk,因為磁碟區被其他處理程序使用中。
如果您先解下這個磁碟區的話,Chkdsk 可能可以執行。
所有在這個磁碟區上開啟的控制碼都會失效。
您想要強制解下這個磁碟區嗎? (Y/N)
-------------------------------------------------------------------
全部都回答「N」,進入「安全模式」再試一次Chkdsk
※問題2:
如果出現下列這段字
-------------------------------------------------------------------
無法執行 Chkdsk,因為有其他處理程序正在使用磁碟區。
您是否要將這個磁碟區排定在下次系統重新啟動時
進行檢查? (Y/N)
-------------------------------------------------------------------
按「Y」後
是「重新開機」
在進入桌面前
Chkdsk就會自動執行了
另外輸入「Chkdsk /?」則能夠查詢詳細的指令資訊。
如果無法進入系統
則在開機出現微軟XP Loading圖示前按F8
或開機就一直按F8
進入安全模式(含命令提示字元)
接下來輸入Chkdsk C: /F修復就OK了
但是Chkdsk並不是百分之百修復成功
毀損的太嚴重就只能重灌了
毀損的原因通常有以下這幾種:
1.開機啟動時碰撞到主機,導致硬碟毀損
(只要硬碟在運作,碰撞到都有可能毀損硬碟)
2.使用BT下載軟體,雖然說BT下載很快很好用
 但下載時會高速寫入硬碟(因為下載速度快)
 而導致硬碟溫度升高,讀取磁頭刮傷硬碟(熱脹冷縮)
3.硬碟品質不良,雖然說機會不大
 現在的品管都不錯,但這也是我硬碟壞掉的原因之一

解決『Generic host process for win32 services遇到問題需要關閉』的方法




今天我的電腦遇到的問題,先給一個訊息,再送第二個錯誤訊息,如上圖。
查了一下網路資料,有人說更新作業系統就好了,我順便將Win XP SP2更新為SP3,更新過程真是歷經千辛萬苦(一直無法順利更新,哪些錯誤訊息一直出現,電腦也重開了4次)。但是...更新為之後問題依舊,所以參照下列文件的敘述做了一遍,問題才解決。
P.S.
只是,這個問題解了卻產生了新的問題,偶而會出現藍底白字,查過代碼多數是軟硬體相容性的問題(這次電腦噩夢是從我為我的NB加到2G的RAM),或者藍底白字清楚告訴我Anti-Virus衝突,要先uninstall。不過這是另外一件事,我已經將原本使用的NAV 9.0先移除,後來分別安裝過5套的防毒軟體來試用,這些軟體的確也抓到一些NAV從未告訴過我的木馬及廣告程式。現在先用卡巴斯基2009的試用版先頂著,過3個星期如果一切正常,我就花錢贊助卡巴斯基...
不過,這次的心得是,還是建議重灌。這次只是剛好短時間還需要NB來『維持我的家計』,沒時間重灌所有軟體(因為裡面有好幾套軟體是合法的,重灌我還要先反安裝取回序號才行,當個合法者真是花錢又找罪受...唉!),才會花這麼大的功夫處理這些訊息。

==========================================
解決WINXP系統開機後彈出Generic host process for win32 services 遇到問題需要關閉!
出現上面這個錯誤一般有三種情況。


1.就是病毒。開機後會提示Generic Host Process for Win32 Services 遇到問題需要
關 閉」「Remote Rrocedure Call (RPC)服務意外終止,然後就自動重起電腦。一般該病毒會在注冊表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Run 下建立msblast.exe鍵值,還會在c:\windows\system32目錄下會放置一個msblast.exe的木馬程,解決方案如下:
RPC漏洞
詳細描述:
最 近發現部分RPC在使用TCP/IP協議處理信息交換時不正確的處理畸形的消息導致存在一個安全漏洞。該漏洞影響使用RPC的DCOM接口,這個接口用來 處理由客戶端機器發送給服務器的DCOM對象激活請求(如UNC路徑)。如果攻擊者成功利用了該漏洞將獲得本地系統權限,他將可以在系統上運行任意命令, 如安裝程序、查看或更改、刪除數據或者是建立系統管理員權限的帳戶等.
已發現的一個攻擊現象:
攻擊者在用戶注冊表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ Run 下建立一個叫「msupdate」(估計有變化)的鍵,鍵值一般為msblast.exeC:\windows\system32目錄下會放置一個 msblast.exe的木馬程序.
另外受攻擊者會出現「Generic Host Process for Win32 Services 遇到問題需要關閉」「Remote Rrocedure Call (RPC)服務意外終止,Windows必須立即重新啟動」等錯誤信息而重啟。
建 議到[url="http://www.microsoft.com/security/security_bulletins/ms03- 026.asp"]http://www.microsoft.com/security/security_bulletins/ms03-026.asp [/url]下載相應補丁。如果已受攻擊,建議先拔掉網線,在任務管理器中結束msblast.exe進程,清除注冊表中的相應條目,刪除 system32下的木馬程序,最後打補丁。

第二種情況是排除病毒後,還出現這樣的問題,一般都是IE組件在注冊表中注冊信息被破壞,可以按下面的方法去解決該問題:
1。 在"開始"菜單中打開"運行"窗口,在其中輸入"regsvr32 actxprxy.dll",然後"確定",接著會出現一個信息對話 框"DllRegisterServer in actxprxy.dll succeeded",再次點擊"確定"。
   2 再次打開"運行"窗口,輸入"regsvr32 shdocvw.dll
   3 再次打開"運行"窗口,輸入"regsvr32 oleaut32.dll
   4 再次打開"運行"窗口,輸入"regsvr32 actxprxy.dll
   5 再次打開"運行"窗口,輸入"regsvr32 mshtml.dll
   6 再次打開"運行"窗口,輸入"regsvr32 msjava.dll
   7 再次打開"運行"窗口,輸入"regsvr32 browseui.dll
   8 再次打開"運行"窗口,輸入"regsvr32 urlmon.dll
如果排除病毒問題後,做完上面的幾個IE組件注冊一般問題即可得到解決。

3.如果電腦有打印機,還可能是因為打印機驅動安裝錯誤,也會造成這個錯誤。解決方法如下:
重裝打印機驅動程序。
一般情況下做到上面三步後,該問題即可得到全面解決。

2008年7月29日 星期二

該記憶體不能為read或written--解決方法建議

這是另外一篇問題及解決方法,我也要來試試看。



前一篇貼文:該記憶體不能為read或written--問題原因 http://itb-learn.blogspot.com/2008/07/readwritten.html

===========================================
有時會遇到這樣的錯誤信息:taskmgr.exe - 應用程式錯誤」0x 00000000」 指令參考的」0x 00000000」 記憶體。該記憶體不能為」read」,然後應用程式被關閉。
有幾種可能性
1.windows系統的問題,重灌系統是最好的解決方法
2.其他因素,像中木馬病毒也有可能。
整理了7個軟體方面的可能情況及處理建議:
1、將C:\WINDOWS\Prefetch底下所有附檔名*.pf的全砍掉。
2、調整虛擬記憶體,建議不要設定在系統磁碟機。
在桌面上我的電腦按右鍵的內容->進階->設定->進階->變更->系統磁碟機(預設在C槽)選最下面沒有分頁檔案;隨便找另一個磁碟機,選自定大小,最小值電腦記憶體的1.5倍;最大值電腦記憶體的2.0~2.5倍。
3、用記憶體管理軟體。
4、中毒會佔用記憶體,唯一的方法就是掃毒併除去。
5、中木馬,就用除木馬的程式來處理。
6、若是玩遊戲時遇到的情況,請將DirectX升級到最新版(目前是9.0) 。
7、重新註冊所有的dll -推薦使用此方法!(但不建議電腦初學者使用)
方法:開始>執行>輸入cmd>按「確定」,出現DOS窗口,在命令提示符下輸入
for % 1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1

如果怕輸入錯誤的話,可以複製這條指令,然後在命令提示框點擊滑鼠右鍵[貼上]即可,便不會輸入錯了。先耐心等一會兒,因為此時dll的檔案會開始重新註冊所有程序,需要一至二分鍾的時間註冊,請耐心等候完成。

該記憶體不能為read或written--問題原因

剛剛電腦出現這個錯誤訊息,就把圖擷取下來,順便到網路上找相關資訊。

不過以下原文出處不明,因為多數的文章貼的都是同一篇。感謝這位電腦高手的說明。

====================================

使用Windows操作系統的人有時會遇到這樣的錯誤信息:
"0x004804e6"指定參考的"0x000001d4"記憶體。該記憶體不能為"read"。請按「確定」終止程式,請按「取消」進行程式偵錯,「0X????????指令引用的0x00000000記憶體,該記憶體不能written」,然後應用程式被關閉。

如果去請教一些「高手」,得到的回答往往是「Windows就是這樣不穩定」之類的義憤和不屑。
其實,這個錯誤並不一定是Windows不穩定造成的。本文就來簡單分析這種錯誤的一般原因。

一、應用程式沒有檢查記憶體分配失敗
程序需要一塊記憶體用以儲存資料時,就需要使用操作系統提供的「功能函數」來申請,如果記憶體分配成功,函數就會將所新開闢的記憶體區位址返回給應用程式,應用程式就可以通過這個位址使用這塊記憶體。這就是「動態記憶體分配」,記憶體位址也就是編程中的「遊標」。
記憶體不是永遠都招之即來、用之不盡的,有時候記憶體分配也會失敗。當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的遊標,而是系統向應用程式發出的一個通知,告知出現了錯誤。作為應用程式,在每一次申請記憶體後都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程序的「健壯性」。
若應用程式沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用遊標,繼續在之後的執行中使用這塊記憶體。
真正的0位址記憶體區儲存的是電腦系統中最重要的「中斷描述符表」,絕對不允許應用程式使用。在沒有保護機制的操作系統下(如DOS),寫資料到這個位址會導致立即當機,而在健壯的操作系統中,如Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程式,以防止其錯誤擴大。這時候,就會出現上述的「寫記憶體」錯誤,並指出被引用的記憶體位址為「0x00000000」。
記憶體分配失敗故障的原因很多,記憶體不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見於操作系統使用很長時間後,安裝了多種應用程式(包括無意中「安裝」的病毒程序),更改了大量的系統參數和系統檔案之後。

二、應用程式由於自身BUG引用了不正常的記憶體遊標
在使用動態分配的應用程式中,有時會有這樣的情況出現:程序試突讀寫一塊「應該可用」的記憶體,但不知為什麼,這個預料中可用的遊標已經失效了。有可能是「忘記了」向操作系統要求分配,也可能是程序自己在某個時候已經註銷了這塊記憶體而「沒有留意」等等。註銷了的記憶體被系統回收,其訪問權已經不屬於該應用程式,因此讀寫操作也同樣會觸發系統的保護機制,企圖「違法」的程序唯一的下場就是被操作終止執行,回收全部資源。電腦世界的法律還是要比人類有效和嚴厲得多啊!像這樣的情況都屬於程序自身的BUG,你往往可在特定的操作順序下重現錯誤。無效遊標不一定總是0,因此錯誤提示中的記憶體位址也不一定為「0x00000000」,而是其他隨機數字。如果系統經常有所提到的錯誤提示,下面的建議可能會有說明 :

1.檢視系統中是否有木馬或病毒。這類程序為了控制系統往往不負責任地修改系統,從而導致操作系統異常。平常應加強信息安全意識,對來源不明的可執行程序絕不好奇。

2.更新操作系統,讓操作系統的安裝程序重新拷貝正確版本的系統檔案、修正系統參數。有時候操作系統本身也會有BUG,要註意安裝官方發行的昇級程序。3.試用新版本的應用程式。

Mode:將虛擬記憶體撤換
答案:目前為止是肯定的,也就是如在下次冷天到來時亦沒再發生,就代表這是主因

追加:
如果你用 Ghost 恢復 OS 後建議 刪除WINDOWS\PREFETCH目錄下所有*.PF文件,因為需讓windows重新收集程式的物理位址,有些應用程式錯誤: "0x7cd64998" 指令參考的 "0x14c96730" 記憶體。該記憶體不能為 "read",推論是此原因

源由:
Win XP的「預讀取」技術,這種最佳化技術也被用到了應用軟體上,系統對每一個應用軟體的前幾次啟動情況進行分析,然後新增一個描述套用需求的虛擬「記憶體映像」,並把這些信息儲存到WINDOWS\PREFETCH資料夾。一旦建立了映像,應用軟體的裝入速度大大提高。
XP的預讀取資料儲存了最近8次系統啟動或應用軟體啟動的信息。
後敘:目前此方法亦是獨步網路的(其碼自己針對此問題查了許久),也是常見問題,原本幾乎每天睡前關閉軟體時一些程式都會發生...read...現在就沒發生了以上轉貼供參考
以上內容轉貼自http://www.bbsfans.com/tcbb/myindex.php?vplace=vthread&threadid=187658&boardid=28