Ubuntu

幫助修復 GRUB for linux/winxp 雙啟動方案

  • June 2, 2009

這裡說來話長,但基本上我在 sda1 aka (hd0,0) 上安裝了 windows xp,在 sdb5 aka (hd1,4) 上安裝了 ubuntu,並且它們啟動正常。ubuntu 出了點問題,我重新安裝了,並試圖修復 grub.. 在此過程中,我相信我不小心執行了 ‘setup (hd0,0)’ 而不是 ‘setup(hd0)’ 來複製 grub。

我嘗試使用 ms-sys 修復 MBR,但無濟於事。

此時 GRUB 啟動菜單讓我啟動到 linux,但如果我嘗試啟動到 winXP,它會快速閃爍“GRUB loading stage2…”,然後讓我再次回到 GRUB 啟動菜單。

有什麼我可以嘗試解決的還是我搞砸了?

winxp grub 菜單項是:

`title winxp

rootnoverify (hd0,0)

savedefault

chainloader +1`

fdisk -l 的輸出是:

/dev/sda1 * 1 8338 7879403 c W95 FAT32 (LBA)

`/dev/sdb1 * 1 2224 17864248+ 83 Linux

/dev/sdb2 2551 3924 11036655 b W95 FAT32

/dev/sdb3 2225 2550 2618595 5 Extended

/dev/sdb5 2225 2528 2441848+ 83 Linux

/dev/sdb6 2529 2550 176683+ 82 Linux swap / Solaris`

謝謝!

我認為您需要重做 Windows 啟動安裝過程,因為當您這樣做時setup (hd0,0),您可能會覆蓋 Windows 啟動管理器。使用 Windows XP 磁碟,啟動到故障恢復控制台(在第一個螢幕上按 R),然後登錄到您的 Windows 安裝。

登錄後,使用fixmbrandfixboot命令恢復 Windows 的啟動過程。驗證您是否可以啟動到 Windows,然後正常恢復 GRUB。

我以前見過這個。執行“setup (hd0,0)”後,您寫入了部分 Windows 分區。從根本上說,您需要執行三個步驟來解決此問題。這些步驟很長,可能需要根據您的經驗/技能水平進行進一步研究,但它們是正確解決此問題的唯一方法。稍有耐心,您就會使事情再次正常進行;我承諾。

  • 首先,啟動 Windows CD 並在第一個提示符下按“R”並進入故障恢復控制台。在命令提示符下,執行 chkdsk /R
  • chkdsk 完成後,重新啟動機器並再次啟動 Windows CD。這一次,在第一個提示符下,按“Enter”安裝 Windows。它應該會看到您以前的安裝並詢問您是否要修復它。(如果你沒有看到這個 STOP!這意味著你的 windows 分區完全被破壞了,你應該在做任何其他事情之前備份你可以從中得到的東西!
  • 修復過程完成並且 Windows 正常啟動後,GRUB 將被覆蓋。您需要啟動 SuperGRUB 磁碟或您最喜歡的發行版的 Live CD 並將 GRUB 安裝到 MBR。

引用自:https://serverfault.com/questions/17375