Friday, December 28, 2007

SAM Initialization Failed

前一陣子,老哥抱怨他的電腦有問題。根據當事人的描述,出門前保持開機,回來卻變成待機(Suspend To RAM[1]),隨後開啟電源,先是快速閃過出門前的畫面,隨即立刻出現BSOD[2],但他沒注意螢幕顯示的錯誤代碼(相信很多人都不會吧XD),在這樣的情況下只有重開機一途。重開機之後進桌面之前就出現下面的畫面:


Fig : SAM Initialize Failed (Click to enlarge)



那個中文翻譯真是折磨人,安全性帳戶管理員是啥XD,一時間還沒反應過來,實際上就是指Security Account Manager,中文翻譯還蠻白話的。它的本尊就是C:\WINDOWS\system32\config\SAM這個檔案,裡面負責儲存這台電腦的帳戶資訊。

通常碰到這種情況,會先嘗試以下兩種不需額外工具的方法
  • 進Safe Mode並查看系統記錄檔,裡面有無BSOD的相關訊息,或者是BSOD前的徵兆,通常可以看出些端倪,這樣才能對症下藥。

  • 使用Last Known Good[3]直接進OS看看。此方法不需額外的操作,就有可能讓系統恢復正常,成功的話就算是撿到了XD,但因為Last Known Good可能會導致最後一次開機後修改過的系統設定值遺失,通常還是先試試Safe Mode再說。



首先進入Safe Mode試試看,結果在出現帳戶畫面[4]之前,先出現了剛才正常模式中碰到的錯誤訊息,由此可以確定是SAM壞掉了。即使未必適用此問題,重開機後也順便試了Last Known Good,當然問題還是沒解決。由於SAM正常情況下不太可能損壞,其它可能的原因就是硬碟壞軌,由於其它的資料有一定機率也受到影響,處理起來需格外小心。



瞭解最可能出問題的部分之後,上Google簡單爬文後,立刻找到Microsoft自家Knowledge Base有100%相關聯的文章,真是太幸運了XD,省了不少爬文的時間。

照文章中的說法,此問題應該就是SAM這個檔案故障或遺失所造成的。由此可以推論,若能放回正常開機時的SAM,應該就能解決問題。快速瀏覽文中提到的三種方法,最後一種的重灌就再說吧;方法二提到的Repair資料夾,在正常電腦看該資料夾裡面檔案修改的時間,似乎是該電腦XP剛裝好的時間,若使用這裡的SAM覆蓋系統的SAM,就會如文章所說一樣,系統內所有帳戶資訊都會消失,顯然這也是個不得已的辦法,只比重灌好上一些。幸運的是,平常有幫他的硬碟製做完整備份,即使這個備份已經有半個月之久了XD,不過SAM極少變動,影響倒是不大。

最後的解決方法
,就是直接從備份中取出SAM檔,再使用BartPE開機並覆蓋故障的SAM檔。為了安全起見,覆蓋前先備份config資料夾中所有的檔案,再進行覆蓋,這樣有必要時也可以恢復成未覆蓋前的狀態。重開機之後,問題頓時解決!重開機數次,問題也未再出現,任務算是圓滿達成。後來使用HDDScan掃描,運氣還不錯,未找到任何壞軌,否則就要花大錢囉。



這個小故事告訴我們:
  • 硬碟要常備份,否則必要時將無先前備份檔可以取回、覆蓋。若碰到更嚴重的硬碟壞軌,資料損失造成的傷害是無法估計的。

  • 使用Windows系統,平常可以準備BartPE光碟或裝有BartPE的USB Drive,要不然會很難操作已經故障的系統;熟Linux的話,也可以使用KnoppixLive CD存取檔案系統;預先在硬碟安裝另一個XP也是個選擇。BartPE又是另一個說來話長的故事了,有機會再開一篇吧XD。



[1] Suspend To RAM(S3)是待機的一種。另一種在XP關機選單中,同樣也叫做待機的是Power On Suspend(S1),至於XP關機選單的待機功能會對應到哪一種狀態,則視BIOS中設定S1或S3待機而定。實際上S3會讓系統看起來像是關機一樣,切斷除了RAM以外的電力;S1就和一般開機類似,通常電源燈會閃爍,並供應少部分裝置的電力。

[2] Blue Screen Of Death(BSOD),俗稱藍底白字當機。在這裡可以看到歷代Windows系統的BSOD。

[3] Last Known Good Configuration 可以在XP的F8開機選單中找到。這個選項會將以下Registry的Key,還原成前一次正常關機或重開機的狀態
HKEY_LOCAL_MACHINE\System\CurrentControlSet

這個Key裡面的內容,主要和驅動程式較有關係,所以問題若與驅動程式無關,可能就幫不上忙了。這裡有較具體的說明此功能適用於哪些情況。

[4] 在Windows XP使用者登入的畫面中,即使平時只顯示一個使用者帳戶,進入安全模式時,仍應出現Adminstrator帳號;平常登入畫面中,XP會隱藏此帳號。

4 comments:

騏騏 said...

喔~我是頭推!

我還沒遇過這樣的問題(也希望不要遇到啊囧)

給個小建議:全文完時,接註解的中間可以多個分隔線@@

加油加油 ^^

(T)ttrick said...

嗯嗯~謝謝你的建議 ^^
這之前我有試過
預覽時都會顯示分隔線
但正式Publish之後就會被吃掉了 0rz
除非是弄成一般的圖片吧
否則可能要換版型了

這部分會再研究看看 ^^

騏騏 said...

喔~2008年第一天的大好日子你沒發表文章

那我就文不對題地在這裡祝你新年快樂、心想事成啦 ^^

(T)ttrick said...

哈哈~文不對題 XD
雖然是文不對題
但新年快樂還是一定要的啦 ^^