[教學]修復 Windows 的開機磁區各種方法

如何恢復 Windows 開機磁區,我想這是玩 Linux 跟 Windows 多重作業系統會碰到的問題之一,也是大家最頭痛的問題,當然其實方法很解決,沒有想像的那麼困難啦,只是大家安裝完 Linux 之後,然後砍掉他們的磁區,就會造成開機 boot loader 讀不到資料,所以造成 grub 的錯誤,那可以參考鳥哥那邊的作法,當然首先要瞭解:磁碟檔案系統,然後再去瞭解 Boot Loader: Grub,當然本篇試教您如和清除開機MBR,恢復 windows 系統的 boot loader。 方法一:利用XP光碟片還原 放進去XP的原版光碟,隨便一種XP光碟即可,只要能原始安裝即可,畫面中按 R 或 F10 進入「Windows 修復主控台」,當然進去之後,她會偵測到目前的系統 C:\windows 之類的,她會詢問密碼,就直接按 enter 即可,然後打入 fixmbr 然後按 Y 確定就可以了

方法二:利用 Linux 還原方式 先隨便找一張 Linux 開機光碟,可以進入到安全模式 (Rescue 模式),或者是拿 Ubuntu 光碟可以進入到桌面,然後打入底下指令:

#
# 按照下面打入
#
wget http://blog.wu-boy.com/wp-content/uploads/2008/06/ms.mbr -O /tmp/ms.mbr
#
# hda 即是你要恢復的 Windows 系統
#
dd if=/tmp/ms.mbr of=/dev/hda bs=446 count=1
exit (重開機時請移除光碟片)
請注意底下這行

dd if=/tmp/ms.mbr of=/dev/hda bs=446 count=1 網路上有人教: dd if=/tmp/ms.mbr of=/dev/hda bs=512 count=1 這樣是錯的,你不能清除掉完整的 512 byte,因為有64byte是專門在紀錄你分割的硬碟,所以請小心使用,或者是清除開機磁區指令如下:

#
# 這樣清除,還是要拿xp光碟來重新製作開機磁區
#
dd if=/dev/zero of=/dev/hda bs=446 count=1
方法三:熟悉 grub 的開機方式 請依序輸入下面指令也可以開機:
#
# (hd0,0) 即是你windows 開機磁區 
# 使用 rootnoverify 而非 root
rootnoverify (hd0,0)
makeactive
chainloader +1
boot
這方法只是讓你開機進去 Windows 而不是讓你重新恢復開機磁區,所以還是請按照前面兩種方法吧,不然就是利用網路上

SPFDisk 軟體吧 參考網站: 復原 Windows MBR 的各種方式


See also