※ AMD 메인보드 사용자들은 캐플님께서 작성해주신 아래 글을 참조하시기 바랍니다.
윈도우 XP CD 에 AMD AHCI 드라이버 통합하기



오랜만입니다. 예전처럼은 아니더라도 간간히 포스팅하도록 하겠습니다.

윈도우 XP 사용할 일이 없다가 최근에 사용할 일이 생겨서 제 컴퓨터에 설치하게 되었습니다. 그런데 인텔 SSD 구매 이후 AHCI 모드로 사용중이라 순수 XP CD는 하드를 인식할 수 없어 설치할 수 없는 상황입니다. 물론 IDE 모드로 변경하고 설치한 다음 추후에 AHCI로 강제 변경해도 됩니다만

2010/03/02 - [XP] - 윈도우 XP 재설치 없이 AHCI 모드로 변경하기

주로 노트북 사용자들이 AHCI 드라이버 통합 방법을 자주 찾기 때문에 이번 기회에 드라이버 통합 방법을 포스팅해봅니다.

이 글에서는 순수 XP SP3와 인텔 드라이버를 기준으로 진행합니다.

테스트 환경

XP SP3 원본 : ko_windows_xp_professional_k_with_service_pack_3_x86_cd_vl_x14-87427.iso
메인보드 : ASUS P7P55D


물론 nlite를 이용하면 손쉽게 통합이 가능합니다. 하지만 순수 XP를 좋아하고 자신이 직접 통합해보고 싶어하는 분들을 위해 OEM 배포폴더 방식으로 설명을 드리겠습니다. nlite를 이용하면 웬지 모르게 찝찝하고 순수한 느낌이 나지 않으니까요.



1. 인텔 드라이버 다운로드

먼저 통합에 사용할 인텔 드라이버를 다운로드 합니다. 인텔 홈페이지 드라이버 검색란에 F6 이라고 검색어를 입력합니다. 제가 직접 파일을 올려드려도 되지만 나중에 P55 이후 메인보드가 출시되었을 때도 이 글이 유효하기 위해서는 이렇게 직접 드라이버를 다운로드 할 수 있어야 하기 때문에 이렇게 설명드립니다.



그러면 아래와 같은 내용이 검색될텐데 XP에 통합할 드라이버니 32비트용을 다운로드 합니다.



※ 편의를 위해 위 그림의 9.6.0.1014 버전만 특별히 첨부파일로 올려드립니다.




2. OEM 배포폴더의 구성

다운로드한 드라이버 파일을 풀어보시면 8개의 파일이 들어있는데 그중에 F6Readme.txt 파일과 license.txt 파일은 불필요합니다. 나머지 6개의 파일만 OEM 배포폴더에 넣어주시면 되는데 이 부분은 매우 중요하므로 실수하시면 안 됩니다.

iaAHCI.cat
iaAHCI.inf
iaStor.cat
iaStor.inf
iaStor.sys
TXTSETUP.OEM


위 파일을 두곳에 넣어줘야 합니다. 하나는 $OEM$ => TEXTMODE 폴더를 만들어 XP CD 루트에 넣고, 하나는 $OEM$ 폴더를 만들어 I386 폴더에 넣어줍니다. 이해를 돕기 위해 그림을 보여드리겠습니다.



위 그림에서 빨간색 테두리 친 폴더에 각각 6개의 파일을 넣어주시면 됩니다. 물론 순수 XP에는 위 폴더들이 없습니다. 직접 위 구조대로 폴더를 만든 다음 그 안에 드라이버 파일을 넣어주시라는 말입니다.



3. WINNT.SIF 파일 편집

순수 XP에는 WINNT.SIF 파일이 들어있지 않습니다. 이 파일은 무인설치에 사용되는 응답파일입니다. 이 OEM 방식으로 인텔 드라이버를 통합하기 위해서는 무인설치 응답파일을 이용해야 합니다. 순수 XP로 작업하시는 분들은 메모장으로 이 파일을 하나 만들어 주시면 됩니다. 물론 순수 XP가 아닌 경우 이 파일이 들어있을 수 있습니다. 그 경우 하단에 아래 내용을 추가하시면 됩니다.

추가할 내용은 두가지입니다. [MassStorageDrivers] 와 [OEMBootFiles] 섹션인데 [MassStorageDrivers] 부분이 조금 귀찮긴 합니다. 형식은 아래와 같습니다.

[MassStorageDrivers]
"Intel(R) 5 Series/3400 Series SATA AHCI Controller" = "OEM"



제가 사용중인 메인보드에는 AHCI의 경우 위 스트링만 추가하면 됩니다. 하지만 자신의 보드가 어떤 종류인지 잘 모르시는 분들은 그냥 다 적어주시면 됩니다. 적어줄 내용은 위에서 받은 드라이버 파일 중에 TXTSETUP.OEM 파일이 있는데 이 파일을 메모장으로 열어보시면 [scsi] 섹션에 아래와 같이 나와있습니다.

[scsi]

; iaAHCI.inf
iaAHCI_ESB2       = "Intel(R) ESB2 SATA AHCI Controller"
iaAHCI_7RDH       = "Intel(R) ICH7R/DH SATA AHCI Controller"
iaAHCI_7MMDH      = "Intel(R) ICH7M/MDH SATA AHCI Controller"
iaAHCI_8RDHDO     = "Intel(R) ICH8R/DH/DO SATA AHCI Controller"
iaAHCI_8MEM       = "Intel(R) ICH8M-E/M SATA AHCI Controller"
iaAHCI_9RDODH     = "Intel(R) ICH9R/DO/DH SATA AHCI Controller"
iaAHCI_9MEM       = "Intel(R) ICH9M-E/M SATA AHCI Controller"
iaAHCI_10DDO      = "Intel(R) ICH10D/DO SATA AHCI Controller"
iaAHCI_10R        = "Intel(R) ICH10R SATA AHCI Controller"
iaAHCI_5          = "Intel(R) 5 Series 4 Port SATA AHCI Controller"
iaAHCI_5_1        = "Intel(R) 5 Series 6 Port SATA AHCI Controller"
iaAHCI_5_1_1      = "Intel(R) 5 Series/3400 Series SATA AHCI Controller"

; iaStor.inf
iaStor_ESB2       = "Intel(R) ESB2 SATA RAID Controller"
iaStor_7RDH       = "Intel(R) ICH7R/DH SATA RAID Controller"
iaStor_7MDH       = "Intel(R) ICH7MDH SATA RAID Controller"
iaStor_8R9R10RDO5 = "Intel(R) ICH8R/ICH9R/ICH10R/DO/5 Series/3400 Series SATA RAID Controller"
iaStor_8ME9ME5    = "Intel(R) ICH8M-E/ICH9M-E/5 Series SATA RAID Controller"



여기서 앞부분은 지우고 각각의 컨트롤러 이름 뒤에 = "OEM" 이라고 적어주셔야 합니다. 직접 편집하기 귀찮으시죠? 나중에 P55 이후 메인보드가 출시되면 그때는 직접 하셔야겠지만 일단 P55 까지 메인보드를 사용하시는 분들을 위해 제가 위 내용 편집한 것을 그대로 적어드리겠습니다.

[MassStorageDrivers]
"Intel(R) ESB2 SATA AHCI Controller" = "OEM"
"Intel(R) ICH7R/DH SATA AHCI Controller" = "OEM"
"Intel(R) ICH7M/MDH SATA AHCI Controller" = "OEM"
"Intel(R) ICH8R/DH/DO SATA AHCI Controller" = "OEM"
"Intel(R) ICH8M-E/M SATA AHCI Controller" = "OEM"
"Intel(R) ICH9R/DO/DH SATA AHCI Controller" = "OEM"
"Intel(R) ICH9M-E/M SATA AHCI Controller" = "OEM"
"Intel(R) ICH10D/DO SATA AHCI Controller" = "OEM"
"Intel(R) ICH10R SATA AHCI Controller" = "OEM"
"Intel(R) 5 Series 4 Port SATA AHCI Controller" = "OEM"
"Intel(R) 5 Series 6 Port SATA AHCI Controller" = "OEM"
"Intel(R) 5 Series/3400 Series SATA AHCI Controller" = "OEM"
"Intel(R) ESB2 SATA RAID Controller" = "OEM"
"Intel(R) ICH7R/DH SATA RAID Controller" = "OEM"
"Intel(R) ICH7MDH SATA RAID Controller" = "OEM"
"Intel(R) ICH8R/ICH9R/ICH10R/DO/5 Series/3400 Series SATA RAID Controller" = "OEM"
"Intel(R) ICH8M-E/ICH9M-E/5 Series SATA RAID Controller" = "OEM"



다음은 [OEMBootFiles] 섹션인데 이건 6개의 드라이버 파일 이름을 그대로 넣으시면 됩니다.

[OEMBootFiles]
iaAHCI.cat
iaAHCI.inf
iaStor.cat
iaStor.inf
iaStor.sys
TXTSETUP.OEM




여기까지 잘 따라하셨나요? 순수 XP로 작업하시는 분들을 위해 WINNT.SIF 파일의 예제를 올려드리겠습니다. 꼭 이대로 하실 필요는 없습니다만 이게 가장 기본적인 형태이고 파티션 선택 이후 과정을 전체 무인으로 진행합니다. 아래 내용을 메모장에 붙여넣으신 다음 빨간색 부분만 각자 수정해서 WINNT.SIF 파일로 저장하시면 되겠습니다.

XXXXX - 시디키
FullName - 사용자 이름
OrgName - 회사나 조직 이름
ComputerName - 네트워크상에 식별되는 컴퓨터 이름. 여기에는 한글을 넣으시면 안 됩니다.

[Data]
    AutoPartition=0
    UnattendedInstall=Yes
    MsDosInitiated=No

[Unattended]
    UnattendMode=FullUnattended
    OemSkipEula=Yes
    OemPreinstall=Yes
    UnattendSwitch=Yes
    TargetPath=\WINDOWS
    FileSystem=*

[GuiUnattended]
    AdminPassword=*
    EncryptedAdminPassword=No
    OEMSkipRegional=1
    TimeZone=230
    OemSkipWelcome=1

[UserData]
    ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
    FullName="snoopy"
    OrgName="Home"
    ComputerName=MYCOM

[Identification]
    JoinWorkgroup=WORKGROUP

[Networking]
    InstallDefaultComponents=Yes

[MassStorageDrivers]
"Intel(R) ESB2 SATA AHCI Controller" = "OEM"
"Intel(R) ICH7R/DH SATA AHCI Controller" = "OEM"
"Intel(R) ICH7M/MDH SATA AHCI Controller" = "OEM"
"Intel(R) ICH8R/DH/DO SATA AHCI Controller" = "OEM"
"Intel(R) ICH8M-E/M SATA AHCI Controller" = "OEM"
"Intel(R) ICH9R/DO/DH SATA AHCI Controller" = "OEM"
"Intel(R) ICH9M-E/M SATA AHCI Controller" = "OEM"
"Intel(R) ICH10D/DO SATA AHCI Controller" = "OEM"
"Intel(R) ICH10R SATA AHCI Controller" = "OEM"
"Intel(R) 5 Series 4 Port SATA AHCI Controller" = "OEM"
"Intel(R) 5 Series 6 Port SATA AHCI Controller" = "OEM"
"Intel(R) 5 Series/3400 Series SATA AHCI Controller" = "OEM"
"Intel(R) ESB2 SATA RAID Controller" = "OEM"
"Intel(R) ICH7R/DH SATA RAID Controller" = "OEM"
"Intel(R) ICH7MDH SATA RAID Controller" = "OEM"
"Intel(R) ICH8R/ICH9R/ICH10R/DO/5 Series/3400 Series SATA RAID Controller" = "OEM"
"Intel(R) ICH8M-E/ICH9M-E/5 Series SATA RAID Controller" = "OEM"

[OEMBootFiles]
iaAHCI.cat
iaAHCI.inf
iaStor.cat
iaStor.inf
iaStor.sys
TXTSETUP.OEM



기존에 있던 응답파일에 드라이버 부분만 추가하시는 분들은 OemPreinstall=Yes 부분을 반드시 [Unattended] 섹션에 적어주시기 바랍니다. 그래야 설치시 $OEM$ 배포폴더를 인식하게 됩니다.

완전 초보 분들을 위해 노파심에 말씀드립니다. 메모장으로 저장하실 때 파일 형식을 텍스트 문서가 아닌 모든 파일로 바꿔서 저장하시기 바랍니다. 그렇지 않고 텍스트 문서로 저장하게 되면 간혹 WINNT.SIF.TXT 파일로 저장되는 경우가 발생하는데 폴더 옵션에서 알려진 확장자를 숨기도록 설정한 경우 뒤에 TXT 부분이 안 보이기 때문에 속아넘어갈 수 있습니다. 파일 이름은 반드시 WINNT.SIF 이어야 합니다.

이 무인설치 응답파일은 I386 폴더 안에 넣어주시면 됩니다.



4. 요약 정리

인텔 드라이버 파일을 다운로드 받아 두곳의 OEM 배포폴더를 만들어 그 안에 넣는다.
WINNT.SIF 파일에 [MassStorageDrivers] 와 [OEMBootFiles] 섹션을 추가한다.
이때 응답파일에 OemPreinstall=Yes 부분은 반드시 [Unattended] 섹션에 있어야 한다.

어떤가요? 어렵지 않죠? 컨트롤러 리스트와 응답파일 때문에 글이 길어보이지만 실제 과정은 이처럼 매우 간단합니다. 찝찝하게 다른 툴을 사용하거나 TXTSETUP.SIF 파일을 수정하는 복잡한 방법을 이용하지 않아도 됩니다.

제 컴퓨터에서 VMWare에 테스트하면 블루스크린이 뜹니다. 하지만 직접 설치하면 아무런 문제가 없습니다.



이상으로 인텔 드라이버 통합 가이드를 마치겠습니다.



※ AMD 유저분들 테스트 부탁드립니다.

댓글 보고 일단 AMD 보드용으로 파일 만들어 보았습니다. AMD 드라이버는 받아보니 x86이랑 x64 폴더가 있어서 제가 임의로 txtsetup.oem 파일을 좀 수정하여 위 가이드 내용에 맞게 만들었습니다.


압축 풀고 통째로 XP CD에 추가해주시면 됩니다. WINNT.SIF 파일에서 시디키 부분만 수정하시면 전체 무인설치가 됩니다. VMware에서 테스트해본 결과 블루스크린이 떴습니다. 따라서 정상적으로 통합된 것으로 추측할 수 있습니다. 시간 여유가 많으시고, 윈도우 자주 설치하시고, 공CD 한장이 아깝지 않은 분께 테스트 부탁드립니다.


캐플님께서 Asus M4A78 Plus 보드에서 테스트한 결과 잘 되었다고 합니다. ^^