不愛重灌!
五年來我都會在我的個人電腦建立RAID 1來避免硬碟故障帶來的災難。今年初我買新電腦,我選了技嘉MA785GM-US2H當主機版。它的南橋是AMD SB 710,就已經有內建RAID 的功能,幫我省下一片RAID控制卡的錢。
評估我的需求,我的 RAID 1 組合是兩顆 WD 6400AAKS 640GB成為第一組,當系統碟;兩顆 Hitachi 7K1000.B 1TB成為第二組,當資料碟。(我並不需要 RAID 0 or RAID 0+1) 本來最好的情況,就是買電腦時所有零件都買齊,然後把RAID在BIOS都設定好,在空硬碟的情況下開始灌Windows(一般來說,如果你要建RAID 1,這會是最標準的做法。況且AMD SB710 只提供基本的 RAID 1功能,我並沒有在它身上找到 duplication 的功能(也就是拿一個有資料的HDD 跟一個空的HDD新建一個 RAID 1)。所以最好就是灌Windows前就把RAID設好!)可是因為一些說來話長的原因,我的硬碟是陸陸續續到手;而且我因為無法再忍受舊電腦的慢,於是就先拿了一顆WD 6400AAKS灌了Windows 就先開始用了!
用了一個多月,終於,我的四顆硬碟全數到齊! 我也該把電腦建立成當初計畫的樣子了。但是! 問題來了,將 BIOS 設定裡的 Integrated Peripherals -> OnChip SATA Type 從 Native IDE 換成 RAID 之後,我的Windows 每次開機到4顆珠珠合在一起的 logo 畫面時(我的Windows 是 Windows 7 64-bit),就會自動重開機! 無論怎麼改都沒有用(安全模式...不管有沒有含命令提示字元都沒用啦!) 點選INF檔案右鍵安裝也不行,當時到網路上看人家的方法,什麼預安裝 driver 、改 registry 什麼的,試了都沒效! 惟有一件事是有效的...如果在放入Windows 安裝光碟前就設為 RAID 模式,Windows 裝完就順順利利什麼事也沒有(就是要重灌啦!)
(在AMD SB710上,如果你在BIOS裡設為RAID mode,還不算是真的把RAID建立起來。你還要在開機的時候按 Ctrl + F 進入它的 Option ROM Utility界面,才能把你的RAID 0, RAID 1, RAID 10 or JBOD建立起來。但是我有試過,如果你在 native IDE mode 先灌好了一個Windows,只要一把它換成 RAID mode,雖然這時 Option ROM Utility 裡都還是 single disk沒有建立任何RAID組合,Windows也是會跑到logo畫面就重開機了。)
這裡先說一下問題的徵結:當在BIOS設為 Native IDE or RAID的時候,在Windows看起來,你就好像用兩塊「完全不一樣」的硬碟控制晶片。我當初用 Native IDE 灌的Windows , 照internet上網友說的,會拿 Windows 內建的 IDE driver來用。但是當切到 RAID 模式時,Windows 就必須用 RAID driver去 access 硬碟(或說與硬碟控制晶片溝通)。但是呢,原本我的Windows 是沒有把RAID driver載入的(因為沒有這個「硬體」啊);但是我切到 RAID mode之後,又無法進入 Windows。於是就卡住了。
(以上這一段, SomeJoe7777 講的比我更好,請見下文的連結)
(我還另外納悶一件事,理論上 CPU control 在開機時的交接順序是 BIOS -> 開機硬碟的MBR -> boot sector -> ntldr 或 bootmgr 等程式 -> 其餘 OS 程式,為什麼到 Windows logo 畫面才出問題,那之前那一個部分...是用 INT 呼叫或是一個大家都公定的方式去溝通? 所以不會有 IDE/SATA/RAID 的問題?)
最後找到了救星:SomeJoe7777 的文章:
http://www.tomshardware.com/forum/196922-32-switching-storage-controllers-reinstalling-windows 簡單說他的方法:
1. 如果你可以讓新舊兩個硬碟晶片同時存在(例如,你原本用on board chip, 後來買了一個 RAID 控制卡),就先把卡接上,灌driver,讓「要被移植的Windows」系統內有新controller的driver,然後再把硬碟接到新controller上,就大功告成。(我省略了中間許多開機/關機的步驟,當然那些開關機都是必要的!!!)
2. 如果你沒辦法讓新舊兩個硬碟晶片同時存在(就像我們的例子),SomeJoe7777說,你就找一塊 SATA卡,然後把1. 的步驟做兩輪(舊BIOS設定 to SATA卡;SATA卡 to 新BIOS設定),也大功告成。
不過我手上沒有多的SATA卡,也不知道這方法能不能成功,更不想買一片之後不會用到的SATA卡....結果...忽然想到一個方法!
我手上不是有一顆沒在用的 IDE 硬碟嗎? 雖然它才只有 40GB, 但因為我的系統才用沒多久,裝得下! (所以啊...平常屯硬碟真的是有好處的!)
開始動工吧:
1. 把 WD 640GB 的資料 clone 到 Seagate 40GB HDD
(這裡我用的是 Symantec Ghost 11.0。注意Windows 7 會有一個100MB的 boot volume 與 包含系統的 system volume (大小是你決定的)。Ghost 的好處是 在一開始你有權決定這些 partitions 被 clone 過去後的大小,而且也支援不同大小的 disk clone。
2. 用 Seagate 40GB HDD開機看看...要確定它沒有問題。
3. 到 BIOS裡把 OnChip SATA Type 從 Native IDE 調成 RAID mode. 把RAID組合設定好
4. 還是用 Seagate 40GB HDD開機,若有需要灌driver就灌driver,要確定從裝置管理員看到 RAID裝置。
5. 如果RAID硬碟都看得到(把AMD的RAIDXper裝起來! 幫助你確定這件事),下一步就是再用 Ghost 做 Seagate 40GB to RAID_1 640GB 的 disk clone. (很奇妙的是, Ghost 毫無困難的可以認到 RAID_1 640GB 硬碟。我用的是 Windows 98 開機片...)
6. 用 RAID_1 640GB 開機看看...如果順利進到Windows,就大功告成了~