2006年8月16日 星期三

在Windows XP SP2下修復MBR

  有同時使用多種不同作業系統經驗的人一定都會碰過這樣的情況,舉例來說,同時安裝了Windows XP和FreeBSD/Linux,日後在移除了FreeBSD/Linux之後,會發生無法開機進入Windows XP的問題,因為你的MBR(Master Boot Record)已經亂掉了,原本安裝的開機管理程式(不論你使用的是Boot Manager、GRUB或是LILO)都不知道要怎麼開機,所以需要重新做一份MBR,這個問題在Windows XP SP1以前都可以在開機的時候調整成光碟開機,放入光碟、重新開機後,在安裝的畫面使用修復的選項(按R或是F10)進入Recovery Console下打fixmbr修復。但是這個選項不知道為什麼在Windows XP SP2之後被取消了,就算按下R或是F10也叫不出來,這個時候就只有使用土法煉鋼的方式重新安裝Recovery Console。

  在Windows XP SP2之下,一樣也是開機按F8後進入"Windows進階選項功能表",如果能在選擇"回到OS選擇功能表"後進入原本安裝的Windows XP SP2的人就直接進入,如果連進入原本Windows XP SP2都沒辦法的人,就請先在另外一個分割區安裝Windows XP,但是並不用裝完全,只要讓安裝程式把檔案複製進去之後就可以隨著安裝流程重開機但是並不用繼續安裝,它會自己寫入開機紀錄,在這之後,就可以在"回到OS選擇功能表"中看到Windows XP,如果看到不只一個選項的人就要多試幾次,看看哪個才是你原本的那個Windows XP,如果只有一個選項,那當然就是直接進去,能夠進入原本的Windows XP之後,接下來就要手動安裝Recovery Console。

  想要手動安裝Recovery Console的必要條件是要有安裝光碟(以下假設光碟機在E:),在執行中輸入"E:\i386\winnt32.exe /cmdcons",接下來安裝程式就會告訴你這起碼需要7MB的硬碟空間,並且按下Yes之後就可以開始安裝,安裝程式會自動連線到Microsoft 的Server去下載適合的程式,並且自動安裝,這些步驟都不用擔心。安裝完成之後重新開機,還是進行一樣的步驟進入"Windows進階選項功能表",這次應該可以在"回到OS選擇功能表"中看到"Microsoft Windows XP Recovery Console"這個選項,選擇進入之後終於可以開始修復MBR。

  進入Recovery Console後,修復MBR的流程如下:

    1. 選擇要登入哪一個Windows安裝,一般來說只會有一個選項而已,也就是
      "1: C:\WINDOWS",所以就只要輸入1就可以了。
    2. 輸入系統管理員的密碼,如果當初沒有設定密碼就直接按下Enter,如果
      不知道密碼,那就沒有辦法了。
    3. 輸入fixmbr,程式會詢問是不是真的要重新建立MBR,反正沒有別的路走
      了,所以也只能鍵入Y後按下Enter。
    4. 輸入exit離開程式並重新開機。

  一般來說,就只要進行這些步驟就可以了,但是我的經驗中仍然有碰過別的問題

  如果開機的時候出現以下訊息:

    下列檔案遺漏或損毀,無法啟動 Windows:
    《Windows root》\sytem32\hal.dll.
    請重新安裝一份上列檔案的拷貝

  那就要再進行額外的動作修復。

  基本上的修復流程和之前修復MBR的流程一樣,但是在鍵入"fixmbr"的地方改成鍵入"bootcfg /rebuild",接下來程式會自動掃描各個硬碟分割區,看看到底安裝了幾個系統。找到了想要使用的系統之後按Y將它新增到開機清單,再輸入載入識別元,也就是你想要它顯示的名字,一般來說就是輸入"Windows XP",然後輸入OS載入選項,也就是剛剛掃描結果的選項代號,最後也是輸入exit離開,全部的流程到此結束。


沒有留言: