2007年8月1日 星期三

無法正常開機(FIXMBR)

在現在電腦硬碟愈來愈大之際,經常會有人在同一顆硬碟中分割成不同Partition,這是相當常見的一件事(除非你想一槽容量300 GB也可以拉!= = ),除此之外,當然有人會利用這些多的空間,安裝不同作業系統來研究或測試(DOS、Linux...等)

雖然現在虛擬技術VMWAREXEN...)愈來愈成熟,甚至可以在一個作業系統中包含別的作業系統,但是在硬體的資源分配上就會略顯不足,而實際執行環境也會有所差異,所以多作業系統的使用者還是大有人在,因為這潮流的風行,造成更多無法正常開機的狀況...

最常見的狀況就是,我們在安裝作業系統的同時,他會將屬於該系統的開機檔寫入MBR(主開機磁區)的磁區當中,也是該顆硬碟的最內圈磁軌當中,不過,在安裝的同時,我們經常會忽略一件事,就是在我們安裝新系統時,新系統會再將自己的開機檔進入MBR中,而原有的開機檔就被覆蓋

如果先利用別的軟體(例:Spfdisk或自行用DOS撰寫)製作成多重開機檔,還可以避免MBR錯誤造成的無法開機,否則你將新系統移除後,會發現原有的舊系統也無法正常開啟

舉例來說:原有XP的作業系統,再安裝Linux,可以利用Linux的開機管理程式(Grub),將原有的XP開機檔編寫在開機程式上(甚至可將開機檔寫在該Partition的最前端)

但是相反的安裝流程則無法保留,也就是XP的開機檔會直接覆概原有的Linux(就會造成Linux無法正常開機)

如果真的不幸造成MBR的損壞而無法開機,那該怎麼處理呢?

其實在XP安裝時,不知大家是否有留意過有個修復模式(在 Welcome to Setup (歡迎使用安裝程式) 畫面上,按下 F10 或按 R 以進行修復),我們就可以利用這個模式來進行修復

1. 進入修復主控台(光碟開機、按R或F10)
2. 選擇登入的系統(這部份為數字選擇)
3. 利用chkdsk來修復磁碟(c:)上的錯誤或壞軌
 chkdsk c: /p /r (p:強制檢查並修復;r:包含p參數,且修復壞軌,耗時極久)
4. 利用fixboot來修復在開機磁區中的損壞部份(限x86的系統)
 fixboot c:
5. 利用fixmbr來修復MBR(限x86的系統)
 fixmbr c:
6. 修復完後重新開機(正常的話,就能看見久違的XP畫面)

其實在上述步驟中,還有很多可用的工具,甚至於有些小細節要注意的地方,可以參考微軟官方的說明文件,或是問問Google有關MBR相關的文章,應該也能獲益不少

有一點要注意的是,在修復過程中會要求administrator的密碼,在XP HOME的版本中,沒有更動過密碼(手動更動),此時的密碼為「空白」,而PRO版的administrator就是在安裝時所輸入的密碼

筆者提出這一點,只是要提供大家遇到無法正常開機時的處理方法之一,除此之外還有太多因素會造成無法正常開機,硬體、軟體的原因有許多,雖然可以藉由錯誤代碼表找到相對應的問題,但是那對於一般人來說,可是一點都不親近的動作呀!