普通にクリーンインストールをするときにAHCIドライブを認識させる、というだけのことならF6インストールをすればいいわけで、WEBで簡単に情報を見つけることができる。今回のポイントは、既にインストールされたXPにクリーンインストールも修復インストールも行わずにAHCIドライバを導入する、という点にある。
しかし、これもまた同様にWEBにはいくつかの情報が転がっていて2chなんかでも議論されているけれど、今回少し違うのはIDEドライバ→AHCIドライバへの変更ではなく、RAIDドライバ→AHCIドライバへの変更を行うという点で、この点ではWEBでは情報は見つからなかったので、今回やった方法をちょっとリークする。ちなみにターゲットとなるチップセットはICH7Rですが、分かる人なら適宜読み替えてICH8やICH9でも応用できるはず。
本題からそれるけれど、そもそも「なぜRAIDドライバをAHCIドライバに変えたいのか?」というと、「IntelのSSD X25-M用のToolboxがSSDを認識しないのはRAID BIOSが噛んでいるからだろう」という推測のもと、「SSDがあればRAID-0の御利益はほとんどないし、AHCIに戻そう」と思ったのが始まりです。
さて、やり方のおおまかな流れとしては、下記のようにやります。ただし、極めてクレイジーなやり方なので、よほどの自信と覚悟がない人にはオススメできない方法です。もし、果敢に(無謀にも?)トライしてみようと思う方は、あくまでも自己責任でお願いします。
- 現在RAIDドライバで起動しているシステムに、AHCIドライバを仮インストールする(詳細は後述)。
- BIOS設定をAHCIに変更して(RAID BIOSを切って)、再起動する。
- 1でうまくインストールできていれば、AHCIでWindowsが起動できると思う。しかし、デバイスマネージャはエラー(サービスの表示名かエントリが既に使われている、と何とか・・・)を出す。が、動いておればまずはOK。
- デバイスマネージャでRAIDドライバがもう読み込まれていないことを確認する。その後、レジストリエディタでRAIDドライバ関連のエントリを全部消す。
- 1でインストールしたAHCIドライバは仮ドライバなので、本AHCIドライバを入れ直す(実際にはレジストリエントリの書き換え)
- 再起動して、デバイスマネージャがエラーを報告しなければOK。
- (必要であれば)最新のIntel Rapid Technology Driverをインストールします。
で、具体的な方法は次のようになります。
- 現在RAIDドライバで起動しているシステムに、AHCIドライバを仮インストールする。
IBMが出している資料が非常に参考になりました。要点は、PnPマネージャによるインストールではなく、ドライバサービスエントリとPnPエントリを手動で追加することでドライバをインストールする、という方法です。
(1)
Intelのサイトからマトリックスマネージャをダウンロードしてsetupを実行します。インストールの途中でc:\Windows\temp\iifというフォルダが作成されていますので、この中にあるAHCIドライバ本体とinf/catファイルを別ディレクトリにコピーしておきます(x86とx64用があります)。コピーしたらインストーラは中止します。
(2)
コピーしたドライバファイルiaStor.sysをiaStor2.sysにリネームして、c:\windows\system32\drivers\フォルダに置きます(iaStor.sysはRAID用ドライバとして既に居座っているので、これを置き換えることはできない)。
(3)
次のレジストリエントリを追加する(.regファイルなどに保存して「結合」する)。
ここでの注意点は、ここにあるデバイスIDはICH7R用のものである(下のリストの'dev_27c1'となっている部分全部)から、お使いのPCにあわせて適宜変更する必要があるということです。サービスエントリが'iaStor'ではなく、'iaStor2'に変更していることもポイント。
~ここから~
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_27c1&cc_0106]
"Service"="iaStor2"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor2]
"Type"=dword:00000001
"Start"=dword:00000000
"Group"="SCSI miniport"
"ErrorControl"=dword:00000001
"DisplayName"="Intel AHCI Controller"
"ImagePath"="system32\\drivers\\iaStor2.sys"
"Tag"=dword:00000019
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor2\Parameters]
"queuePriorityEnable"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor2\Enum]
"0"="PCI\\VEN_8086&DEV_27C1&SUBSYS_03451014&REV_01\\3&61aaa01&0&FA"
"Count"=dword:00000001
"NextInstance"=dword:00000001
~ここまで~
- (特に説明なし)
- (特に説明なし)
- の「その後、レジストリエディタでRAIDドライバ関連のエントリを全部消す。」については、ICH7Rの場合はデバイスIDが'DEV_27c3'となっていたので、これに関連するレジストリエントリはすべて消しました。
- 1でインストールしたAHCIドライバは仮ドライバなので、本AHCIドライバを入れ直す。
これについては、まずドライバ本体を先ほどインストールしたiaStor2.sysからiaStor.sysにリネームします(この段階ではRAID用のiaStor.sysはもう使用されていないので削除できるはず)。
そして、上の.regファイルで追加したレジストリエントリの'iaStor2'となっている箇所を、'iaStor'にリネームします。具体的には、レジストリエントリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor2→iaStorとするのと、
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_27c1&cc_0106キーにある値"Service"を"iaStor"に、
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStorキーの"ImagePath"も"system32\\drivers\\iaStor.sys" と書き換える。
ポイントとしては以上ですが、(言うまでもありませんが)このような極めてクレイジーな操作が一発でうまくいくとも限らないので、私はTrue Imageでバックアップしてから行いました(ええ、一度はリカバリする羽目になりましたよ)。
....
で、なんとかAHCIに切り替えることはできたわけだけれど、当初の目的であった「SSD Toolboxを使えるように」という目標は叶わなかった。結局、ドライバを変えてもToolboxはSSDを認識してくれずドライブ一覧は空白のまま・・・。なんで?
0 件のコメント:
コメントを投稿