Руководство: Загрузка Mac Pro в режиме AHCI под Windows Vista и XP для задействования всех 6 портов SATA
Подробное руководство по активации нативного режима AHCI и всех шести портов SATA (включая два дополнительных порта ODD на материнской плате) на рабочих станциях Mac Pro под управлением Windows XP, Vista и Windows 7 с помощью патча загрузочной записи MBR (скрипт johnsock) или модифицированного загрузчика GRUB.
- Основной автор
-
@ludacrisvp
Опубликовано 2009-06-17
- Раздел архива
- Аппаратное обеспечение, системы и разработка
- Охват в архиве
- 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 ↗
Изначально я опубликовал эту инструкцию на форуме InsanelyMac, но решил разместить её здесь, где сообщество куда более дружелюбное и отзывчивое.
В эту версию руководства я также добавил ряд полезных уточнений и обновлений по сравнению с исходной темой на IM.
Приведённая ниже методика позволит вам задействовать все 6 портов SATA на рабочих станциях Mac Pro (гарантированно работает на моделях первого поколения и Early 2008).
Возможно, этот способ включает режим AHCI и на других компьютерах Mac, но мне не на чем это проверить.
Впрочем, на форуме OnMac упоминалось, что один из владельцев MacBook Pro успешно активировал этим способом режим AHCI для ускорения работы накопителя в Windows.
Благодаря этому вы сможете подключить приводы Blu-ray или DVD с интерфейсом SATA к дополнительным портам на плате и полноценно использовать их в Windows, не занимая основные отсеки для жёстких дисков.
Кроме того, переход с эмуляции IDE (Legacy Mode) со скоростью около 100 МБ/с на нативный режим SATA (1,5 Гбит/с или 3,0 Гбит/с) заметно повысит пропускную способность дисковой подсистемы в Windows и активирует поддержку очереди команд NCQ.
Отдельная благодарность пользователю pipomolo42, который первым выяснил, что это в принципе реализуемо, а также подготовил модифицированный файл Stage1 для загрузчика GRUB.
Впервые эта идея была реализована на форуме OnMac в середине 2007 года при попытке завести массив RAID 5 под Windows.
Однако тогдашняя процедура была настолько сложной и запутанной, что вызывала головную боль даже у опытных пользователей.
На сегодняшний день существует два проверенных способа включения режима AHCI.
Первый (более новый и простой) метод разработал пользователь johnsock: он написал скрипт для Mac OS X, который автоматически патчит главную загрузочную запись (MBR) физического диска с установленной Windows XP, Vista или Windows 7.
-----------------------------------------------------------------------------------------
Ниже приведена краткая инструкция по использованию его скрипта.
Обратите внимание: автор по-прежнему считает свой скрипт бета-версией. Хотя в нём предусмотрено автоопределение диска с Windows, 100-процентной гарантии успешной работы нет, и все операции вы выполняете на свой страх и риск.
Для Windows Vista (32/64 бит) и Windows 7 (32/64 бит):
- Запустите редактор реестра regedit.
- Перейдите в ветку "HKLM\System\CurrentControlSet\Services\msahci".
- Измените значение параметра "Start" на "0".
- Это укажет системе при следующей загрузке обнаружить контроллер в режиме AHCI и задействовать штатный драйвер AHCI.
- Обратите внимание: стандартный драйвер Microsoft AHCI работает далеко не оптимально на этом чипсете, поэтому после успешной загрузки обязательно установите фирменные драйверы Intel Matrix Storage для получения максимальной производительности.
Для Windows XP:
Вам необходимо принудительно установить драйвер контроллера AHCI поверх стандартного драйвера режима эмуляции (Legacy IDE).
-- Порядок действий: --
- Откройте «Диспетчер устройств» (Device Manager).
- В разделе «IDE ATA/ATAPI контроллеры» откройте свойства устройства "Intel® 631xESB/6321ESB Ultra ATA Storage Controller - 2680".
- Обновите драйвер контроллера 2680 вручную, выбрав из списка драйвер с идентификатором 2681 (ESB2 SATA AHCI Controller).
- Для этого потребуется снять галочку «Только совместимые устройства» (чтобы отобразился полный список драйверов).
- После установки драйвера система предложит перезагрузиться.
- ВНИМАНИЕ: Если вы перезагрузитесь обратно в Windows XP до выполнения следующего шага (патча MBR), вы получите синий экран смерти (BSOD) и циклическую перезагрузку!
Загрузитесь в Mac OS X (или с Linux Live CD).
В Mac OS X:
Запустите скрипт johnsock в «Терминале» с правами суперпользователя (sudo).
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
Если автоопределение не сработало, вы можете узнать идентификатор нужного диска вручную:
Откройте «Дисковую утилиту» (Disk Utility).
Найдите физический накопитель, на котором установлена Windows с подготовленным драйвером AHCI.
Щёлкните правой кнопкой мыши (или с зажатой клавишей Command) по строке самого физического диска (где указан его общий объём) и выберите «Свойства» (Information).
В открывшемся окне вы увидите системное имя диска (например, disk1 или disk4), которое нужно указать скрипту.
Учтите, что нумерация дисков в системе может меняться случайным образом при каждой перезагрузке.
На примере выше мой диск с Windows 7 определился как disk4.
После применения патча и загрузки в Windows обязательно установите полный пакет драйверов Intel Matrix Storage Manager во всех операционных системах, переведённых в режим AHCI.
-------------------------------------------------------------------------------------------------------------
Второй способ (классический, через загрузчик GRUB) — проверенный временем и безотказный вариант.
Существует несколько сценариев настройки системы этим методом.
Ниже я разберу вариант для уже установленных систем Windows Vista и XP.
При желании можно выполнить и чистую установку ОС, загрузив установочный диск через GRUB и подсунув драйверы контроллера AHCI с USB-флешки (в Vista) или интегрировав их в дистрибутив (через nLite/vLite в XP или Vista).
1. Загрузитесь с Ubuntu Live CD
- Запустите редактор разделов (GParted / Partition Editor).
- Создайте небольшой раздел FAT32 в самом начале диска.
- Я создал раздел объёмом 100 МБ и отформатировал его в FAT32.
- При этом раздел с Windows XP был уменьшен и сдвинут на 100 МБ вправо (процедура заняла около 45 минут).
2a. Перезагрузитесь в Windows XP (если у вас Vista — пропустите этот шаг и перейдите к пункту 2b)
- Принудительно установите драйвер режима AHCI поверх стандартного IDE-драйвера.
- Откройте «Диспетчер устройств» (Device Manager).
- В разделе «IDE ATA/ATAPI контроллеры» откройте свойства "Intel® 631xESB/6321ESB Ultra ATA Storage Controller - 2680".
- Обновите драйвер 2680, вручную выбрав драйвер 2681 (ESB2 SATA AHCI Controller).
- Не забудьте снять галочку показа только совместимых устройств.
- После установки потребуется перезагрузка.
- Попытка загрузиться напрямую в XP после этого приведёт к синему экрану BSOD и мгновенной перезагрузке, поскольку XP пытается инициализировать AHCI-драйвер, тогда как контроллер на плате без модифицированного загрузчика всё ещё находится в режиме эмуляции IDE (Legacy).
2b. Только для Windows Vista
- Запустите редактор реестра regedit.
- Перейдите в ветку "HKLM\System\CurrentControlSet\Services\msahci".
- Измените значение параметра "Start" на "0".
- При следующем запуске в режиме AHCI система автоматически подхватит штатный AHCI-драйвер.
3. Снова загрузитесь с Linux Live CD
- Скопируйте приложенные файлы stage1 (модифицированный), stage2 и menu.lst на созданный 100-мегабайтный раздел в каталог:/boot/grub/
- Теперь установим загрузчик GRUB.
4. Откройте Терминал и поочерёдно выполните следующие команды:
sudo grub --device-map=/dev/null
- Эта команда запускает GRUB с игнорированием стандартной карты устройств, чтобы мы могли задать её вручную.
device (hd0) /dev/sda
- Назначает ваш первый жёсткий диск устройством "hd0" в GRUB (помните, что нумерация в GRUB начинается с нуля).
- GRUB продублирует команду в подтверждение того, что она принята.
find /boot/grub/stage1
- Команда найдёт и выведет расположение файла stage1 — например, (hd0,2).
- На обычном языке это означает «первый жёсткий диск, третий раздел».
- Полученное значение (hdX,Y) используйте в следующей команде.
root (hd0,2)
- Указывает GRUB раздел, с которого нужно брать файлы stage1, stage2 и menu.lst.
setup (hd0)
- Записывает загрузчик GRUB в MBR первого жёсткого диска.
- Утилита выведет сообщение об успешной установке (или об ошибке).
quit
- Выход из оболочки GRUB.
exit
- Закрытие окна терминала.
5. Перезагрузите компьютер и извлеките Live CD.
6. В меню загрузчика rEFIt выберите загрузку Linux с жёсткого диска (иконка с пингвином).
7. Загрузится модифицированный GRUB (который переключит SATA-контроллер чипсета в режим AHCI) и отобразит меню выбора:
- Windows XP in AHCI Mode
и
- Windows Vista in AHCI Mode
8. Загрузившись в Windows в режиме AHCI, установите полный пакет драйверов Intel Matrix Storage Manager по ссылке ниже для обеспечения максимальной скорости работы.
9. Готово! Теперь в вашем распоряжении все 6 портов SATA на полной скорости и с работающей технологией NCQ.
------------------------------------------------------------------
Примечание: возможно, вам потребуется отредактировать файл "menu.lst" в соответствии с реальным расположением разделов с операционными системами на ваших дисках.
В моём случае Windows XP установлена на IDE-диске, и туда же установлен загрузчик GRUB.
Всего у меня в системе 4 жёстких диска: 1 IDE и 3 SATA.
Каждая ОС установлена на отдельном физическом накопителе.
На вашей машине целевым диском для Windows, скорее всего, будет не /dev/sda (так как sda обычно занят диском с Mac OS X), а /dev/sdb (второй отсек SATA в корпусе Mac Pro).
Ссылки на необходимые файлы и утилиты:
Скачайте и установите загрузчик rEFIt из-под Mac OS X (refit.sourc eforge.net/#download)
Драйверы Intel Matrix Storage Manager для Windows XP/Vista x86/x64 (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-R болванку).
Прикреплённый архив "boot.zip" содержит модифицированный файл Stage1, а также Stage2 и Menu.lst, необходимые для корректной работы GRUB на Mac Pro.
Прикреплённый архив "ahci.zip" содержит скрипт от johnsock для патча MBR.
Полевые заметки и отчёты сообщества
Отобрано 5 технических ответов из 6 исходных сообщений темы
Всё заработало, что дальше?
Выполнил всё в точности по вашей инструкции, и теперь моя Windows 7 полноценно работает в режиме AHCI! Подскажите, означает ли это, что теперь я могу подключить оптические приводы SATA к двум скрытым портам SATA на материнской плате, и они будут распознаваться в Windows (Boot Camp) и поддерживать загрузку с диска? Пока что у меня установлены только 4 жёстких диска SATA II в основных отсеках. Нужно ли делать что-то ещё, чтобы оптические SATA-приводы работали в Windows как загрузочные?
Огромное спасибо! Очень жаль, что Apple сама не включила этот режим в штатных драйверах Boot Camp.
У меня возникла проблема с первым способом (скрипт от johnsock).
Что именно я делаю:
1. Устанавливаю чистую Windows 7 x64 (без драйверов Boot Camp)
2. Меняю значение параметра Start в реестре на 0
3. Перезагружаюсь в Windows
4. Перезагружаюсь в Mac OS X
5. Запускаю скрипт johnsock для накопителя disk0 (1-й раздел — Mac OS X, 4-й раздел — Windows 7)
6. Перезагружаюсь в Windows (система находит какие-то драйверы устройств, но контроллер по-прежнему работает в режиме ATA)
7. Перезагружаю Windows и устанавливаю пакет Intel Matrix Storage Manager 8.9
8. Снова перезагружаю Windows — и тут начинается проблема!
Система постоянно уходит в перезагрузку прямо во время загрузки Windows!
Кто-нибудь может подсказать, в чём дело?
Если у меня Mac OS X и Windows находятся на одном физическом диске — мне всё равно нужно патчить весь диск "disk0" или, может быть, раздел disk0s3?
Моя конфигурация: MacBook Pro 3,1 (2007), процессор Core 2 Duo 2,4 ГГц, 4 ГБ ОЗУ DDR2 667 МГц, жёсткий диск Seagate 320 ГБ (7200 об/мин), контроллер SATA ICH8M, Mac OS X 10.6.1.
Прикладываю файлы:
windows7mbr.zip — текущий пропатченный MBR
achimbr.zip — MBR, который я патчил
backup.mbr.zip — резервная копия MBR, созданная скриптом перед патчем
Потрясающее руководство!
Я перерыл множество форумов и тем в поисках способа активировать режим AHCI и дополнительные порты ODD SATA в Boot Camp — хотелось найти изящное решение с подробной и понятной пошаговой инструкцией. И ваш пост — первый (и, пожалуй, единственный!), который полностью отвечает этим требованиям! Настоящий эталон того, как нужно оформлять руководства для Mac-сообщества!
Благодаря вашим детальным инструкциям и прикреплённым файлам мне наконец-то удалось менее чем за 30 минут завести два новых привода SATA DVD / Blu-ray, подключённых к дополнительным портам ODD SATA на материнской плате моего Mac Pro! Теперь я могу спокойно смотреть диски Blu-ray на своём Mac.
С уважением,
Bruno
В современном загрузчике GRUB2 появилась штатная команда setpci, благодаря которой патчить бинарные файлы GRUB больше не требуется.
Я написал небольшую заметку об этом у себя в блоге (darkfader.blog spot.com/2010/04/windows-on-intel-mac-and-ahci-mode.html).
Проблемы с драйвером
Привет! Прежде всего спасибо за руководство, но я столкнулся с проблемой...
В «Диспетчере устройств» у меня нет контроллера: 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 | Основной автор | 1 | 2009-06-17 |
| @Nadav35 | Участник | 1 | 2009-11-01 |
| @moskitos | Участник | 1 | 2009-11-08 |
| @Adrenaline1965 | Участник | 1 | 2010-02-23 |
| @darkfader | Участник | 1 | 2010-04-30 |
| @armadacd55 | Участник | 1 | 2011-01-23 |