x86 하드웨어 기반 Mac OS X 2008–2024 기술 아카이브
InfiniteMac OSx86 › 하드웨어 구성, 시스템 및 소프트웨어 개발 › 가이드: Mac Pro에서 Vista 및 XP를 AHCI 모드로 부팅하여 6개의 SAT…
338,350 reads · 2009-06-17 – 2011-01-23
설치 가이드 하드웨어 & 개발 AHCI / SATA Retail DVD / USB

가이드: Mac Pro에서 Vista 및 XP를 AHCI 모드로 부팅하여 6개의 SATA 포트 모두 활성화하기

Mac Pro(1세대 및 Early 2008)의 Boot Camp Windows(XP, Vista, Windows 7) 환경에서 기본적으로 비활성화된 ODD용 추가 SATA 포트 2개를 포함해 총 6개의 SATA 포트를 모두 AHCI(NCQ) 네이티브 모드로 활성화하는 두 가지 방법(johnsock의 MBR 패치 스크립트 및 수정된 GRUB Stage1 부트로더 활용법)을 상세히 정리한 가이드입니다.

주 저자
@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 ↗
한국어 전문 번역 기술 문서 · 터미널 명령어, Kext 파일명, ACPI 노드 및 부트 플래그는 원문 그대로 보존됩니다영문 원본 보기 (Original English) →

원래 이 가이드는 InsanelyMac 포럼에 먼저 작성했던 글이지만, 분위기나 정보 공유 면에서 훨씬 더 개방적이고 도움이 되는 이곳에 어울린다고 판단해 옮겨왔습니다.

기존 IM 포럼 게시물에 비해 몇 가지 추가 정보와 최신 내용을 보강하여 업데이트했습니다.

아래 방법을 적용하면 Mac Pro(초기형 1세대 및 Early 2008 모델에서 검증 완료)에 내장된 6개의 SATA 포트를 모두 사용할 수 있게 됩니다.
다른 Intel Mac 기종에서도 동일하게 AHCI가 활성화될 가능성이 있으나, 제가 직접 테스트해 볼 다른 기기는 없습니다.
참고로 OnMac 포럼에서는 한 MacBook Pro 사용자가 Windows에서 디스크 접근 속도를 높이기 위해 이 방법으로 AHCI를 활성화했다는 보고가 있었습니다.

이 작업을 마치면 기존의 하드 드라이브 베이용 SATA 포트 4개를 희생하지 않고도 블루레이(Blu-Ray)나 DVD SATA 광학 드라이브(ODD)를 Windows 환경에 추가로 연결해 사용할 수 있습니다.

또한 Windows에서의 데이터 전송 속도도 기존 레거시(IDE 에뮬레이션) 모드의 100MB/s 한계에서 벗어나 SATA 드라이브 본래의 네이티브 속도인 1.5Gbps 또는 3.0Gbps로 대폭 향상됩니다.

이 방식이 가능하다는 사실을 처음 밝혀내고 GRUB 부트로더용 수정판 Stage1 파일을 제작해 주신 pipomolo42 님께 깊은 감사를 표합니다.

이 기법은 원래 2007년 중반 OnMac 포럼에서 Windows 환경의 RAID 5 구성을 활성화하려는 시도 끝에 탄생했습니다.

하지만 당시 방법만으로는 일반 사용자는 물론이고 숙련된 파워 유저조차 상당한 시행착오 없이는 적용하기가 무척 까다로웠습니다.

현재 이 AHCI 지원을 활성화하는 방법은 크게 두 가지가 있습니다.

첫 번째는 johnsock 님이 고안한 최신 방식으로, OS X 환경에서 스크립트를 실행하여 Vista, XP 또는 Windows 7이 설치된 디스크의 MBR(마스터 부트 레코드)을 직접 패치하는 방법입니다.

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

다음은 johnsock 님의 스크립트 사용법에 대한 간략한 안내입니다.
제작자 본인은 여전히 이 스크립트를 베타 버전으로 간주하고 있으며, 대상 OS를 자동으로 감지하는 기능이 들어 있긴 하지만 완벽한 작동을 보장하지는 않으므로, 오작동 시 발생할 수 있는 모든 위험은 사용자 본인이 감수해야 합니다.

Vista 32/64비트 및 Windows 7 32/64비트 환경
- 레지스트리 편집기(Regedit)를 실행합니다.
- "HKLM\System\CurrentControlSet\Services\msahci" 경로로 이동합니다.
- "Start" 키를 열어 기존 값을 "0"으로 변경합니다.
- 이렇게 설정하면 다음 부팅 시 Vista/Windows 7이 AHCI 컨트롤러 유무를 확인하고, 하드웨어가 AHCI 모드일 경우 자동으로 AHCI 드라이버를 설치합니다.
- 단, 이때 설치되는 드라이버는 Microsoft의 기본 범용 AHCI 드라이버이므로 하드웨어 제 성능을 다 뽑아내지 못합니다. 최상의 성능을 얻으려면 추후 반드시 Intel 공식 드라이버를 설치해야 합니다.

Windows XP 환경
기존 레거시(Legacy) 드라이버 위에 AHCI 모드 드라이버를 강제로 덮어써서 설치해야 합니다.
--설치 절차--
- 장치 관리자(Device Manager)를 엽니다.
- IDE ATA/ATAPI 컨트롤러 섹션 아래에서 "Intel® 631xESB/6321ESB Ultra ATA Storage Controller - 2680"의 속성 창을 엽니다.
- 드라이버 업데이트를 선택하고 2680 드라이버를 2681(ESB2 SATA AHCI Controller)로 표시된 드라이버로 수동 지정하여 변경합니다.
- 이때 호환되는 하드웨어만 표시하도록 제한하는 체크박스를 해제해야 전체 드라이버 목록이 나타납니다.
- 드라이버 설치가 끝나면 재부팅을 요구합니다.
- 주의: 다음 단계(MBR 패치)를 수행하지 않은 채 그냥 XP로 재부팅을 시도하면 즉시 블루스크린(BSOD)이 뜨면서 무한 재부팅에 빠지게 됩니다.

Mac OS X 또는 Linux Live CD로 부팅합니다.
OS X 환경 기준:

"터미널(Terminal)"을 열고 '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

만약 스크립트가 드라이브를 자동 감지하지 못한다면 아래 절차에 따라 대상 드라이브 번호를 직접 확인하여 수동으로 지정할 수 있습니다.
"디스크 유틸리티(Disk Utility)"를 엽니다.
방금 AHCI 장치 드라이버를 사전 설치해 둔 Windows OS가 들어 있는 드라이브를 찾습니다.
디스크 용량이 표시된 상위 드라이브 항목을 우클릭(또는 Command-클릭)한 뒤 "정보 가져오기(Information)"를 선택합니다.
거기에 표시되는 디스크 식별자를 확인하여 스크립트 실행 시 입력하면 됩니다.
주의: 디스크 식별 번호(diskX)는 부팅할 때마다 무작위로 바뀔 수 있습니다.
아래 예시의 드라이브는 제 Windows 7이 설치된 디스크이며, 빨간색 상자에서 보시다시피 현재 부팅에서는 Disk4로 잡혀 있습니다.

MBR 패치 후 Windows로 부팅이 완료되면, AHCI 모드로 전환한 모든 OS에 Intel Matrix Storage Manager 공식 드라이버 전체 패키지를 설치해 주십시오.

-------------------------------------------------------------------------------------------------------------
다음은 두 번째 방법(GRUB 활용)으로, 오랫동안 검증되어 확실하게 작동하는 정석적인 방식입니다.

시스템을 구성하는 데에는 여러 가지 응용 방식이 있습니다.
여기서는 이미 Vista나 XP가 설치되어 있는 환경을 기준으로 설명하겠습니다.
참고로 처음부터 GRUB을 통해 Windows 설치 디스크를 부팅하고 Vista에서는 USB로 AHCI 컨트롤러 드라이버를 로드하거나 XP/Vista 설치본에 드라이버를 통합(Slipstream)하여 아예 클린 설치를 진행하는 것도 가능합니다.

1. Linux 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 드라이버를 설치합니다.

3. 다시 Linux Live CD로 부팅합니다.
- 첨부된 수정판 stage1, stage2, menu.lst 파일을 앞서 만든 100MB 파티션의 다음 경로에 복사합니다:
/boot/grub/
- 이제 GRUB 부트로더를 설치할 차례입니다.

4. 터미널(Terminal)을 열고 다음 명령어들을 순서대로 입력합니다.

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

- GRUB에게 내장된 기본 장치 맵을 무시하고 사용자가 새로 정의할 장치 맵을 사용하도록 지시합니다.

device (hd0) /dev/sda

- 첫 번째 하드 드라이브(/dev/sda)를 GRUB 내부의 "hd0" 장치로 매핑합니다. (GRUB의 번호 체계는 항상 0부터 시작한다는 점에 유의하십시오.)
- GRUB이 명령어가 정상 접수되었음을 확인하며 해당 줄을 그대로 에코 출력합니다.

find /boot/grub/stage1

- stage1 파일이 위치한 파티션 좌표를 찾아 출력해 줍니다 - 예: (hd0,2)
- 일반적인 번호 체계로 풀어서 설명하자면 첫 번째 하드 디스크(hd0)의 세 번째 파티션(,2)이라는 뜻입니다.
- 여기서 출력된 (hdX,Y) 값을 다음 단계에 그대로 사용합니다.

root (hd0,2)

- GRUB에게 stage1, stage2, menu.lst 파일을 어디에서 가져올지 루트 경로를 지정합니다.

setup (hd0)

- 시스템의 첫 번째 하드 드라이브(hd0) MBR에 GRUB 부트로더를 설치합니다.
- 설치 성공 여부나 오류 발생 여부가 화면에 출력됩니다.

quit

- GRUB 프롬프트를 종료합니다.

exit

- 터미널 창을 닫습니다.

5. 시스템을 재시작하고 Live CD를 제거합니다.

6. rEFIt 부트 메뉴에서 하드 디스크의 Linux 부팅 항목(펭귄 아이콘)을 선택합니다.

7. 그러면 수정된 GRUB이 로드되면서 다음과 같은 부팅 메뉴를 보여줍니다:
- Windows XP in AHCI Mode
및
- Windows Vista in AHCI Mode

8. 제 성능을 온전히 발휘할 수 있도록 AHCI 모드로 부팅된 각 OS에서 아래 링크로 제공되는 Intel 공식 드라이버를 완벽히 설치합니다.

9. 이제 NCQ(Native Command Queuing)가 활성화된 온전한 성능의 SATA 포트 6개를 마음껏 활용하시면 됩니다.

------------------------------------------------------------------
참고: 본인의 시스템 내 운영체제 설치 위치에 맞춰 "menu.lst" 파일의 디스크/파티션 경로를 적절히 수정해야 할 수도 있습니다.

제 시스템의 경우 XP 설치용으로 별도의 IDE 드라이브를 사용하고 있으며 GRUB 역시 그 드라이브에 설치되어 있습니다.
저는 총 4개의 하드 드라이브(IDE 1개, SATA 3개)를 장착해 두고 있으며, 각 물리 드라이브마다 하나의 OS를 독립적으로 설치해 사용 중입니다.
여러분의 시스템에서는 /dev/sda가 Mac OS X 드라이브일 가능성이 높으므로 Windows가 /dev/sda가 아닐 수도 있습니다.
케이스 내부의 두 번째 SATA 베이에 Windows를 설치하셨다면 십중팔구 /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 데스크톱 버전 (ubu ntu.com/getubuntu/download) - 가장 가까운 미러 서버에서 다운로드하되, 반드시 64비트 시스템용 데스크톱 버전을 선택하십시오. CD 기반 이미지이므로 일반 CD-R 한 장에 들어갑니다.

첨부 파일 "boot.zip"에는 Mac Pro에서 GRUB이 AHCI 모드를 강제 활성화하며 작동하는 데 필요한 수정판 Stage1, Stage2 및 Menu.lst 파일이 들어 있습니다.

첨부 파일 "ahci.zip"에는 MBR을 직접 패치해 주는 johnsock 님의 스크립트가 들어 있습니다.

커뮤니티 실측 및 기술 필드 노트

총 6개의 원본 스레드 응답 중 기술적 가치가 높은 5개의 필드 노트 수록

필드 노트 #1 @Nadav35 2009-11-01

이제 잘 작동하는데, 다음 단계로 궁금한 점이 있습니다

적어주신 가이드를 그대로 따라 한 덕분에 지금 제 Windows 7에서 AHCI가 완벽하게 작동하고 있습니다. 그렇다면 이제 메인보드에 숨겨진 두 개의 추가 SATA 포트에 SATA 광학 드라이브(ODD)를 연결하기만 하면 Boot Camp Windows에서 정상 인식되고 부팅까지 가능해지는 건가요? 현재까지는 SATA II 하드 드라이브 4개만 구성해 둔 상태입니다. SATA 광학 드라이브를 Windows에서 부팅 가능한 드라이브로까지 활용하려면 추가로 어떤 작업이 더 필요한지 알고 싶습니다.

정말 대단히 감사합니다! Apple이 기본 Boot Camp 드라이버에서 이 기능을 아예 막아두었다는 게 참 아쉽네요.

필드 노트 #2 @moskitos 2009-11-08

첫 번째 방법(johnsock 님의 스크립트)을 적용하는 과정에서 문제가 발생해 질문드립니다.
제가 진행한 순서는 다음과 같습니다:
1. Windows 7 x64 클린 설치 (BootCamp 드라이버 미설치 상태)
2. 레지스트리에서 msahci의 Start 값 변경
3. Windows로 재부팅
4. Mac OS X로 재부팅
5. disk0(첫 번째 파티션은 Mac OS X, 네 번째 파티션은 Windows 7)을 대상으로 johnsock 님의 스크립트 실행
6. Windows로 재부팅 (Windows가 드라이버를 새로 찾긴 하지만 드라이브는 여전히 일반 ATA 모드로 작동함)
7. Windows를 재부팅한 뒤 Intel Matrix Storage Manager 8.9 설치
8. 다시 Windows로 재부팅했더니 여기서부터 심각한 문제가 발생했습니다!

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 포트에 새로 연결한 두 대의 SATA DVD / 블루레이 드라이브를 단 30분 만에 정상 인식시키고 완벽히 가동할 수 있었습니다! 이제 제 Mac에서도 블루레이 디스크로 영화를 감상할 수 있게 되었네요.

감사 인사를 전하며,

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