一位朋友的運行 Windows XP 的機器最近拒絕啟動,該機器在 RAID 5 上運行 3 個 SATA 磁碟(之前不是我從 RAID 1 升級的)。我已確定存在磁碟故障。在過去幾年中,磁碟已更換過多次。我希望在嘗試修復 RAID5 分割區之前對其進行備份。使用的RAID晶片組是ICH10R/DO。
因此,我插入了一個額外的 IDE 驅動器和一個 Ubuntu USB 隨身碟,然後查看了 RAID。分割區一團糟,但我確實發現了至少一個降級但正常工作的 RAID 陣列,有兩個分割區,一個 79GB,另一個 86GB。
然後我:
1)使用fdisk對我的IDE磁碟進行分割區,使其具有80GB的可開機分割區,並標記為NTFS。
2)將數組的內容加入到分區中
3)斷開其他所有連接
4) 插入Windows XP CD 並執行fixboot、fixmbr 和bootcfg。他們都運作正常並聲稱它們有效。 (例如 bootcfg 偵測到 Windows 分割區,fixboot 回傳表示寫入正確。)
但是,我仍然收到“磁碟故障,未找到啟動磁碟”之類的錯誤。
我嘗試運行 GRUB 救援盤,它也運行正常,但無法啟動到 Windows。它只是在 chainloader +1、啟動後停止並出現閃爍的遊標。
一個線索可能是分區看起來很奇怪。其中一個磁碟在 500GB 磁碟機上有一個 79GB 的 RAID 分割區(帶有偏移量),第二個磁碟在整個磁碟機上有一個 320GB 的 RAID 分割區。此外,BIOS 列出的 RAID 大小為 149GB。我不明白這是如何運作的。當分區如此不同時,他們如何組裝陣列?
我也嘗試過運行 Windows XP 自動修復工具,但也不起作用。
我想這很簡單。也許 Windows 正在嘗試啟動到 RAID,但在找不到它時就崩潰了?也許 79GB 分割區偏移意味著它正在對磁碟進行這麼多查找?
請幫忙!
澄清一下:我想使用陣列的副本使單一 IDE 磁碟可啟動,以便我可以證明/反駁這只是 Windows 已損壞,並在 RAID 陣列上嘗試相同的操作之前使用 Windows 工具來修正它。這樣我就有了一個可用的備份,並且可以顯示我用來修復它的過程。
答案1
事實證明,在這些類型的 RAID 上,設備被視為真正的磁碟,而不僅僅是像軟體 RAID 那樣的一組分割區。
fdisk -l 顯示RAID陣列包含分割區表,因此dd應該是從陣列到磁碟,而不是從陣列到分割區。
例如
錯誤的:
dd if=/dev/mapper/MYRAID of=/dev/sda1
正確的:
dd if=/dev/mapper/MYRAID of=/dev/sda
令我驚訝的是 Windows 可以找到自己並認為這沒問題。
無論如何,現在我的 Windows 在從 RAID 複製的單一磁碟上啟動。 :-)