amodova blog

AHCIとeSATA

Mar 10, 2009 - Windows XP

P6Tには背面にeSATAポートがついています。 eSATAとは「External Serial ATA」の略で、SATAの外付けデバイス用の規格みたいなものです。 そして、これに同じくeSATAポートを持っている外付けHDD等を接続すると USB接続のようにホットプラグ(OS起動中でもHDDが抜き差しできる仕様)で使えて、 しかもUSB2.0より速度が早い!(約2.5倍)というありがたいものです

eSATAを使おう

僕はANTECのMX-1というeSATAポートのついたHDDケースに Western digitalのWD10EACS-00D6B0という1TB容量HDDを入れて、 これを外付けHDDとして使っています。なのでこれをeSATA接続で使おう!となりました。

まず、単純にP6Tの背面eSATAとMX-1のeSATAをeSATAケーブルでつないでみると・・・
動きません(笑)。
P6TのeSATAはICH10Rとは別に、JMicronのコントローラで制御しているようでして、 そもそも僕はJMicronのドライバすら入れてなかったので当然といえば当然なのでしょう。

では、キチっと背面eSATAがホットプラグで動くよう設定してみようと 色々調べていると、そもそもeSATAをホットプラグで使うには HDDをAHCIというインターフェイスで動作させる必要があるようです。

AHCI(エーエイチシーアイ Advanced Host Controller Interface)とは SATA2.5において本来の機能を引き出せるように用意されているインターフェイスみたいです。

AそしてHCIモードでHDDを動作させると・・・
  • 速度が若干速くなる
  • NCQが使える(読み書きの最適化)
  • ホットプラグが使える

といった利点があるようです。
Windows XPでは普通にOSをインストールすると、このAHCIで使うためのドライバがインストールされないので、 何も考えずOSをインストールするとIDE互換モードで動くことになります。 ですがSATA2.5では旧来のIDEインターフェイスでも使えるようにIDE互換モードというものを持っているので、 別にAHCIで動作させてなくて、IDE互換モード動作でもまぁ困らないと言えば困りません。 AHCIで動作させればSSDぐらい速くなる!って事もないでしょうしね。 でも外付けHDDをAHCIのeSATAで使えれば、USB2.0よりは明らかに速度が向上し、 しかもUSB2.0のようにホットプラグでも動作する!これは僕にとってはかなりの利点です。 ということでホットプラグ目的でAHCIモード化をしてみます。

AHCI化する条件

さて、ではどうやったらAHCIでHDDを動かすかというと、これには少し条件があります。

  • 1:M/BのHDDコントローラ(ICH等)がAHCIに対応している
    →ICH6以降の「R」がついた型番のICH

  • 2:HDD自体がAHCIに対応している
    →SATA2.5規格のHDDであれば殆ど大丈夫

  • 3:OSにAHCIドライバがインストールされている

という条件です。
1番目の条件は僕のP6TはICH10RですからM/Bの方はOKですね。
2番目の条件もWD10EACS-00D6B0はSATA2.5ですから大丈夫ですね。
で最後の条件ですが、これはちょっと超えなければいけない壁があるようです。
Vistaなら大丈夫らしいのですが、先に書いたようにXPでは単純にOSをインストールしただけではAHCIドライバが入っていません。

ではXPでAHCIドライバを導入しようとなると、 OSインストール時にAHCIドライバをFDから読み込む必要があるそうです。 一応OS再インストールなしでAHCIドライバを導入する方法はあるらしいですが 自分は結構チキンなので、やはりここはOS再インストールでいってみます。 しかし今の環境はレガシーフリーでFDDがありません。どうにかならないかなと調べてみると XPのOSインストールディスクにAHCIドライバ等を組み込んでしまう、という方法があるようです。 おおこれは素晴らしい、ということで今回は FDDを使わない、AHCIドライバ統合OSインストールディスクでOS再インストール、 という方法でいきたいと思います!

AHCIドライバを組み込んだOSインストールディスクの作成

一番楽な方法と言えばOS再インストールなしでAHCIドライバに書き換える方法なのでしょうが、 今後またOSをインストールする時のことも考えると、OSインストールディスクにAHCIドライバを組み込んでおくと楽そうなので、 FDDを使わない、AHCIドライバ統合OSインストールディスクでOS再インストールをする、という方法を試してみます。

では、OSインストールディスクへのAHCIドライバの組み込み方は、というと 大変参考になるWEBサイト様が色々あってスムーズにできました。 復習もかねて僕なりにまとめもしてみました、が、ちょっと長くなるので、 こちらのページ (WinXP SP統合インストールディスクの作成)に別途まとめました。

はい、ということで料理番組みたいですが(笑、デバイスマネージャで確認すると、 ちゃんとAHCIになり、無事にAHCIモードで動作することができました。 重要なのは、OSを再インストールする前に必ずBIOSの方でAHCIに設定してやることですね。

JMicron、お前もか

はい・・・・・AHCI化成功のようです。いや、ちょっと待て。
どうやら問題があります。肝心の背面eSATAポートがホットプラグで動作しないのです。 最初にも書きましたが、P6TのeSATAはICH10Rがコントロールしているのではなく JMicronコントローラの方で動作しているのを忘れていました。 AHCI統合OSインストールディスクでAHCIモードにしたのは、あくまでも ICH10RとそれにつながったHDDだけなんですね。

ということで、JMicronの方も設定してあげましょう。
もしかしたら、JMicronはOSの再インストールまでする必要はなかったのかもしれません。 ということは、P6TのeSATAをホットプラグで使うだけなら、OS再インストールは無駄足だったのかも(笑)。

まずBISO起動中にBIOS設定画面に入り、Avanced→Onboard Devices Configuretionと進みます。

次にJ-Micron eSATA/PATA ControllerをEnabledにします。

そしてController ModeをAHCIにします。設定したらBIOS設定をセーブしてOSを起動。

OSが起動したらJMicron用のホットプラグ対応ドライバを導入します。
ドライバはJMicronのFTPサイトから入手できます。
JMicronのFTPサイト (XP_Vista_Win7 → JMB36X_WinDrv_R1.17.47WHQL_eSATA.zip)
ダウンロードしたファイルの中にあるsetup.exeをダブルクリックしてインストールして再起動。

デバイスマネージャでIDE ATA/ATAPIコントローラに「セカンダリIDEチャンネル」 「プライマリIDEチャンネル」「標準デュアルコアチャンネル」、 SCSIとRAIDコントローラに「JMicron JMB36X Controller」 となっていればJMicronはAHCI動作成功です。(JMicronはSCSIエミュレーションで動くようです。)

はい、これで晴れて背面eSATAにつながった外付けHDDがホットプラグで動作するようになりました。 自動再生もこのようにちゃんと動いてくれます。

ハードウェアの安全な取り外しも動作して、USB接続とまったく同じような動作ですね。 一応ICH10RでのAHCI化もかねてOSの再インストールから行ったのですが、JMicronでコントロールされている 背面eSATAをホットプラグで使うだけなら、BIOS設定の変更とドライバの導入だけで、OS再インストールの必要は ないような感じがします(笑)。 でもOS等が入っているメインのHDDもAHCI化ができたのでよしとしておきます。

関連記事

最新記事

カテゴリ