x86 ハードウェア上の Mac OS X 2008–2024 技術文献アーカイブ
InfiniteMac OSx86 › ハードウェア構成・Apple 純正機&開発 › HOW TO: VistaおよびXPでMac ProをAHCIモードで起動し、全6基のSATAポ…
338,350 reads · 2009-06-17 – 2011-01-23
導入ガイド ハードウェア & 開発 AHCI / SATA Retail DVD / USB

HOW TO: VistaおよびXPでMac ProをAHCIモードで起動し、全6基のSATAポートを使用する方法

もともとこの記事はInsanelyMacフォーラムに投稿したものですが、誰もがより温かく迎え入れてくれ、全体的に親切なこのサイトにこそふさわしいと感じました。IMでの投稿に比べ、いくつかの追加情報を盛り込むために内容をアップデートしています…

筆頭著者
@ludacrisvp 公開日: 2009-06-17
収録コレクション
ハードウェア構成・Apple 純正機&開発
アーカイブ記録規模
累計閲覧 338,350 回 · 厳選フィールドノート 5 件(全 6 件の投稿より抽出) · 2009-06-17 – 2011-01-23
参加・検証メンバー (6)
@ludacrisvp@Nadav35@moskitos@Adrenaline1965@darkfader@armadacd55
対応ハードウェア参照
SATA III & NVMe SSDs ↗ Apple Mac & Input Gear ↗ USB 3.2 Boot Flash Drives ↗
日本語完訳・技術モノグラフ · ターミナルコマンド、Kext 名、ACPI ノード、ブート引数は原文のまま正確に保持しています英語原文を表示 (Original English) →

もともとこの記事はInsanelyMacフォーラムに投稿したものですが、誰もがより温かく迎え入れてくれ、全体的に親切なこのサイトにこそふさわしいと感じました。

IMでの投稿に比べ、いくつかの追加情報を盛り込むために内容をアップデートしています。

以下の手順を実行することで、Mac Pro(初代およびEarly 2008は確実)に搭載された全6基のSATAポートを使用できるようになります。
他のMacプラットフォームでもAHCIを有効化できるかもしれませんが、手元に検証機がないため未確認です。
なお、OnMacフォーラムではMacBook ProユーザーがWindowsでのドライブアクセスを高速化するためにAHCIを有効化したという報告がありました。

これにより、ハードドライブベイ用のSATAポートを1つ潰すことなく、Windows環境にBlu-rayやDVDのSATA光学ドライブを追加できるようになります。

また、Windows上でのデータ転送速度がレガシーモードの100MB/sから、SATAドライブ本来のネイティブ速度である1.5Gbpsまたは3.0Gbpsへと向上します。

この手法が実現可能であることを突き止め、さらにGRUBブートローダー用の改変版Stage1ファイルを作成してくれたpipomolo42氏に感謝します。

これは2007年半ば、OnMacフォーラムにてWindows上でRAID 5を有効化する試みの中で編み出されたものです。

しかし当時は、一般ユーザーはもちろんパワーユーザーであっても、深刻なトラブルに悩まされることなく導入するのは容易ではありませんでした。

現在、このサポートを有効にするには2つの方法があります。

新しい方の手法はjohnsock氏が作成したもので、OS X上でスクリプトを実行し、Vista、XP、またはWindows 7がインストールされているディスクのMBRを書き換えるというものです。

-----------------------------------------------------------------------------------------

以下は、彼のスクリプトの簡易ガイドです。
彼自身はこのスクリプトをまだベータ版と位置づけており、インストール対象OSの自動検出機能は備えているものの、正常に動作する保証はなく、万一うまく機能しなかった場合のリスクはすべて自己責任となります。

Vista 32/64・Windows 7 32/64の場合
- Regedit(レジストリエディタ)を実行します
- "HKLM\System\CurrentControlSet\Services\msahci" に移動します
- "Start" キーを編集し、現在の値から "0" に変更します
- これにより、次回起動時にVistaがAHCIをチェックし、AHCIモードであればAHCIドライバをインストールするようになります
- ここでインストールされるのはMicrosoft標準の汎用AHCIドライバであり、ハードウェアに対して性能がかなり劣るため、本来のパフォーマンスを引き出すには後日Intel製ドライバを導入する必要があります。

Windows XPの場合
レガシードライバの上からAHCIモードドライバを強制的にインストールする必要があります
--手順は以下の通り--
- デバイスマネージャを開きます
- IDE / ATA セクション配下の "Intel® 631xESB/6321ESB Ultra ATA Storage Controller - 2680" のプロパティを開きます
- 2680のドライバを、2681(ESB2 SATA AHCI Controller)と記載されたドライバで更新します
- この際、ハードウェアに対して互換性が確認されたドライバのみを表示するチェックボックスのチェックを外す必要があります
- インストールが完了すると再起動を求められます
- 次のステップを行わずにそのままXPへ再起動しようとすると、BSOD(ブルースクリーン)が発生して即座にリセットがかかります

Mac OS X または Linux Live CD を起動します
OS Xの場合

「ターミナル」を開き、'sudo' モードでjohnsock氏のスクリプトを実行します。

ludacrisvps-mac-pro:~ ludacrisvp$ sudo -s
Password:
bash-3.2# /Users/ludacrisvp/Downloads/ahci.sh
AHCI Master Boot Record Patch 1.0
Type /Users/ludacrisvp/Downloads/ahci.sh -h for command line options.

Scanning drives...
Windows partition found on /dev/disk4
Do you want to use this drive? (Y/N)y
The MBR on /dev/disk4 appears to already be modified.

bash-3.2# /Users/ludacrisvp/Downloads/ahci.sh
AHCI Master Boot Record Patch 1.0
Type /Users/ludacrisvp/Downloads/ahci.sh -h for command line options.

Scanning drives...
Windows partition found on /dev/disk4
Do you want to use this drive? (Y/N)n
Enter drive to use: /dev/disk1
Backing up MBR from /dev/disk1 to ./backup.mbr
MBR backup complete.

Detected Windows Vista Master Boot Record.

Are you ABSOLUTELY sure you want to write the modified MBR to /dev/disk1? (Y/N)y

Modified MBR written to /dev/disk1

自動検出に失敗する場合は、以下の手順に従って手動でドライブを選択できます。
「ディスクユーティリティ」を開きます。
AHCIデバイスドライバをインストールしたOSが入っているドライブを探します。
ドライブの容量が表示されている部分を右クリック(またはCommand+クリック)し、「情報」を選択します。
ここで確認できる識別子が、スクリプト実行時に指定すべきドライブ名になります。
ディスク番号の並び順は起動するたびにランダムに変わることがあります(実際に変わります)。
下の例は私のWindows 7ドライブですが、赤枠で囲まれている通り、今回はDisk4になっています。

ここまで完了したら、AHCIモードへ変換した各OS上で Intel Matrix Storage ドライバのフルインストールを実行してください。

-------------------------------------------------------------------------------------------------------------
続いて2つ目のアプローチを紹介します。こちらは安定して動作することが確認されています。

システムをセットアップする方法はいくつかありますが、
ここではすでにインストール済みのVistaおよびXPを対象に手順を説明します。
なお、GRUB経由でインストールディスクを読み込み、Vistaの場合はUSB経由で、XPやVistaの場合はスリップストリーム(統合)ディスクを使ってAHCIコントローラのドライバを読み込ませることで、OSを新規にクリーンインストールすることも可能です。

1. Live CDを読み込む
- パーティションエディタ(GPartedなど)を実行します
- ドライブの先頭に小さなFAT32パーティションを作成します
- 私は100MBのパーティションを作成し、FAT32でフォーマットしました
- これによりXPパーティションがリサイズされ、ドライブ後方へ100MB分移動しました(所要時間は約45分でした)

2a. XPへ再起動する(Vistaを使用している場合はこのステップを飛ばし、ステップ2bへ進んでください)
- レガシードライバの上からAHCIモードドライバを強制インストールします
- デバイスマネージャを開きます
- IDE / ATA セクション配下の "Intel® 631xESB/6321ESB Ultra ATA Storage Controller - 2680" のプロパティを開きます
- 2680のドライバを、2681(ESB2 SATA AHCI Controller)と記載されたドライバで更新します
- ハードウェアに対して互換性が確認されたドライバのみを表示するチェックボックスのチェックを外す必要があります
- インストールが完了すると再起動を求められます
- この直後にそのままXPへ再起動しようとすると、BSODが発生して即座に再起動します。これはXP側がAHCIドライバを読み込もうとするものの、ハードウェア側がまだレガシーモードのままであるために読み込みに失敗するのが原因です。

2b. Vistaのみ
- Regeditを実行します
- "HKLM\System\CurrentControlSet\Services\msahci" に移動します
- "Start" キーを編集し、現在の値から "0" に変更します
- これにより、次回起動時にVistaがAHCIをチェックし、AHCIモードであればAHCIドライバをインストールするようになります

3. 再びLive CDを読み込む
- 配布されている stage1、stage2、menu.lst を、作成した100MBパーティション上の以下の場所へコピーします
/boot/grub/
- いよいよGRUBブートローダーをインストールします

4. ターミナルを開き、以下のコマンドを入力します

sudo grub --device-map=/dev/null

- これにより、GRUB内蔵のデバイスマップを無視し、新しいマッピングを手動で定義するようGRUBに指示します。

device (hd0) /dev/sda

- 1台目のハードドライブをGRUB上のデバイス "hd0" としてマッピングします(GRUBは0から順番にカウントする点に注意してください)
- コマンドが受理されると、GRUBが同じコマンドをエコー表示します。

find /boot/grub/stage1

- stage1ファイルの場所がエコー表示されます — 例: (hd0,2)
- 一般的な表記に直すと「ハードディスク1、パーティション3」という意味になります
- 次のステップでこの (hdX,Y) の値を使用します

root (hd0,2)

- stage1、stage2、menu.lst の各ファイルをどこから取得するかをGRUBに指示します

setup (hd0)

- システム内の1台目のハードドライブのMBRにGRUBブートローダーをインストールします
- インストールが成功したか、あるいはエラーが発生したかがエコー表示されます

quit

- GRUBを終了します

exit

- ターミナルを閉じます

5. 再起動し、Live CDを取り出します

6. rEFItメニューから、HD上のLinuxを起動する項目(ペンギンアイコン)を選択します

7. GRUBが読み込まれ、以下のブートメニューが表示されます:
- Windows XP in AHCI Mode
および
- Windows Vista in AHCI Mode

8. 本来のパフォーマンスを発揮させるため、AHCIモードで起動している各OS上で、下記リンクから入手したIntelドライバを完全にインストールします。

9. あとは通常通り使うだけです。NCQが有効化され、本来の性能を発揮する全6基のSATAポートを存分に活用してください。

------------------------------------------------------------------
なお、お使いのマシン環境におけるOSの配置場所に合わせて、"menu.lst" ファイルを編集する必要があるかもしれません。

私のシステムでは、XPのインストール先にIDEドライブを使用しており、GRUBもそこにインストールしています。
搭載しているハードドライブは計4台(IDE 1台、SATA 3台)です。
そしてそれぞれの物理ドライブに1つずつOSをインストールしています。
お使いのシステムでは、/dev/sda はMac OS Xのドライブになっている可能性が高いため、そのまま /dev/sda を使うことにはならないでしょう。
おそらくケース内の2番目のSATAベイにあたる /dev/sdb を指定することになるはずです。

以下は必要なファイルのダウンロードリンクです。

OS X上からrEFItをダウンロード&インストール (refit.sourc eforge.net/#download)

Windows XP/Vista x86/x64 用 Intel Matrix Storage Manager ドライバ (downloadmirror.in tel.com/16750/eng/IATA85ENU.exe) - Intel公式サイト直リンク

Ubuntu Live 8.04.1 AMD64/EM64T Desktop Version (ubu ntu.com/getubuntu/download) - 最寄りのミラーサイトからダウンロードしてください。必ず64ビットシステム用のDesktop版を選択してください。これはCDベースのイメージなのでCD-R 1枚に収まります。

添付ファイル "boot.zip" には、Mac Pro上でGRUBを正常に機能させるために必要な改変版Stage1、Stage2、およびMenu.lstが含まれています。

添付ファイル "ahci.zip" には、MBRを書き換えるためのjohnsock氏作のスクリプトが含まれています。

コミュニティ検証報告・技術フィールドノート

全 6 件のオリジナル投稿から技術的価値の高い 5 件の検証報告を収録

検証ノート #1 @Nadav35 2009-11-01

無事に動作しました!さて次のステップは?

記載された手順通りに進めたところ、Windows 7が完全にAHCIで機能するようになりました。ということは、これで隠しSATAポート2基にSATA光学ドライブを接続すれば、Boot CampのWindowsで認識され、そこからブートできるようになるのでしょうか?今のところはSATA IIハードドライブを4台構成にしているだけなのですが、Windows上でSATA光学ドライブをブートドライブとして機能させるために、他に何か必要な作業があれば教えていただきたいです。

本当にありがとうございます!AppleがBoot Campドライバ標準でこの機能を有効にしてくれなかったのは残念ですね。

検証ノート #2 @moskitos 2009-11-08

1つ目の方法(johnsock氏のスクリプト)で問題が発生しています。
私が実行した手順は以下の通りです:
1. Windows 7 x64 をクリーンインストール(BootCampドライバは未導入)
2. レジストリの Start 値を変更
3. Windowsへ再起動
4. Mac OS X へ再起動
5. disk0(第1パーティションがMac OS X、第4パーティションがWindows 7)に対してjohnsock氏のスクリプトを実行
6. Windowsへ再起動(Windowsがドライバを検出するものの、ドライブはまだATAモードで動作している状態)
7. Windowsを再起動し、Intel Matrix Storage Manager 8.9 をインストール
8. Windowsを再起動したところ、ここで問題が発生しました!

システムの読み込み中に毎回必ず勝手に再起動してしまうのです!

どなたか助けていただけませんか?

Mac OS X と Windows が同一ディスク上にある場合でも、パッチを当てる対象は "disk0" でよいのでしょうか、それとも disk0s3 などにすべきなのでしょうか?

使用環境は MacBook Pro 3.1 (2007)、C2D 2.4GHz、4GB RAM DDR2 667、320GB Seagate 7200rpm、ICH8M SATAコントローラ、Mac OS X 10.6.1 です。

windows7mbr.zip は実際にパッチが適用されたMBR、
achimbr.zip は私がパッチを当てたMBR、
backup.mbr.zip はパッチ適用時に作成されたバックアップです。

検証ノート #3 @Adrenaline1965 2010-02-23

文句なしに素晴らしい投稿です!

Boot Camp環境下でAHCIおよびODD(光学ドライブ用)SATAポートを有効にする方法について、スマートかつ誰にでもわかる詳細なステップバイステップ形式で解説された記事を求めて様々なフォーラムや投稿を探し回っていましたが、その条件を完璧に満たしてくれたのはこの記事が初めて(そして唯一?)です!Macコミュニティに向けて解決策を共有する際のお手本のような投稿だと思います!

詳しい手順解説と添付ファイルのおかげで、Mac ProのODD SATAポートに接続した新しい2台のSATA DVD / Blu-rayドライブを、わずか30分足らずで認識・稼働させることができました!これでついにMac上でBlu-rayディスクを視聴できます。

それでは!

Bruno

検証ノート #4 @darkfader 2010-04-30

現在のgrub2には setpci コマンドが備わっているため、GRUB自体にパッチを当てる必要はなくなっています。
私のブログにも簡単なガイドをまとめました (darkfader.blog spot.com/2010/04/windows-on-intel-mac-and-ahci-mode.html)。

検証ノート #5 @armadacd55 2011-01-23

問題が発生しています

こんにちは。まずは素晴らしいチュートリアルをありがとうございます。ただ、いくつか問題に直面しています…
デバイスマネージャを確認しても、以下の項目が存在しないのです:Intel® 631xESB/6321ESB Ultra ATA Storage Controller - 2680

表示されているのはこちらだけです:Intel® 631xESB/6321ESB Serial ATA Storage Controller - 2680

すべてのドライバを表示するためにチェックボックスのチェックを外し、この上からドライバを強制インストールしようとしても、一覧に 2681 や ESB2 と書かれたドライバが見当たりません。現在 Boot Camp 3.0 を実行しているのですが、それが原因でしょうか?試したドライバはどれも機能せず、そのたびにWindowsの再インストールが必要になってしまいます…

何かアドバイスをいただけると助かります。

Tom

出典および貢献者来歴(クレジット登録 6 名 · 元スレッド #3159)
ユーザー名貢献ロール投稿数活動期間
@ludacrisvp筆頭著者12009-06-17
@Nadav35検証メンバー12009-11-01
@moskitos検証メンバー12009-11-08
@Adrenaline1965検証メンバー12010-02-23
@darkfader検証メンバー12010-04-30
@armadacd55検証メンバー12011-01-23

言語を選択 · Choose your language