今天無緣無故 XP 無法開機, 出現以下的錯誤訊息.
檔案遺漏或損毀,無法啟動 WINDOWS:\WINDOWS\SYSTEM32\CONFIG\SYSTEM
你可以用原安裝磁片或光碟片來啟動 WINDOWS安裝程式後,進行檔案修復。
ooxx... 用安裝光碟進去後按 R,進入修復,死的好慘,不過總算救回來了,
過程下面再詳細討論。
(後來發現, 用 google 搜尋 "windows xp 修復 system32/config/system" 有很多教學)
進去修復模式後,
chkdsk /p 可以檢查是否有錯誤的磁軌
此處 http://support.microsoft.com/default.aspx?scid=kb;zh-tw;314058 有可用指令詳細介紹
要特別小心 chkdsk /p /r ,因為我是使用 grub 管理三個系統(Linux, XP, Freebsd)
這個指令下下去後會將 grub 解決掉.. :~
而現在先說明怎麼救 grub (因為 grub 被解決掉很頭大).
先用 fdisk 或 spfdisk 開機,將預設的開機磁碟指回 /boot (/dev/hda2) 這個地方。
然後清除 mbr => fdisk /mbr 或 spfdisk /mbr
再來隨便找一片能開機的 Linux (knoppix 或手上能拿到的隨意)
雖然我用 debian,但 debian 的安裝光碟進入救援好難使用 @.@;
隨手拿到一片 Redhat 9 的安裝光碟 Disk 1,就用此片開機,
開機後輸入 linux rescue (好像是, 總之就是救援模式, 開機說明會有寫到)
進去後不知道做了啥事,總之 alt + f2 到 shell 模式就是了。
再來就如下順序
# mkdir /mnt/sys
# mount /dev/hda5 /mnt/sys (/dev/hda5 是 linux 的 "根目錄/" )
# mount /dev/hda2 /mnt/sys/boot/ (/dev/hda2 是 linux 的 "/boot")
# chroot /mnt/sys (以 /mnt/sys 設做根目錄)
# sbin/grub-install /dev/hda
這樣子即可救回來。(呼,好險,差點被嚇死)
再來就是進入 XP,發現到一樣的錯誤訊息(ooxx... 差點掛了我其它系統還修不好)
於是就去找 SYSTEM 的檔案(原本想說把他解決掉就行了,發現不行,得要找個替代)
於是照下面的做法即可(這是在 windows 光碟還原模式下的做法)
cd \windows\system32\config
ren system system.bak
copy \windows\repair\system
然後 exit 自動離開重開
這樣子就可以了,不過一些設定都回復到電腦剛灌好的時後。
驅動程式等等要自己再新增。
用 Linux 開機後把 windows mount 進來做那個做法比較快(我就是這樣子做)
後來發現 system 那個檔案是系統還原做用的,
如果自己要做還原等等的方式(ex: 今天 6月9日 06/09)
可以 copy C:\windows\system32\config\system C:\windows\repair\system.0609
要還原同樣
copy C:\windows\repair\system.0609 C:\windows\system32\config\system
呼,結束。 真要命。