COMPUTER/ETC

IDE -> AHCI로 변경하기

Millerjh 2009. 11. 9. 13:03

E-SATA 확장브라켓을 장만하게 되어 핫플러깅을 사용하려고 Native IDE 모드를 AHCI모드로 변경 해 보았습니다.

보드에 따라서 굳이 AHCI모드로 변경하지 않더라도 핫플러깅을 지원하는 경우도 있다고 하지만

데스게이트 하드디스크라는 것만으로 데이터 날릴 위험요소를 안고 사용하는 유저로서

또 다른 위험 부담을 안고 Native IDE모드에서 핫플러깅을 시도할 엄두가 나지 않더군요.

먼저 (AMD)XP 설치 후 AHCI 활성화 하기 를 보고SB700에서도 성공하셨다는 리플이 있어 따라 해 보았지만 지렁이 지나가다 리부팅되어 버리네요.포기하고 IDE모드로 사용하려다 E-SATA 브라켓을 무용지물로 둘 수는 없겠고...
다시 인터넷을 뒤져 보다가... wikihow.com 에서 좋은 자료를 찾게되어 AHCI모드로 성공적으로 변경하고 글을 씁니다.

필요한 파일

Linux Live CD : http://www.livecdlist.com/

ATI Raid Driver : 다운로드 페이지 (현재 최신버젼 9.2 해당페이지에서 Raid Driver를 받으세요.)

1. Vendor ID, Device ID, Subsystem 알아내기.

먼저, 위에 링크된 Linux Live CD 다운로드 페이지에서 적당한 파일을 다운받습니다.

본인의 경우 맨 위 SLAX 판의 ISO 형식의 파일을 다운 받았습니다.

다운 받은 Linux Live CD ISO파일을 공CD로 구워서(낭비가되니 RWCD에 굽기를 추천합니다) 준비합니다.

Linux Live CD는 시스템에 Linux를 설치하는것이 아니라...

CD에서 바로 Linux 로 부팅을 시켜줍니다. 혹시나 Linux라고 거부감 가질 필요 전혀 없습니다.

오히려 쉽게 Linux시스템을 사용 해 볼 수 있어 유용합니다.

Linux Live CD를 준비하였으면 시스템을 재부팅 시키고 BIOS 설정으로 들어갑니다.

BIOS에서 SATA모드를 IDE에서 AHCI모드로 변경합니다.

부팅 순서를 CD로 먼저 부팅이 되도록 설정을 바꾸고 시스템을 부팅시킵니다.

준비된 Linux Live CD를 읽어 시스템이 리눅스모드로 부팅이 되면...

(X-Windows모드나 Text 모드 등등이 있는데... 본인이 원하는 모드로 부팅하시면 됩니다)

다음 명령어를 입력합니다.

lspci -vvnn >> /mnt/sda1/ATI/lspci.txt

위와 같이 입력하면 명령어 lspci -vvnn 의 결과가 화면에 출력되지 않고

첫번째 하드디스크 1번파티션(일반적으로 C드라이브)에 ATI 폴더에 lspci.txt라는 파일로 결과가 저장됩니다.

Ctrl +Alt+Del 을 누르던지 Reboot 명령어를 이용하여 시스템을 재부팅 시킵니다.

이번에는 BIOS에서 SATA 모드를 다시 원래대로 IDE모드로 변경하고

부팅순서도 XP가 설치된 하드디스크가 우선순위가 되게 하여 정상적으로 윈도우로 부팅을 시킵니다.

C:\ATI\lspci.txt 파일을 텍스트 에디터로 열어 다음 문구가 있는 부분을 찾습니다.

(메모장에서는 깨져보이더군요. PSPad등의 다른 텍트스 에디터를 권장합니다.)

SATA controller [0106]: ATI Technologies Inc SB700/SB800 SATA Controller [AHCI mode] [1002:4391] (prog-if 01 [AHCI 1.0])
Subsystem: ATI Technologies Inc SB700/SB800 SATA Controller [AHCI mode] [1002:4391]


중요한 것은 Subsystem 맨 끝에 있는 [1002:4391] 라는 부분입니다.

XP에서 시스템 장치를 추가하기 위해 확인해야 할 사항이 Vendor ID, Device ID and Subsystem인데

Vendor ID는 ATI를 의미하는 고유번호로 생각되며 1002,

Device ID는 해당 장치인 SB700을 의미하는 것으로 보이며 4391

(부팅과정에서 장치리스트 뜰때 확인가능함, SB750 사용자는 필히 확인 할 것)



Subsystem 은 메인보드에 따라 달라지는 고유번호라고 생각되는데...

본인이 사용중인 Jetway PA78M4 보드는 별도의 고유번호가 없이 Vendor ID, Device ID를 이용하여 Subsystem을 구성하고 있습니다. 각자 자신의 보드 결과값을 확인하시기 바랍니다.

리눅스 정보에서 Subsystem 정보가 [1002:4391] 이런식으로 나타나면

윈도우에서 사용되는 Subsystem 은 43911002 로 생성됩니다.

본인의 경우 Vendor ID : 1002, Device ID : 4391, Subsystem 43911002 입니다.

2. ATI Raid Driver 설치하기

PCI장치 정보를 확인하였으면 Raid Driver를 설치 해 보겠습니다.

다운받은 ATI Raid Driver인 9-2_xp32-64_raid_75985.exe 파일을 더블클릭하여 실행시킵니다.

압축이 풀리고 설치화면이 뜨면 설치하지 않고 취소를 눌러 종료시킵니다.

그러면 해당 설치파일이 C:\ATI\SUPPORT\9-2_xp32-64_raid_75985 폴더를 생성하여 압축이 풀려 있습니다.

C:\ATI\SUPPORT\9-2_xp32-64_raid_75985\RAID7xx\txtsetup.oem 파일을 텍스트 에디터로 열어 자신의 정보와 일치하는 장치 ID가 있는지 확인합니다.

본인의 경우 아래와 같이 일치하는 장치ID를 확인 할 수 있었습니다.

id = "PCI\VEN_1002&DEV_4391&SUBSYS_43911002", "ahcix86"

확인이 되었으면...

아래 내용을 복사하여 텍스트 에디터 새 파일에 붙여 넣고 확장자 .reg 파일의 적당한 이름을 부여하여 레지스트리 파일로 저장합니다.

아래 레지스트리 파일에서 Vendor ID, Device ID, Subsystem 를 본인의 시스템 정보와 일치하게 변경하여 저장합니다.

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_1002&dev_4391&subsys_43911002]
"Service"="ahcix86"
"ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ahcix86]
"Type"=dword:00000001
"Start"=dword:00000000
"Group"="SCSI miniport"
"ErrorControl"=dword:00000001
"ImagePath"="system32\\drivers\\ahcix86.sys"
"tag"=dword:00000019
"DisplayName"="ATI AHCI Compatible RAID Controller"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ahcix86\Parameters\PnpInterface]
"5"=dword:0x00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ahcix86\Settings\CAM]
"EnableALPEDisableHotplug"=dword:0
"EnableCCC"=dword:1
"CCCTimeoutValue"=dword:10
"CCCCompletionValue"=dword:32
"NCQEnableDiskIDBits"=dword:0
"EnableHIPM"=dword:0
"EnableDIPM"=dword:0
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ahcix86\Enum]
"0"="PCI\\VEN_1002&DEV_4391&SUBSYS_43911002\\3&13c0b0c5&0&FA"
"Count"=dword:00000001
"NextInstance"=dword:00000001
본인의 경우 SB700_IDE_to_AHCI.reg 라는 이름으로 저장하였습니다.

저장한 SB700_IDE_to_AHCI.reg 파일을 더블클릭하여 레지스트리에 해당 정보를 추가시킵니다.

C:\ATI\SUPPORT\9-2_xp32-64_raid_75985\RAID7xx\x86\ahcix86.sys 파일을

C:\Windows\Sytstem32\Drivers 폴더에 복사합니다.

이것으로 SB700기반 칩셋에서 IDE모드로 설치된 XP에서 AHCI 모드로 변경하는 준비는 끝났습니다.

다시 시스템을 재시작 하여 BIOS에서 SATA 설정을 AHCI 모드로 변경후 부팅하시면

정상적으로 윈도우로 진입합니다.

새 하드웨어 검색을 통하여 짤방과 같이 장치가 추가 됩니다.

장치 추가 과정에서 드라이버 파일의 위치를 물어오면

C:\ATI\SUPPORT\9-2_xp32-64_raid_75985\RAID7xx\x86\ 폴더를 지정하시면 됩니다.