精華區beta AntiVirus 關於我們 聯絡資訊
之前灌了卡巴斯基且掃完木馬後, 重新開機發現無法登入了, 四處爬文似乎有不少人也在問這個問題, 但卻沒有個明確的解決方法, 我研究了好久終於找到不用重灌就可以解決的方式, 特別post出來分享給大家。 歡迎轉載,但請註明原作者。 以下說明皆是以中文WinXP,作業系統安裝於C碟為例說明 先說明系統登入後會自動登出的原因,在作業系統中有一個位於C:\WINNT\system32 下檔名為userinit.exe的檔案,如果這個檔案遺失或者相關的登錄檔損壞,就會造 成登入後自動登出的情況。 而卡巴斯基在遇到某些病毒或木馬(至於是哪種病毒或木馬我也不確定),在卡巴解 毒的過程中,會自動變更Windows的機碼並自動重新開機,然後夢饜就來了。我花了 二天的時間找資料及比對系統機碼,發現: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\ Userinit這組機碼,其資料型態被由字串值(REG_SZ)變更為可擴充字串值(REG_EXPA ND_SZ),進而造成WinXP無法判讀該段機碼,只要刪除掉這段錯誤的機碼,再補上正 確資料型態之機碼即可。(我在Win2000之中並沒有找到可擴充字串值這種資料型態 ,所以我大膽猜測,卡巴斯基並不會導致Win2000系統有登入後自動登出的問題) 平常要修正機碼很簡單,只要打開系統登錄編輯器修改一下即可,但現在作業系統 根本無法登入,連安全模式也一樣無法登入,要如何解決這個問題呢,我提供二種 解決方案: 方案1: 網路上有網友整合出WinPE+ERD2003的整合性光碟(請自行搜尋,我不便提供連結), 以此光碟開機並選擇作業系統後,執行ERD2003內建之系統登入編輯器(此軟體為簡 體中文語系),找到位於: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 下Userinit這組機碼,點開並複製他值的內容,舉例來說,我的是: ”C:\WINNT\system32\userinit.exe,”, 然後刪除Userinit這組機碼再新增一筆名 稱為Userinit且資料型態為字串值之機碼,再將其值的內容設定為與刪除前相同之 C:\WINNT\system32\userinit.exe,即可。 修改完成後,離開系統登錄編輯器並重新開機,一切搞定! 方案2: 實在是拿不到在其他系統下可編輯系統登錄檔之軟體的話,以可讀取到NTFS之開機 片(如WInPE、WinXP光碟中之修復主控台等),開機後並進入命令提示字元,打入: c: cd windows md regtemp cd system32 cd config copy software \windows\regtemp del software copy \windows\repair\software exit 重新開機後就可以登入系統,但所有使用者之軟體設定值全部消失,這時再執行系統 登錄編輯器,展開HKEY_LOCAL_MACHINE,然後執行系統登錄編輯器中載入Hive控制檔 這項功能(位於檔案>載入Hive控制檔),載入C:\windows\regtemp\software這個檔 案,並將名稱取為regtemp,找到位於:HKEY_LOCAL_MACHINE\SOFTWARE\regtemp\Mic rosoft\Windows NT\CurrentVersion\Winlogon下Userinit這組機碼,點開並複製他 值的內容,, 然後刪除Userinit這組機碼再新增一筆名稱為Userinit且資料型態為字 串值之機碼,再將其值的內容設定為與刪除前相同之C:\WINNT\system32\userinit. exe,即可。 接著點一下regtemp,執行Hive解除載入以卸載登錄檔,完成後重新開機,並再次以 開機片開機,在其命令提示字元下打入: c: cd windows cd system32 cd config del software copy \windows\regtemp\software exit 重新開機後系統即恢復正常。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.20.115.139
wting:淚推~一切都太遲了...不過相信原po會造福更多人 08/28 16:54
windgo:超讚的教學 推! 08/28 18:17