파티션 작업이 제대로 되있는분에게 아주 유용한 방법이네요.
오래전부터 머리속에 구상해왔던 내용인데 드디어 오늘 올리게 되었습니다. 그동안 경험해보지 못했던 하드에서 설치하기 방식을 제시해드립니다. 하드에서 설치하기 방식중에 이보다 더 편리한 방법은 없으리라 생각합니다. 단 주의해야할 부분이 조금 있으니 꼭 내용을 정확히 숙지하시고 실행에 옮기시기 바랍니다.
1. 준비하기
먼저 윈도우 XP 원본을 하드에 복사합니다. 이때 다른건 다 필요없고 I386 폴더 하나만 있으면 됩니다. 그런데 C 드라이브 하나만 존재하는 경우 이 방법을 권해드리지 않습니다. 원본을 C에 두면 설치시 C를 포맷할 수 없으니까요. 웬만하면 C가 아닌 드라이브에 원본을 복사해주세요. 저는 D 드라이브에 두겠습니다. 이때 반드시 원본은 루트에 위치해야 합니다. 폴더 안에 넣으면 안되고 드라이브에 들어갔을 때 바로 보이는 위치에 I386 폴더가 존재해야 합니다.
다음은 아래 파일을 압축 풀어서 I386 폴더와 동일한 위치에 둡니다.
아래 그림처럼 I386 폴더와 제가 첨부해드린 파일 3개가 같은 위치에 있어야 합니다.
이제 준비하기 파일을 실행합니다. 윈도우 XP 사용자는 그냥 더블클릭 하시면 되고 윈도우 비스타나 세븐 사용자는 우클릭 해서 관리자 권한으로 실행해주시면 됩니다. 그러면 잠시 작업을 한 후 아래 그림처럼 바뀝니다.
이대로 재부팅 하면 윈도우 XP 설치하기 메뉴가 뜨는데, 이대로 설치가 되면 얼마나 좋겠습니까만... 아쉽게도 그렇지 않습니다. 무인설치 응답파일을 구성해야만 합니다.
2. 무인설치 응답파일 구성하기
저는 순수 XP를 권장합니다.
개인이 만든 트윅 버전에 대해서는 성공적인 설치를 보장하지 않습니다. 왜냐하면 바로 이 무인설치 응답파일 때문입니다. 그리고 $OEM$ 배포폴더 문제도 있습니다. $OEM$ 배포폴더를 사용하지 않는 트윅 버전의 경우 별다른 문제가 없습니다. $OEM$ 배포폴더를 사용하는 트윅 버전에 대해서는 추후에 설명을 드리겠습니다.
만약 트윅 버전을 원본으로 하셨다면 $WIN_NT$.~BT 폴더에 들어가보세요. WINNT.SIF 파일이 존재할겁니다. 그 파일을 메모장으로 열어서 편집해야 합니다. 이 부분이 가장 중요합니다.
[Data]
MsDosInitiated=1
위 부분은 반드시 들어가야 합니다. 일반적으로 저 부분이 No 또는 0 으로 되어있을텐데요,
무조건 1로 변경합니다. 그래야 하드에서 설치가 가능합니다.
[Unattended]
UnattendMode=FullUnattended
OemSkipEula=Yes
OemPreinstall=No
UnattendSwitch=Yes
TargetPath=WINDOWS
FileSystem=*
DriverSigningPolicy=Ignore
NonDriverSigningPolicy=Ignore
위 부분은 절대로 들어가면 안됩니다.
반드시 [Unattended] 섹션 전체를 삭제해주세요. 그러지 않으면 설치 원본이 있는 파티션에 윈도우 XP를 강제로 설치해버립니다. 파티션 선택권이 없어집니다. 그러니까
반드시 [Unattended] 섹션 전체를 삭제해주시기 바랍니다. 두번이나 강조했으니 실수하시는 분들 없기를 바랍니다.
위 2가지 사항만 주의하시면 무인설치 응답파일에선 문제가 없을겁니다.
순수 XP로 설치하시는 분들은 무인설치 응답파일이 존재하지 않습니다. 메모장으로 하나 만드셔야 하는데 만약 모든 과정을 수동으로 진행하고 싶다면 위 파란색 부분만 만드시면 됩니다. 하지만 시디키 입력 정도는 자동으로 해두는게 좋겠죠? 그렇다면 최소화된 샘플은 이정도가 되겠네요.
[Data]
MsDosInitiated=1
[UserData]
ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
저렇게 메모장으로 만든 다음 $WIN_NT$.~BT 폴더 안에다가 WINNT.SIF 라는 이름으로 저장합니다. 이때 반드시 저장 형식을 모든 파일로 지정하세요. 그러지 않으면 뒤에 TXT 확장자가 붙어버릴 수 있습니다.
이게 끝입니다. 간단하죠? 이제 윈도우를 재시작 하면 윈도우 XP 설치하기 메뉴를 만나볼 수 있습니다.
3. 포맷은 어떻게 하는가?
아마 대부분 설치시 C 드라이브를 포맷하려고 하실겁니다. 그런데 C를 파티션 삭제하고 설치하는건 비추합니다. 왜냐하면 이상하게 XP에선 그렇게 하니 새로 만드는 파티션을 논리 드라이브로 잡아버리더군요. 그렇게 되면 두번째 파티션에 부팅 파일이 심어질 수 있습니다. 저는 부팅 파일은 항상 첫번째 파티션에 윈도우와 함께 존재해야 편리하다고 생각하기 때문에 웬만하면 파티션 삭제 기능으로 포맷하는 방법은 피하시길 권장드립니다.
그렇다면 어떻게 포맷을 하는가? 걱정마세요. 이미 C에 윈도우가 설치되어 있기 때문에 C를 선택하면 포맷을 할거냐고 물어보게 됩니다. 간혹 물어보지 않는 경우도 있기는 있지만 대부분은 물어봅니다. 그런데 이게 경우에 따라 화면이 조금씩 다르게 나타납니다. 두번만에 끝나는 경우도 있고 서너번만에 끝나는 경우도 있습니다. 어쨌든 한글로 나오니까 화면에서 시키는대로 따라만 가면 쉽게 포맷할 수 있습니다.
4. 트윅 버전은 어떻게 하는가?
저는 순수 XP를 권장하지만 경우에 따라 AHCI/RAID 드라이버 때문에 어쩔 수 없이 트윅 버전을 사용하거나, 또는 직접 드라이버를 통합해서 사용하는 분들도 계시리라 생각합니다. DriverPacks로 통합한 윈도우는 루트에 OEM 폴더가 존재하는데요, 어렵게 생각할 것 없이 그냥 OEM 폴더를 XP 설치원본과 같은 위치에 두시면 됩니다.
텍스트모드에 통합된 AHCI/RAID 드라이버는 어떻게 되냐구요? 걱정마세요. 제가 첨부해드렸던 파일은 알아서 텍스트모드에 통합된 드라이버 파일도 부팅폴더에 복사해주기 때문에 걱정하실 필요가 없습니다.
그리고 개인이 트윅한 윈도우의 경우 $OEM$ 배포폴더가 들어있는 경우가 많습니다. OEM 폴더랑 $OEM$ 폴더는 다릅니다. 이놈은 저렇게 루트에 두시면 안되고 $WIN_NT$.~LS 폴더 안에 넣어주셔야 합니다. 그래야 추가 프로그램이나 테마같은 것들이 정상적으로 설치됩니다.
그런데 문제는 여기부터 시작됩니다. $OEM$ 배포폴더를 사용하려면 무인설치 응답파일에
[Unattended]
OemPreinstall=Yes
부분이 들어가야 합니다. 그래야 배포폴더가 작동합니다. 그런데 제가 무인설치 응답파일에서 [Unattended] 섹션이 없어야만 파티션 자동설치를 하지 않는다고 했습니다. 위 섹션이 한줄이라도 들어가면 무조건 설치시 원본이 있는 파티션에 강제로 설치되어 버립니다.
이 문제점을 피하려면 방법이 하나 있기는 있습니다. 바로 설치 원본을 크기가 아주 작은 파티션에 두는 것입니다. 그러니까 임시로 XP 설치용으로 쓸 1GB 정도 크기의 파티션을 만듭니다. 그럼 원본이 들어가고 용량이 400mb 정도 남을텐데 윈도우가 자동으로 여기에 설치하려다 공간이 부족하다면서 다른 곳에 설치하도록 유도해줍니다. 거기서 C 드라이브를 선택하시면 됩니다.
그러니까 다시 정리해드리겠습니다. 트윅 버전의 경우 원작자의 의도대로 구성요소가 전부 설치되기 위해서는 $OEM$ 배포폴더를 사용해야 하는데, 이걸 사용하려면 무인설치 응답파일에 [Unattended] 섹션이 들어가야 하고, 이 섹션을 사용하면 설치시 파티션 선택을 못합니다. 그걸 우회하려면 1GB 정도 되는 파티션에 설치 원본을 두면 된다는 뜻이구요.
저렇게 트윅버전을 설치하실 분이라면 WINNT.SIF 파일에서 다른건 원본 그대로 다 두고 MsDosInitiated 부분만 1로 잡아주세요.
위 문제 외에도 트윅 버전의 경우 특성상 하드설치 방식 자체에서 문제점을 나타낼 수 있습니다. 제작자가 어떻게 만들었느냐에 따라 달라지겠죠. 그러니까 웬만하면 순수 윈도우를 사용하시고, 정 안되면 드라이버만 통합된 윈도우를 사용하세요. $OEM$ 폴더가 포함된 트윅버전은 여러모로 실패할 확률이 높다고 생각하시면 됩니다.
5. 마무리
나중에 XP 설치가 다 끝나면 설치를 위해 복사해두셨던 파일들은 지우시면 됩니다. $WIN_NT$.~LS 폴더와 $WIN_NT$.~BT 폴더, 그리고 TXTSETUP.SIF 파일은 웬만하면 자동으로 없어집니다. 나머지 6가지 파일만 수동으로 삭제하시면 됩니다. 그리고 만약 C에 설치하지 않았거나 C를 포맷하지 않아서 멀티부팅 메뉴에 XP 설치하기가 계속 뜬다면 그건 boot.ini 파일을 수동으로 편집해주셔야 합니다. 이거 설명하려고 또 숨김파일, 읽기전용, 폴더옵션 이야기 꺼내려니 힘드네요. C에 파일이 있다고 가정하고, 보조 프로그램에 있는 명령 프롬프트를 띄운 다음 아래와 같이 입력해보세요.
attrib c:boot.ini -r -h -s
notepad c:boot.ini
그럼 메모장으로 파일이 열릴겁니다. 하단에 있는 C:setxp.mbr="윈도우 XP 설치하기" 부분을 삭제하고 저장해주시면 됩니다.
※ 요약정리
순정 XP의 경우
1. 하드에 I386 폴더를 복사한다.
2. 첨부파일을 실행한다
3. 메모장으로 WINNT.SIF 파일을 만들어 $WIN_NT$.~BT 폴더 안에 넣는다.
트윅 XP의 경우
1. 하드에 I386 폴더를 복사한다.
2. 첨부파일을 실행한다.
3. WINNT.SIF 파일에서 MsDosInitiated 값을 1로 수정한다.
4. OEM 폴더가 있다면 루트에 같이 복사해준다.
5. $OEM$ 폴더가 있다면 $WIN_NT$.~LS 폴더 안에 넣는다.
대신 $OEM$ 폴더가 있다면 원본이 있는 파티션 크기를 1GB 정도로 잡아줘야 설치시 파티션 선택이 가능하다. 그럴 생각이 없다면 [Unattended] 섹션을 지워야 하는데 그러면 $OEM$ 설치가 되지 않는다. 선택은 각자의 몫.
※ INF file txtsetup.sif is corrupt or missing, status 14.
많은 분들이 위 오류가 발생한다고 했는데, 제 컴퓨터에선 전혀 문제가 없었기 때문에 고민을 많이 해봤습니다. 그리고 해답을 찾아냈는데, 확장 파티션(논리 드라이브)에 설치 원본을 두면 이런 오류가 발생합니다. 아래 제 컴퓨터 스샷을 보시면 아시겠지만 저는 확장 파티션을 하나도 사용하지 않습니다. 그래서 다른 분들이 겪는다는 저 오류를 경험해보지 못했던 것입니다.
그런데 많은 분들이 파티션 나누는 작업을 XP CD에서 하기 때문에, 두번째 파티션의 경우 강제적으로 논리 드라이브로 잡히게 됩니다. 아래 그림은 디스크 관리자로 일부러 상황을 만들었는데
위 그림과 같은 상황에서 설치 원본을 D에 두면 문제가 없지만 F에 두면 TXTSETUP.SIF 오류가 발생합니다.