2013년 2월 28일 목요일

[윈도우 7] 윈도우 재설치 없이 IDE 모드에서 AHCI 모드로 변경하기

 

윈도우 7 에서 S-ATA 모드 변경하기 : IDE to AHCI

윈도우 7 에는 S-ATA 의 드라이버로 IDE 호환 드라이버는 물론 AHCI 드라이버도 내장되어 있기 때문에, IDE 모드에서 윈도우 7 을 설치하였다고 할 지라도 별다른 드라이버의 설치나 윈도우의 재설치 없이, 곧바로 S-ATA 의 모드를 IDE 모드에서 AHCI 모드로 변경하는 것이 가능합니다. 단! 그럴려면 먼저 윈도우에게 이제부터는 AHCI 드라이버도 사용할 것이라고 알려줘야 하지요. 그것은 간단한 레지스트리 편집으로 가능합니다. 전체적인 작업은 아래와 같습니다.

01. 시작 -> 실행 -> regedit 를 통해 레지스트리 편집기를 실행합니다.

02. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci] 키에서 Start 값을 찾은 후 값의 데이터를 0 으로 바꿔줍니다.



03. 시스템을 재부팅한 후 CMOS 셋업에서 S-ATA 의 모드를 AHCI 모드로 변경합니다.



04. 윈도우로 진입 후 장치 관리자[Windows Key + Pause -> 장치 관리자]에서 IDE ATA/ATAPI 컨트롤러가 표준 AHCI 1.0 Serial ATA 컨트롤러로 변경되었는지 확인합니다.



05. AHCI 모드로의 전환이 완료되었습니다. 이제 자신의 시스템에 맞는 칩셋 드라이버(또는 별도의 S-ATA 드라이브)를 설치하여 사용하시면 됩니다.



간단하죠? 만약에 이렇게 S-ATA 의 모드를 AHCI 로 전환하여 사용하다가 다시 IDE 모드로 돌아가고 싶다면, 별다른 작업없이 곧바로 S-ATA 를 IDE 모드로 변경한 후 그대로 윈도우로 부팅하면 됩니다. 이렇게 한 번 IDE -> AHCI 로 전환한 경우 이후부터는 보통 아무런 문제없이 IDE <-> AHCI 모드로 원할 때마다 바로 바로 전환할 수 있습니다.






윈도우 7 에서 S-ATA 모드 변경하기 : AHCI to IDE

마찬가지의 이유로 AHCI 모드로 윈도우 7 을 설치하였다고 할 지라도 위와 같이 별다른 드라이버의 설치나 윈도우의 재설치 없이 S-ATA 의 모드를 IDE 모드로 변경하는 것이 가능합니다. 단! 이번엔 반대로 윈도우에게 이제부터는 IDE 호환 드라이버도 사용할 것이라고 알려주는 것만 다릅니다. 마찬가지로 이 작업은 간단한 레지스트리 편집으로 가능합니다. 전체적인 작업은 아래와 같습니다.

01. 시작 -> 실행 -> regedit 를 통해 레지스트리 편집기를 실행합니다.

02. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide] 키에서 Start 값을 찾은 후 값의 데이터를 0 으로 바꿔줍니다. [IDE -> AHCI 때와 키가 다릅니다. 주의하세요.]



03. 시스템을 재부팅한 후 CMOS 셋업에서 S-ATA 의 모드를 IDE 모드로 변경합니다.



04. 윈도우로 진입 후 장치 관리자[Windows Key + Pause -> 장치 관리자]에서 IDE ATA/ATAPI 컨트롤러가 표준 이중 채널 PCI IDE 컨트롤러로 변경되었는지 확인합니다.



05. IDE 모드로의 전환이 완료되었습니다. 이제 자신의 시스템에 맞는 칩셋 드라이버(또는 별도의 S-ATA 드라이브)를 설치하여 사용하시면 됩니다.



마찬가지로 이렇게 한 번 IDE -> AHCI 로 전환한 경우 이후부터는 별다른 설정 없이 곧바로 IDE <-> AHCI 모드로 원할 때마다 바로 바로 전환할 수 있습니다.






윈도우 7 에서 S-ATA 모드 변경하기 정리

1. 배치 파일

참고로 아래는 이 글에서 설명한 레지스트리 편집 작업을 간편하게 할 수 있도록 만든 배치 파일입니다. 실제로 작업하실 땐 레지스트리 부분은 아래의 배치 파일로 하시면 될 듯 하네요.


배치 파일은 사실 위와 같은 이유로 단순하게 msahci 와 pciide 의 Start 값을 모두 0 으로 설정하면 되지만, 그냥 AHCI 전환 때와 IDE 전환 때를 나눠서 작업하도록 만들었습니다. 그리고 해당 배치 파일은 윈도우 7 에서만 사용해야 하기 때문에 윈도우 7 에서만 작동하도록 하였습니다.



2. 윈도우 7 의 S-ATA 모드 변경 레지스트리의 이해

간단하게 이번 글에 대해서 이야기를 더 해보겠습니다. 윈도우 7 을 IDE 모드로 설치한 경우 관련된 레지스트리는 아래와 같이 설정됩니다.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci]
"Start"=dword:00000003

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide]
"Start"=dword:00000000


반대로 윈도우 7 을 AHCI 모드로 설치한 경우 관련된 레지스트리는 아래와 같이 설정됩니다.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci]
"Start"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide]
"Start"=dword:00000003


즉, 현재 사용 중인 S-ATA 모드에 해당하는 키의 Start 값 데이터가 0 이 되고, 반대 키의 Start 값 데이터가 3 이 되는 것이죠. 모드 전환을 할 때는 이제 반대 키의 Start 값 데이터를 0 으로 바꿔주어 해당 드라이버도 사용할 것임을 알려주는 겁니다. 이 때 현재 사용 중인 드라이버에 해당하는 키의 Start 값 데이터는 굳이 3 으로 변경할 필요는 없습니다.

고로 msahci 키와 pciide 키의 Start 값의 데이터를 모두 0 으로 만들어주면 언제든지 S-ATA 의 모드를 원하는 대로 설정할 수 있게 되는 겁니다. 간단하죠? 또한 이런 식으로 S-ATA 모드를 전환하여 양쪽 모두에 S-ATA 드라이버를 설치해두면 모드에 맞춰 자동으로 해당 드라이버가 적용됩니다. 뭐 사실 그렇게까지 크게 필요는 없어 보이지만요. ^^;


마지막으로 이번 글을 작성하면서 실제로 제 시스템에서 IDE 상태와 AHCI 상태에서 각각 윈도우를 설치한 후, 윈도우 기본 내장 드라이버 상태, 칩셋 드라이버를 설치한 상태, 보드가 인텔인지라 AHCI 일 때는 IRST 까지 설치한 상태, 이렇게 각각의 상태를 설정해놓고, 글에서 언급한 레지스트리의 변경만을 통해 AHCI <-> IDE 모드 전환을 하고, 다시 원래의 모드로 전환하는 테스트를, 반대 값만 0 으로 활성, 반대 값을 0 으로 활성 현재 값을 3 으로 비활성의 테스트를 모두 진행해보았지만, 그 어떤 경우에서도 별다른 문제를 발견하지 못했습니다. 그리고 추가로 검색을 해보아도 동일한 방법으로 문제가 생겼다는 다른 분들의 사례도 딱히 없는 것으로 보아 윈도우 7 에서는 오늘 알려드린 내용만으로도 별 문제가 없을 듯 합니다.

이게 원래 알려진지도 굉장히 오래된 팁이고, 그동안 별다른 문제가 있다는 이야기도 없었기에, 사실 이렇게까지 테스트를 진행해볼만한 글이 아닌데 얼떨결에 하다보니까 그렇게 되었네요. 이상입니다. ㅡㅡ;

2013년 2월 14일 목요일