이곳은 백업 블로그 입니다. 현재 캐플이 활동 중인 블로그는 CAppleBlog.co.kr 입니다. 최신 정보들은 새로운 블로그에서 확인해 보세요. ^^

- 이곳은 기존 블로그들의 글을 한군데로 모아 놓은 백업 블로그입니다.

- 현재 링크는 대부분 올바르지 않으며 이러한 링크들은 모두 cappleblog.co.kr 로 이동합니다. (※ 링크 주의)

- 블로그와 커뮤니티는 서로 다른 공간입니다.(로그인을 따로 해야합니다.)

- 저는 윈티티(WinTT)이자 신비(ShinB)이며 캐플(CApple)입니다. 편한대로 불러주세요.

WOW CD 의 이해

이 글은 초보 분들도 보고 그대로 따라하실 수 있게 제작하였지만 어찌보면 절대 초보 분들을 위한 글은 아닙니다. WOW CD 란 하나의 CD 에 다수의 윈도우를 집어 넣는 것을 의미합니다. 언뜻 이해가 잘 안 가시죠?

"어떻게 CD 하나에 윈도우를 여러 개를 집어 넣는다는거지?"

WOW CD 의 제작을 쉽게 하기 위해서는 단순히 따라하는 것 뿐만 아니라 WOW CD 의 작동 원리에 대해서 이해를 하고 계셔야 합니다. 꼭! 필요한 부분만 설명드릴테니 너무 겁 먹지 마시고~! 자 그럼 WOW CD 란 무엇인지 간단하게 설명을 시작하겠습니다.

※ 꼭 필요한 부분만 적는다고 그 양이 줄어들진 않을 겁니다. ㅎㅎㅎ 하지만 이 이론 부분이 너무 길다고 건너뛰고 읽으실 분들 꼭 계실겁니다. 그런 분들 안 된다고 모르겠다고 질문만 죽어라 올리시죠. 사절입니다.




중복 파일 병합의 비밀 OSCDIMG -O

윈도우는 XP 는 여러분들이 아시다시피 버전이 여러가지죠. 일단 대표적으로 Home Edition 과 Professional 버전이 있죠? Home Edition 과 Professional 은 또 다시 OEM 버전과 Retail 버전으로 나누어 집니다. Professional 버전에는 Volume License 버전도 존재합니다. 이렇게만 따져도 벌써 버전이 다섯 개 입니다. 여기에 원본 버전도 있을테고 Winnt.sif 파일을 추가한 무인 설치 버전도 있을 겁니다. 이러면 도대체 가지고 다녀야하는 CD 가 몇 개일까요?

여기에서 한 가지 굉장히 중요한 사실이 있습니다. Home Edition 이든 Professional 이든 뭐든 버전은 모두 다르지만 실제 파일들은 거의 동일하다는 겁니다.

예를 들어볼까요? Professional 원본이 있습니다. 이 원본을 가지고 무인 설치 응답 파일을 제작하여 자동 설치본도 하나 만들었습니다. 물론 자동 설치본을 만들면서 별다른 작업 없이 오직 응답 파일만을 제작하였습니다. 배포 폴더도 사용하지 않고 말이죠. 이러면 윈도우가 두 개죠? 그럼 여기에서 제가 질문 하나 드리겠습니다. 파일을 기준으로 두 윈도우의 차이가 무엇일까요?

정답은 Winnt.sif 파일 단 하나를 제외하고 나머지 모든 파일들은 100% 동일한 파일이라는 겁니다. 이제 대충 아시겠죠? Home Edition 이든 Professional 이든 OEM 이든 Retail 이든 Volume License 든 극히 일부의 파일을 제외한 거의 모든 파일은 모두 동일한 녀석들입니다.

WOW CD 의 비밀은 바로 이러한 중복 파일을 하나의 파일로 통합 처리하는 게 핵심입니다. 어떻게? 바로 마이크로소프트사에서 제공하는 OSCDIMG.EXE 라는 ISO 이미지 파일 생성 프로그램을 통해서 말이죠. 이런 중복 파일을 하나로 통합하는 옵션이 바로 -O 옵션입니다. 지금까지 제 수 많은 글에서 OSCDIMG 를 사용하면서 아직까지 단 한 번도 -O 옵션을 사용하지 않았었죠? 바로 오늘 사용할 겁니다.


그럼 도대체 OSCDIMG 는 어떠한 방식으로 중복 파일들을 처리하는 것일까요? 그 비밀은 파일 시스템의 구조에 있습니다. 보통의 파일 시스템은 검색의 효율성을 위해 인덱스 구조를 사용합니다. 실제 파일 + 인덱스의 구조로써 인덱스에는 해당 파일에 대한 기본적인 정보들을 담고 있습니다. 파일명이라던지 날짜, 속성, 등등등 해당 파일에 대한 정보를 담고 있습니다. 그리고 가장 중요한 실제 파일이 어디에 기록이 되어 있는지 그 위치가 기록이 되어 있습니다. CD 에서 사용하는 CDFS 라는 파일 시스템도 이와 똑같이 인덱스 구조를 사용합니다.

아직도 뭐가 뭔지 모를 초보 분들을 위해 인덱스 구조에 대해서 좀 더 쉽게 설명해 드리겠습니다. 하드 디스크를 도서관으로 파일들을 책으로 생각해 보시기 바랍니다. 도서관 책 소장 목록이 바로 인덱스 입니다. 우리가 어떠한 책을 찾기 위해선 가장 먼저 무엇을 해야 할까요? 그 넓은 도서관을 하나하나 다 뒤질까요? 바로 소장 목록에서 책이 어디에 있는지 파악해야겠죠? 소장 목록을 살펴봅니다. 목록에서는 해당 책이 가열 3 번 책장의 왼쪽에서 14 번째 위치에 있다고 하네요. 해당 위치로 갑니다. 네~! 진짜 책이 있네요~! 잘 찾았군요~!

하드 디스크도 이와 똑같습니다. 어떠한 파일을 찾기 위해 인덱스에서 해당 파일에 대한 정보를 읽습니다. 그리고 인덱스에 기록된 위치로 이동하여 실제 파일을 찾게 되는 것이죠. 이게 핵심입니다. 바로 이 점을 이용하여 파일들을 통합하는 겁니다.


자 이제 중복되는 파일을 통합하는 것에 대해 하나의 파일을 가지고 예를 들어 보겠습니다. CD 의 A 라는 폴더에 Home Edition 버전이 있고 그 아래에 Driver.cab 파일이 있다고 칩시다. 그리고 Driver.cab 파일의 인덱스를 A# 그리고 A# 은 실제 디스크에 기록된 A$ 라는 파일을 가르킵니다. 마찬가지로 동일한 CD 의 B 라는 폴더에는 Professional 버전이 있고 그 아래에 Driver.cab 파일이 있습니다. 이 파일의 인덱스를 B# 그리고 B# 은 실제 디스크에 기록된 B$ 라는 파일을 가르킵니다. 각각의 인덱스에 맞게 실제 파일이 하나씩 두 개 존재합니다. 이게 일반적인 구조의 CD 의 모습입니다.

하지만 이 두 파일은 서로 다른 곳에 위치해 있을 뿐 사실은 100% 완전히 동일한 파일입니다. 이제 OSCDIMG -O 옵션을 통해서 파일을 통합하여 CD 를 제작하겠습니다. OSCDIMG 는 여러가지 방법을 이용하여 이 두 파일이 정말 100% 동일한 파일인지 검증합니다. 정말로 100% 동일한 파일입니다. 그럼 이제 두 파일을 통합합니다. 그럼 결론적으로 A# 은 실제 디스크에 기록된 A$ 라는 파일을 가르키고 B# 도 마찬가지로 실제 디스크에 기록된 A$ 를 가르킵니다. 그리고는 B$ 는 지워버립니다. 어떻습니까? 두 개의 인덱스가 하나의 파일을 가르키는 겁니다. 이렇게 되면 우리가 보기에는 A 라는 폴더와 B 라는 폴더 두 군데에 모두 Driver.cab 이라는 파일이 존재하는 것처럼 보이지만 실제 두 파일은 사실 하나의 파일인 겁니다.

어떻습니까? 이제 이해하시겠죠? 실제로는 이보다는 조금 복잡합니다. 하지만 대략적인 이론은 위에서 설명드린대로 입니다. 바로 지금 설명드린 내용이 다수의 윈도우 버전을 하나의 CD 에 모두 담는 WOW CD 의 핵심 기술입니다. 이걸 정리하자면 아래의 그림과 같습니다.

이 이상 무슨 설명이 필요합니까?



위에서 설명드린 핵심적인 내용에 대해서 이해하셨다면 성공적인 WOW CD 를 제작하기 위해선 최대한 동일한 파일 구성을 보이는 윈도우들을 통합하여 하나의 CD 로 제작해야한다는 것 쯤은 쉽게 눈치채셨을 겁니다. 자~ 또 이 부분에 대해서 간략하게 설명들어갑니다.


같은 윈도우더라도 서비스 팩에 따라서는 파일들이 판이하게 달라집니다. 즉, 동일한 Professional Volume License 버전이라도 오리지널과 서비스 팩 1 버전과 서비스 팩 2 버전과 서비스 팩 3 버전의 파일들은 동일한 녀석들이 아닙니다. Driver.cab 파일을 예로 보자면 오리지널에 포함된 Driver.cab 파일과 서비스 팩 3 에 포함된 Driver.cab 파일은 용량 자체가 다릅니다. 이러면 동일한 파일이라고 할 수 없죠. 또한 같은 윈도우더라도 한글판과 영문판의 파일들이 또 다릅니다. 이렇게 서비스 팩 버전이 차이가 나거나 언어가 전혀 다른 XP 들을 하나의 CD 로 통합을 하게 되면 파일들이 서로 다르기 때문에 원하는 결과를 얻기가 힘듭니다. (용량이 커져서 CD 하나에 담기가 힘들어지는거죠.)

그럼 이제 어떤 윈도우들을 어떻게 통합해야 할 지 결론이 나오죠? 동일한 언어에 동일한 서비스 팩 버전을 가진 윈도우들을 통합해야 하는 겁니다. (애초에 DVD 에 제작할 거라면 모르겠습니다.) 이 점 필히 숙지하시길 바랍니다. 중복 파일 처리에 대한 설명은 충분히 드렸다고 생각하며 이쯤에서 마치도록 하겠습니다.





멀티 부팅의 원리 - XP 설치 CD 의 부팅 과정

이론 설명이 끝난 줄 아셨죠? 아직 아닙니다. 이론 설명은 이쯤에서 끝나길 바라셨다면 죄송... -_-; WOW CD 의 두 번째 핵심인 멀티 부팅을 꾸미기 위해서는 XP 설치 CD 의 부팅 과정에 대해서 알고 있어야만 합니다. 그래야 실제로 WOW CD 를 제작할 때 왜 거기서 그러한 작업을 해야하는지에 대해서 알게 되고 작업에 실수가 없게 됩니다.


도스용 부팅 이미지를 제작해보거나 제가 제작한 IMA 이미지 파일을 뜯어 보신 분이라면 CD 에 들어가는 도스용 부트 섹터는 디스켓 이미지와 똑같다는 것을 아실 겁니다. 즉, 도스로 부팅하게끔 제작된 CD 의 부트 섹터는 부팅 디스켓 그 자체와 하등 다를 것이 없습니다.

하지만 윈도우 XP 설치 CD 의 부트 섹터를 한 번이라도 추출해 보신 분이 계신다면 그 용량이 단지 2KB 밖에 안 된다는 것을 아실겁니다. 왜 일까요? 현재 윈도우 XP 의 서비스 팩 3 의 설치용 부팅 디스켓은(서비스 팩 3 도 동일합니다) 1.44MB 플로피 디스켓으로 6장이나 됩니다. 이 말인 즉슨 CD 의 부트 섹터에 비해 그 용량이 터무니 없이 크다는 겁니다.

그래서 Windows XP 에서는 윈도우 9x 때와는 다른 부팅 방식을 보입니다. 설치에 필요한 부팅 파일들은 CD 의 데이터 영역에 존재를 하고 부트 섹터는 해당 설치 파일들을 읽게끔 하는 것이죠. 그 파일이 바로 i386 폴더의 Setupldr.bin 파일 입니다.

Setupldr.bin 파일은 설치용 파일이 들어있는 폴더에서 파일들을 읽습니다. 그 설치용 파일이 들어있는 폴더가 어디인지도 Setupldr.bin 파일 안에 모두 기록이 되어 있습니다. 그 기록되어 있는 폴더가 또 i386 폴더입니다.

또한 Setupldr.bin 파일은 실행되자 마자 Bootfix.bin 파일이라는 파일을 읽습니다. 이 Bootfix.bin 의 역할은 CD 로 부팅 할 지 하드 디스크로 부팅할 지를 결정하는 역할을 합니다. Press any key to boot from CD 라는 문구를 출력하고 점을 다섯 개 찍어주죠. 이 역할이 바로 Bootfix.bin 파일의 역할입니다. Bootfix.bin 파일의 역할은 이게 다 입니다. 여기까지가 XP 설치 CD 로의 부팅까지의 과정입니다. 이제 부터는 부팅 후의 과정입니다. (이 경계를 잘 기억하셔야 WOW CD 작업시 왜 그래야 하는지 이해하실 수 있습니다.)


부팅 후 Setupldr.bin 파일에 기록된 위치에서 설치용 파일들을 읽으면서 읽게 되는 굉장한 중요한 파일이 있습니다. 바로 TXTSETUP.SIF 라는 파일입니다. 이 파일이 설치의 가장 핵심이 되는 파일입니다. TXTSETUP.SIF 에는 윈도우 XP 설치에 관한 모든 내용이 기록이 되어 있습니다. i386 폴더에 존재하는 그 수 많은 파일들을 어디로 어떻게 복사할 것인지 이 CD 의 윈도우 버전은 무엇인지 서비스 팩 버전은 무엇인지 모든 것이 기록이 되어 있습니다. 또한 이 파일에는 설치에 필요한 파일들이 위치한 i386 폴더가 어디에 존재하는 지 그 위치가 마찬가지로 기록이 되어 있습니다.

위에서 TXTSETUP.SIF 에는 이 CD 의 윈도우 버전이 무엇인지 서비스 팩 버전이 무엇인지를 판별하는 내용이 기록되어 있다고 했습니다. 그 판별의 역할을 하는 것이 바로 태그 파일이라고 불리우는 파일들입니다. WIN51 이나 WIN51IP 또는 WIN51IP.SP3 와 같은 파일들이 바로 태그 파일입니다. 이 태그 파일의 역할은 해당 CD 가 어떤 버전의 어떤 서비스 팩의 윈도우 설치 CD 인지를 판별하는 역할을 하게 됩니다. 이 태그 파일들은 반드시 CD 의 루트에 위치하고 있어야 합니다. 이 점 기억하고 계시길 바랍니다.

또한 부팅 후 Winnt.sif 파일도 읽게 됩니다. 없다면 기본 설치이고 존재한다면 무인 설치를 진행하게 되죠.


자 여기까지가 부팅 파일을 읽고 부팅 후 설치 화면으로 진입하기까지의 내용입니다. 즉, 지금까지 설명한 모든 내용은 부팅용 파일들의 역할입니다. i386 폴더에는 부팅용 파일들만 있는 것이 아니죠. 바로 실제 설치에 필요한 파일들도 존재를 합니다. 이제 어디에 윈도우를 설치할 지 사용자가 선택을 하게 되면 TXTSETUP.SIF 에 기록된 설치에 필요한 소스 파일들의 폴더로 부터(i386) 필요한 파일들을 하드 디스크로 복사를 하게 됩니다. 그런 후 재부팅하고 하드 디스크로 부팅 본격적인 설치 과정에 들어가게 되는 것이죠.

지금까지의 내용을 이해하셨다면 윈도우 XP 의 설치에는 i386 폴더가 윈도우 설치의 핵심이란 것을 아셨을 겁니다. 그리고 i386 폴더의 역할이 두 가지란 것도 이해하셨을 거라 믿습니다. 부팅을 위해 사용되는 역할과 실제 설치에 필요한 소스 파일들 담고 있는 역할 이렇게 두 가지로 말이죠. 이걸 반드시 기억하고 계셔야 합니다.


이제부터 WOW CD 의 관점에서 이야기해 보도록 하겠습니다. WOW CD 란 여러 버전의 윈도우들을 하나의 CD 에 담는 기술입니다. 그런데 이렇게 여러 버전의 윈도우를 하나의 CD 에 담다보면 필연적으로 부딪힐 수 밖에 없는 문제가 두 가지 있습니다.

첫 째로 도대체 어떤 윈도우 버전으로 부팅을 해야 하는가? 이건 멀티 부팅으로 해결합니다. 멀티 부팅을 꾸미는데에는 많은 툴들이 있지만 글에서는 Diskemu 라는 CD-ROM Disk Emulrator 프로그램을 사용합니다. 이 멀티 부팅을 꾸미는 과정과 어떻게 작동되는지 그 것을 이해하기 위해 굳이 알 필요도 없는 XP 설치 CD 의 부팅 과정을 이야기한 것 입니다.

두 번째로 멀티 부팅을 통해 해당 윈도우로 부팅했다고 친다면 도대체 그 윈도우가 실제로 사용해야하는 i386 폴더는 무엇인가? 이건 위에서 설명드린 내용들을 살펴보면 알겠지만 각 윈도우마다 어떤 i386 폴더를 사용해야할 지 알려주기만 하면 됩니다. 간단하죠? 근데 이게 그렇게 단순한 문제는 아닙니다. (사실 원리를 알면 간단하긴 합니다.)


그럼 뭐가 단순한 문제가 아니란 말이냐? 부팅 과정과 부팅 후에 i386 폴더의 위치를 지정하는 파일들이 몇 가지가 있었습니다. 일단 가장 먼저 부트 섹터에서 i386 폴더를 찾고 부트 섹터에서 읽은 Setupldr.bin 파일이 i386 폴더를 찾고 TXTSETUP.SIF 파일이 i386 폴더를 찾습니다. TXTSETUP.SIF 파일은 텍스트 즉, 아스키 파일입니다. 고로 i386 폴더의 경로를 수정하는 데에 별다른 제약 사항이 없습니다.

하지만 부트 섹터와 Setupldr.bin 파일은 다릅니다. 이미 코딩이 완료된 바이너리 파일입니다. 즉, 사용자가 지 맘대로 i386 폴더의 위치를 바꿀 수 없다는 겁니다. 부트 섹터와 Setupldr.bin 파일에는 i386 폴더를 무조건 CD 의 루트에서 찾도록 코딩이 되어 있습니다. 이걸 우리가 어떻게 바꿀 수는 없습니다. 코딩이 완료되어 있어서 그걸 바꿀 수는 없죠. 하지만 헥스 에디터를 이용하여 i386 이라는 네 글자의 문자는 바꿔줄 수가 있습니다. 단! 한 글자도 밀리면 안 됩니다. i386 폴더가 네 글자이기 때문에 새롭게 지정할 폴더 역시 반드시 네 글자여야만 하는 것이죠. 만약 '왜 네 글자여야만 해? 난 다섯 글자로 할꺼야!!' 라고 하고 다섯 글자를 넣어 버리면 코드들이 한 글자씩 밀려버리거나 코드가 하나 삭제되고 그럼 전혀 다른 파일이 되어 버립니다. 즉, 그 파일은 전혀 쓸모 없는 속된 말로 병신이 되는 겁니다.

"아 그래서 어쩌라고?"

어쩌긴요 잘 해야죠. 아까 위에서 설명 드릴 때 i386 폴더가 두 가지 역할을 한다고 했었죠. 그리고 그 내용을 반드시 기억하고 계시라고 분명 말씀드렸습니다. 일단 부트 섹터와 Setupldr.bin 파일에서 찾는 i386 폴더의 역할은 부팅용 입니다. 그리고 TXTSETUP.SIF 파일에서 찾는 i386 폴더의 역할은 설치 소스용 입니다. 이 두 개의 역할에 따라 아예 그냥 i386 폴더를 두 개로 쪼개버리는 겁니다.

즉, 부트 섹터와 Setupldr.bin 파일이 원하는 i386 폴더의 기능인 부팅용으로 CD 의 루트에 네 글자의 폴더를 하나 생성하고 i386 폴더에서 부팅에 필요한 파일들만 추출해서 해당 폴더에 위치시키는 겁니다. 그리고 부트 섹터와 Setupldr.bin 파일은 해당 폴더를 가르키도록 헥스 에디터를 통해 'i386' 이라는 네 글자만 바꿔주는 것이죠. (이 폴더엔 부팅에 관련된 파일만 들어갑니다.)

그리고 TXTSETUP.SIF 파일이 원하는 i386 폴더를 적당한 폴더에 위치시키는 겁니다. 어라? 그럼 쪼개지 않고 그냥 루트에 i386 폴더의 이름을 바꾸고 TXTSETUP.SIF 파일에서도 해당 폴더를 가르키도록 하면 되지 않느냐? 라고 생각하실 분들 계실겁니다. 절대 안 됩니다. 그 이유는 아래와 같습니다.

TXTSETUP.SIF 에서 지정하는 i386 폴더의 위치는 i386 폴더가 어디에 존재한다는 경로를 지정해주지 i386 폴더 자체를 지정해 주지 않기 때문입니다. 이해가 잘 안 가신다고요? 쉽게 설명드리겠습니다. \A\i386 폴더가 i386 폴더의 경로입니다. 그럼 TXTSERUP.SIF 파일에서는 \A 를 지정해 주는 겁니다. 그럼 \A 폴더에서 i386 폴더를 찾고 결국 설치에 사용되는 소스 파일은 \A\i386 이 되는 겁니다. 아시겠죠?

결국 부트 섹터와 Setupldr.bin 에서는 i386 폴더 자체의 경로를 지정해야 하고 TXTSETUP.SIF 파일에서는 i386 폴더가 어디에 위치해 있는지 그 해당 경로를 지정해야 하는 그 차이 때문에 어쩔 수 없이 i386 폴더를 두 개로 쪼개버린 겁니다.

이렇게 TXTSETUP.SIF 파일에서 사용되는 i386 폴더는 원래의 i386 폴더를 그대로 사용합니다.

결론을 말씀드리자면 설치 원본이 되는 i386 폴더와 해당 원본에서 부팅 파일만 추출한 새로운 이름의 부팅에 사용될 변형 i386 폴더 두 개를 모두 한 CD 에 담고 부트 섹터와 Setupldr.bin, TXTSETUP.SIF 파일을 변경된 경로대로 수정하는 것 입니다.

이 작업을 통합하려는 윈도우들마다 모두 해주게 됩니다. 굉장히 복잡할 것 같죠? 사실 실제로 작업하다 보면 그리 복잡하진 않습니다. 너무 겁먹지 마세요. ^^ 자 그럼 지금까지 설명한 내용을 정리해 드리도록 하겠습니다. 아래의 그림을 참고하시기 바랍니다. 그림이 크니 클릭해서 확대해 보시기 바랍니다.

글에서 제작할 WOW CD 의 대략적인 부팅 과정



이제 이론적인 내용은 모두 아셨습니다. 근데 한 가지 문제가 더 남았습니다.

"아니 그럼 i386 폴더에서 어떤 파일들이 부팅에 사용되는 줄 알고 해당 파일들을 추출한단 말이냐?"

미치고 팔딱 뛸 일이죠. 도대체 어떻게 부팅에 사용되는 파일들을 추출한단 말이냐? 사실 이 문제는 그리 크게 고민할 문제는 아닙니다. i386 폴더에서 추출할 필요도 없습니다. 마이크로소프트 공식 다운로드 센터에서 서비스 팩 2 용 부팅 플로피 이미지 파일을 제공하고 있습니다. 서비스 팩 2 용이지만 서비스 팩 3 에서도 그대로 사용됩니다. 그걸 사용하면 됩니다.

마이크로소프트 제공 공식 한글 XP 용 플로피 부팅 이미지(Professional) 페이지 바로가기 Link!
마이크로소프트 제공 공식 한글 XP 용 플로피 부팅 이미지(Home Edition) 페이지 바로가기 Link!

해당 파일을 다운로드 받으시고 압축을 풀게 되면 6 개의 IMG 플로피 이미지 파일이 나오게 됩니다. 이 IMG 이미지 파일을 다시 WinImage 와 같은 프로그램으로 모튼 파일들을 추출하면 되는 겁니다. 하지만 그대로는 사용할 수 없습니다. 왜냐? 이건 플로피 디스켓으로 부팅하라고 만들어 놓은 것이지 CD 로 부팅하라고 만들어 놓은 것이 아니기 때문입니다. 그래서 CD 용으로 만들기 위해 파일을 두 개 교체해 줘야 합니다. Setupldr.bin 파일과 TXTSETUP.SI_ 두 파일을 삭제하고 윈도우 XP CD 의 i386 폴더에서 Setupldr.bin 파일과 TXTSETUP.SIF 파일을 복사해 넣으면 CD 용으로 바뀌게 됩니다. 이렇게 만든 이 파일들이 부팅용으로 사용될 파일들입니다.

근데 이 작업을 할려면 WinImage 라는 프로그램도 설치해야하고 사실 귀찮습니다. 제가 누굽니까? 쓸 때 없이 친절한 윈티티 운영자입니다. 그래서 Professional 용은 미리 이 작업을 모두 해 놓았습니다. 글에서는 이러한 작업을 마친 부팅용 파일을 제공해 드릴테니 너무 걱정하지 마세요. 이 부분은 부팅용 파일은 이렇게 제작되었다! 라는 것만 아시고 실제 파일은 제가 첨부해 드리는 파일을 이용하시면 되는 겁니다. (Home Edition 을 통합하고자 하시는 분들은 모두 설명드렸으니 알아서 제작하세요. -_-a)

자! 이제 이론적인 설명은 모두 마쳤습니다. 이론이 너무 길어서 읽는데 지치셨죠? 읽는데도 지치시는데 작성한 저는 어쩌겠습니까? 환장합니다. ㅎㅎㅎ;; 이 내용이 잘 이해가 안 되시면 제작 과정을 100% 이해하실 수 없습니다. 그러니 만약 이해가 잘 안 되신다! 그럼 두 번이고 세 번이고 읽어보시고 반드시 이해를 하시고 작업을 따라하시길 바랍니다. 그럼 이제 본격적으로 실제로 WOW CD 를 제작하러 가도록 하겠습니다.








WOW CD 의 제작

그럼 이제 본격적으로 WOW CD 를 제작해 보도록 하겠습니다. 글에서는 한글 Windows XP Professional Volume License Service Pack 3 버전 세 가지를 하나의 CD 로 통합하는 작업을 해 보도록 하겠습니다. 사용되는 윈도우는 우선 원본과 원본을 바탕으로 Winnt.sif 파일만 추가한 자동 설치 버전, 그리고 Winnt.sif 파일과 $OEM$ 배포 폴더까지 추가한 자동 설치 버전 이렇게 세 가지 윈도우를 사용합니다.

이렇게 구성한 이유는 통합 WOW CD 를 제작할 때 추가하는 윈도우 중 무인 설치 응답 파일인 Winnt.sif 파일을 사용하는 윈도우가 있을 때 어떻게 처리하는지 그리고 Winnt.sif 와 함께 Preinstall=Yes 옵션을 사용하여 $OEM$ 배포 폴더까지 사용하는 경우엔 어떻게 처리하는지에 대해서 설명드리기 위함입니다.

그리고 이렇게 세 가지 버전의 윈도우 외에도 많은 분들이 Hiren's BootCD 도 함께 통합하길 원하시는 분들이 계셔서 Hiren's BootCD 9.5 버전을 기준으로 함께 통합하는 방법에 대해서 이야기하도록 하겠습니다.

원본 윈도우들은 절대 제가 제공해 드리지 않습니다. 원본 윈도우는 알아서 준비하시기 바랍니다.(쪽지로 보내달라고 하지 마십시요.) 이 글을 작성하고 있는 게시판에서 서비스 팩을 통합하는 방법부터 무인 설치 응답 파일을 제작하는 방법까지 모두 설명드렸기 때문에 원본 윈도우 XP 설치 CD 만 가지고 계신다면 어려움없이 제작하실 수 있으실 겁니다. 뭐... 이론적인 부분만 이해하셨다면 어떤 윈도우든 여러분들이 알아서 통합하실 수 있으실 겁니다. 그럼 시작합니다.


일단 헥스 편집이 가능한 에디터가 필요합니다. 무료 프로그램을 이용해 보려고 했는데 제가 찾은 프로그램에서는 헥스 편집에 문제가 조금 있더군요. 그래서 범용적으로 가장 널리 사용되는 에디터 중 하나이며 처음 접하시는 분들도 큰 어려움 없이 접근할 수 있는 에디터로 Ultra Editor 를 골랐습니다. 전문적으로 헥스를 편집하는 에디터도 많지만 Ultra Editor 정도면 충분할 것 같습니다. 버전은 최신 버전은 아닙니다. ^^; 링크 1 으로 들어가신 후 다운로드 받으시길 바랍니다.


Ultra Editor 11 한글 버전 다운로드 : http://www.mediafire.com/?wlmmzmmmzdz


그럼 Ultra Editor 를 설치완료 했다는 가정하에 작업을 진행해 나가도록 하겠습니다. 저는 모든 작업을 D: 를 기준으로 작업하도록 하겠습니다.

그럼 제가 하려는 작업과 폴더의 역할에 대해서 간단히 설명드리도록 하겠습니다. 일단 제가 통합하려고 하는 것은 윈도우 Professional 버전 세 가지 입니다.(일반 설치 버전, 무인 설치 1 버전, 무인 설치 2 버전) 가장 먼저 D: 의 루트에 WOW 라는 폴더를 생성할 겁니다. 이 WOW 폴더가 생성할 CD 이미지의 루트가 됩니다.

다음으로 WOW 폴더 아래에 네 글자를 가진 세 개의 폴더를 생성할 것입니다. 이 폴더들이 부팅 파일들을 복사해 둘 부팅용 i386 폴더의 역할을 할 것입니다.

이제 이 세 폴더 외에 3IN1 이라는 폴더를 하나 생성할 것입니다. 이 3IN1 이라는 폴더의 역할은 각각의 윈도우들의 원본을 복사할 폴더 들입니다. 마찬가지로 3IN1 폴더에는 세 가지 버전의 윈도우의 원본을 담기 위해 다섯 글자로 이루어진 폴더 세 개를 생성할 것입니다. 이름이 다섯 글자인 것은 작업 중 루트의 부팅용 네 글자 윈도우들과 헷갈리지 않게 하기위해서입니다. 이 폴더들이 바로 소스 역할을 하는 실제 윈도우 설치 파일들입니다.

제가 지금 하려는 작업에 대해서 충분히 숙지하셨죠? 그럼 일단 아래의 두 파일을 다운로드 받으신 후 D: 의 루트에 준비시켜 놓으시기 바랍니다. 그리고 통합할 윈도우 XP CD 를 CD-ROM 에 장착하시길 바랍니다.(가장 먼저 일반 설치 버전) 그런 후 다음의 과정을 따라합니다.






첨부 파일을 D: 의 루트에 다운로드 받습니다.

그리고 WOW 라는 작업 폴더를 만들고 WOW 폴더 아래에 화면 스크린 샷의 구조와 같이 폴더를 생성합니다.

※ 글에서는 3 가지의 윈도우 Professional 버전을 통합하고 있습니다.
일반 설치 버전의 윈도우 CD 의 모든 내용을 생성해둔 소스 폴더인 3IN1 폴더의 WXPKG 폴더로 모두 복사합니다.

※ XPKG, WXPKG 는 일반 설치 버전 윈도우를 의미합니다.
파일들을 모두 소스 폴더로 복사한 모습입니다.
시작 -> 실행 -> cmd 를 실행하여 명령 프롬프트를 띄운 후 D: 로 이동합니다. 그런 후 D: 의 루트에서 다음의 명령을 내려줍니다.

bbie f:

※ 이 때 f: 드라이브는 CD-ROM 드라이브의 문자입니다.
D: 의 루트에 image1.bin 파일이 생성된 것을 확인합니다.

※ 이 파일이 바로 XP 의 부트 섹터 입니다.
image1.bin 파일을 복사해 총 세 개로 만들어 줍니다.

※ 정석대로 한다면 각각의 윈도우 설치 CD 마다 bbie 를 통해 부트 섹터를 추출해야하지만 모든 윈도우 XP 버전의 부트 섹터는 동일합니다. 그러니 굳이 CD 마다 추출할 필요 없이 이렇게 일반 설치 버전의 부트 섹터를 복사하여 이용해도 아무런 문제 없습니다.
부트 섹터들의 이름을 알맞게 변경해 줍니다. 저는 작업 도중 헷갈리지 않게 하기 위해 부팅용 파일들을 담을 폴더의 이름과 동일하게 변경하였습니다. (XPKG.bin, XPU1.bin, XPU2.bin)
이름을 알맞게 수정한 부트 섹터 파일들을 WOW 폴더로 옮겨줍니다.
이제 두 번째 윈도우인 무인 설치 1 버전 윈도우 CD 를 CD-ROM 에 넣습니다.

그리고 아까와 마찬가지로 무인 설치 1 버전의 윈도우 CD 의 모든 내용을 생성해둔 소스 폴더인 3IN1 폴더의 WXPU1 폴더로 모두 복사합니다.

※ XPU1, WXPU1 은 무인 설치 1 버전 윈도우를 의미합니다.
마지막으로 세 번째 윈도우인 무인 설치 2 버전 윈도우 CD 를 CD-ROM 에 넣습니다.

그리고 아까와 마찬가지로 무인 설치 2 버전의 윈도우 CD 의 모든 내용을 생성해둔 소스 폴더인 3IN1 폴더의 WXPU2 폴더로 모두 복사합니다.

※ XPU2, WXPU2 는 무인 설치 2 버전 윈도우를 의미합니다.



이제 통합하려는 세 가지 윈도우인 일반 설치 버전 윈도우(XPKG), 무인 설치 1 버전 윈도우(XPU1), 무인 설치 2 버전 윈도우(XPU2) 의 소스 파일을 복사하고 부트 섹터를 추출하여 CD 의 루트에 위치시키는 것 까지 모두 마쳤습니다.

이제 다음으로 각각의 윈도우 버전을 판별하는 기준이 되는 태그 파일을 루트에 위치시켜야 합니다. 다음의 세 화면 스크린 샷을 참고하면서 설명드리도록 하겠습니다.

[각각의 윈도우 버전의 태그 파일들]
원본 설치 버전 무인 설치 1 버전 무인 설치 2 버전



태그 파일 중 WIN51 은 윈도우 XP 를 의미하는 태그 파일로 모든 윈도우 XP 버전에 동일하게 존재하는 같은 파일입니다. 이 파일은 어떤 버전의 윈도우 XP 를 통합하더라도 모두 공통으로 사용하는 파일이니 아무 윈도우 버전에서나 복사하여 루트에(글에선 WOW) 위치시키면 됩니다.

WIN51IP 는 이 CD 가 Professional 버전임을 의미하며 WIN51IP.SP3 는 Professional 버전 중 Service Pack 3 버전임을 의미합니다. 이 파일들은 Home Edition 과 Professional 버전의 파일 이름이 서로 다릅니다. 이 파일은 각각의 윈도우에서 모두 루트로 복사해야 합니다. (중복되는 파일은 같은 파일이니 하나만 복사하면 됩니다.)

결국 글에서는 세 가지 윈도우 모두 WIN51IP, WIN51IP.SP3 로 동일한 버전이기 때문에 공통으로 사용할 수 있습니다. 그러니 세 윈도우 중 아무 윈도우에서 그냥 파일들을 루트로 복사하면 되는 겁니다.

아주 쉽게 생각하시면 윈도우마다 태그 파일이 있는데 이름이 같은거면 함께 사용할 수 있으니 하나만 복사하고 이름이 다르면 서로 각자에 맞는 태그 파일을 사용해야 하므로 각각 모두 복사해 주어야 하는 겁니다.

정 무슨 말인지 몰라서 어려우시다면 각각의 윈도우에서 소스 폴더의 루트에 존재하는 WIN51 로 시작하는 모든 파일을 CD 의 루트가 될 폴더로 차례 차례 복사하는 겁니다. 그러면 중복 파일이라고 덮어씌우시겠습니까? 라고 물을 때 그냥 예 하면 중복된 파일 중복되지 않은 파일 모두 CD 의 루트가 될 폴더로 복사가 되겠죠?

소스 폴더에 복사해 둔 파일 중 태그 파일들을 WOW 폴더로 복사합니다.

※ 글에서는 3 가지의 윈도우 모두 같은 종류의 윈도우이니 사용되는 태그 파일들 또한 모두 동일합니다. 만약 Home Edition 과 Professional 같이 윈도우의 종류가 다르다면 이 태그 파일 역시 그에 맞게 갯수가 늘어나겠죠?



이제 소스 파일과 부트 섹터 파일 그리고 태그 파일의 준비는 모두 마쳤습니다. 그럼 다음으로 부팅용 파일을 복사해야 합니다. 아까 이론 부분에서 제가 어떻게 만드는지 모두 설명드렸습니다. 그리고 여러분들이 복잡하게 만드실 필요없이 제가 미리 제작하여 제공해 드린다고 했었죠? 아래의 뼈대 파일을 다운로드 받으신 후 압축을 푸시고 다음의 과정을 따라합니다.






다운로드 받은 부팅 파일의 압축을 푼 모습입니다. 이 파일을 모두 미리 생성한 부팅용 폴더로 복사해 줍니다.
원본 설치 버전의 부팅용 폴더인 XPKG 폴더로 부팅 파일을 모두 복사한 모습입니다.
무인 설치 1 버전의 부팅용 폴더인 XPU1 폴더로 부팅 파일을 모두 복사한 모습입니다.

무인 설치 2 버전의 부팅용 폴더인 XPU2 폴더로 부팅 파일을 모두 복사한 모습입니다.




자 이제 모든 준비를 마쳤습니다. 이제 각각의 윈도우에 맞게 부트 섹터와 Setupldr.bin 파일 그리고 TXTSETUP.SIF 파일을 수정해 줄 차례입니다. 왜 수정해야 하는지 어떻게 수정해야하는지는 모두 이론 부분에서 설명을 마쳤습니다. 그러니 작업에선 자세한 설명은 생략한채 과정만 이야기합니다. 현재 글에서는 세 가지 버전의 윈도우를 통합하고 있으니 세 번의 작업을 해야 합니다. 이제 Ultra Editor 가 빛을 발할 차례입니다. 다음을 따라합니다.

※ 어떻게 수정이 이루어지는지 보여드리기 위해 바꾸기가 아닌 찾기 후 직접 수정하는 방법으로 작업합니다.

XPKG.bin 파일을 마우스 우클릭한 후 UltraEdit-32 항목을 선택합니다.
키보드의 [Ctrl + F] 키를 눌러 찾기를 실행합니다.

찾는 말에 i386 을 입력합니다.

ASCII 찾기를 체크해 줍니다.

다음 찾기 버튼을 클릭합니다.
I386 문자열을 찾은 모습입니다.

이 I386 을 일반 설치 버전의 부팅 폴더인 XPKG 로 수정해 줍니다.

메뉴 -> 파일 -> 저장을 통해 수정된 내용을 저장합니다.

 
무인 설치 1 버전용 부트 섹터인 XPU1.bin 파일도 동일한 방법으로 수정한 후 저장합니다. (I386 -> XPU1)

 
무인 설치 2 버전용 부트 섹터인 XPU2.bin 파일도 동일한 방법으로 수정한 후 저장합니다. (I386 -> XPU2)




어떻습니까? 간단하죠? 이제 부팅 폴더의 Setupldr.bin 파일과 TXTSETUP.SIF 파일을 수정해 줄 차례입니다. 다음의 과정을 따라합니다.

XPKG 폴더의 Setupldr.bin 파일을 마우스 우클릭한 후 UltraEdit-32 항목을 선택합니다.
키보드의 [Ctrl + R] 키를 눌러 바꾸기를 실행합니다.

찾는 말에 i386 을 입력합니다.

바꿀 말에 일반 설치 버전의 부팅 폴더인 XPKG 를 입력합니다.

ASCII 찾기를 체크해 줍니다.

모두 바꾸기 버튼을 클릭합니다.
4 개의 항목이 바뀌게 됩니다.

예 버튼을 클릭합니다.

메뉴 -> 파일 -> 저장을 통해 수정된 파일을 저장합니다.

동일한 폴더의 TXTSETUP.SIF 파일을 메모장을 통해 열어줍니다.

키보드의 [Ctrl + F] 키를 눌러 찾기를 실행합니다.

찾을 내용에 SetupSourcePath 를 입력합니다.

다음 찾기 버튼을 클릭합니다.

SetupSourcePath = "\" 문구를 찾으실 수 있습니다. 이 경로를 소스 폴더로 수정해 주어야 합니다.

일반 설치 버전의 소스 폴더인 \3IN1\WXPKG 폴더로 수정해 줍니다.

메뉴 -> 파일 -> 저장을 통해 수정된 내용을 저장합니다.

 
무인 설치 1 버전 용인 XPU1 폴더의 Setupldr.bin 파일도 동일한 방법으로 수정해 줍니다. (i386 -> XPU1)

무인 설치 1 버전 용인 XPU1 폴더의 TXTSETUP.SIF 파일도 동일한 방법으로 수정해 줍니다.(\ -> \3IN1\WXPU1)

 
무인 설치 2 버전 용인 XPU2 폴더의 Setupldr.bin 파일도 동일한 방법으로 수정해 줍니다. (i386 -> XPU2)

무인 설치 2 버전 용인 XPU2 폴더의 TXTSETUP.SIF 파일도 동일한 방법으로 수정해 줍니다.(\ -> \3IN1\WXPU2)




자 이제 필요한 모든 파일의 수정을 마쳤습니다. 이제 이 상태로 멀티 부팅 환경만 꾸미면 모든 작업이 완료되게 됩니다. 하지만!! 글에서는 일반 설치 버전 뿐만 아니라 무인 설치 버전도 통합을 하고 있죠? 일반 버전뿐만 아니라 무인 설치 버전을 두 개나 준비해서 통합한 이유가 있습니다. 지금부터 그걸 설명드리도록 하겠습니다.


무인 설치 버전이라는 것은 Winnt.sif 파일을 i386 폴더에 추가해 준 것을 의미합니다. 그래서 이 Wintt.sif 파일을 통해 윈도우를 자동으로 설치하게 되는 것이죠. 한 가지 질문 드리겠습니다. Winnt.sif 파일은 부팅 과정에서 읽을까요? 아니면 설치 과정에서 읽을까요?

정답은 부팅 과정에서 읽는다! 입니다. 그래서 현재 이 상태로 멀티 부팅을 꾸미고 WOW CD 를 제작하게 되면 무인 설치가 작동을 하지 않게 되는 것이죠! 그래서 Winnt.sif 파일을 포함하고 있는 무인 설치 버전의 윈도우를 통합할 때에는 반드시 소스 폴더의 i386 폴더에 위치해 있는 Winnt.sif 파일을 해당 윈도우의 부팅 폴더로 복사를 해 주어야 하는 겁니다. 첫 번째로 이걸 설명드리기 위해 무인 설치 버전을 골라서 통합했습니다. 작업과정은 다음과 같습니다. (글에서는 무인 설치 1 버전과 2 버전 모두에 해당합니다.)

WXPU1 폴더의 i386 폴더에 존재하는 Winnt.sif 파일을 해당 윈도우의 부팅 폴더로 복사해 줍니다. (XPU1)
부팅 폴더로 Winnt.sif 파일의 복사를 마친 모습입니다. 이렇게 해 주어야 정상적으로 무인 설치가 진행됩니다.



자 이제 무인 설치 1 버전은 모든 작업을 마쳤습니다. 이제 무인 설치 2 버전이 남았죠? 무인 설치 2 버전은 무인 설치와 함께 Preinstall=Yes 를 통해 배포 폴더인 $OEM$ 폴더를 사용하는 무인 설치 버전입니다.

아~ 이 녀석을 어찌해야 하나요?



이런 경우 Winnt.sif 파일을 무작정 부팅 폴더로 복사하기만 해서는 안됩니다. 그걸 설명드리기 위해 배포 폴더를 사용하는 무인 설치 버전을 통합에 추가한 것입니다. 이제 설명 들어갑니다.

$OEM$ 폴더는 원래 정상적이라면 CD 의 루트에 위치해야 합니다. 근데 WOW CD 를 제작하게 되면 어쩔 수 없이 이 $OEM$ 폴더가 소스 폴더 아래로 들어갈 수 밖에 없습니다. 어떻게 해야할까요? 이를 해결하기 위해서 무인 설치 응답 파일에는 OemFilesPath 라는 옵션이 존재합니다. 바로 $OEM$ 폴더가 CD 의 루트에 존재할 수 없을 때 $OEM$ 폴더의 정확한 위치를 알려주는 역할을 하게 됩니다. 자 그럼 이제 답 나왔죠? 다음 과정을 따라합니다.

WXPU2 폴더의 i386 폴더에 존재하는 Winnt.sif 파일을 메모장으로 열어줍니다.
Preinstall=Yes 항목이 보입니다. $OEM$ 배포 폴더를 사용하겠다는 옵션이죠. 이 항목의 아래에 새로운 항목을 하나 더 추가해 주어야 합니다.
다음의 항목을 추가해 줍니다.

OemFilesPath="..\3IN1\WXPU2\$OEM$"


※ 경로는 해당 윈도우에서 사용할 배포 폴더의 경로를 $OEM$ 폴더까지 포함하여 정확하게 입력해 줍니다.
메뉴 -> 파일 -> 저장을 통해 수정된 내용을 저장합니다.
수정을 마친 Winnt.sif 파일을 해당 윈도우의 부팅 폴더로 복사해 줍니다. (XPU2)
부팅 폴더로 Winnt.sif 파일의 복사를 마친 모습입니다. 이렇게 해 주어야 정상적으로 무인 설치가 진행되고 배포 폴더가 작동합니다.



이제 무인 설치 응답 파일까지 모두 처리를 마쳤으니 윈도우에 관한 모든 과정을 마쳤습니다. 저는 여기에 많은 분들이 원하시는 Hiren's BootCD 까지 통합한다고 했었죠? Hiren's BootCD 를 통합하는 것은 그리 어려운 작업이 아닙니다. Hiren's BootCD 의 모든 파일을 WOW 폴더로 복사하고 윈도우때와 마찬가지로 부트 섹터만 추출하시면 됩니다. Hiren's BootCD 를 CD-ROM 에 넣으신 후 다음의 과정을 따라합니다.

Hiren's BootCD 의 모든 파일을 WOW 폴더로 복사해 줍니다.
파일을 정상적으로 복사한 모습입니다.
이제 Hiren's BootCD 가 장착된 상태에서 명령 프롬프트를 띄우고 D: 의 루트에서 다음의 명령을 내려줍니다.

bbie f:

※ 이 때 f: 드라이브는 CD-ROM 드라이브의 문자입니다.
D: 드라이브의 루트에 image1.bin 파일이 생성된 모습입니다.
어떤 CD 의 부트 섹터인지 관리하기 편하게 이름을 수정해 줍니다.

글에서는 Hiren.bin 으로 수정하도록 하겠습니다.
Hiren.bin 파일을 WOW 폴더로 복사합니다.



자 이제 정말로 윈도우들의 수정 및 무인 설치 응답 파일의 적용 그리고 추가 CD 로 Hiren's BootCD 까지 모든 과정을 마쳤습니다. 이제 각각의 버전으로 부팅할 수 있게 멀티 부팅 환경을 꾸미고 CD 이미지를 생성하는 작업만 남았습니다.

멀티 부팅 환경을 꾸미는데에는 다양한 툴이 사용되고 있습니다. 요즘은 화려한 그래픽 모드를 지원하는 것이 대세인 것 같더군요. 저는 그런 화려한 것을 그닥 좋아하는 성격은 아닙니다. 그래서 그런 것에 관심을 두지 않아 알지도 못합니다. -_-; 텍스트로 표현해 주던 그래픽으로 표현해 주던 사용에 불편이 없고 만들기 쉽고 접근하기 쉬운 툴을 좋아하는 편입니다. 그래서 글에서 사용하는 툴은 오랜 시간 사용되어 온 텍스트 기반 멀티 부팅 툴인 Diskemu 라는 CD-ROM Disk Emulator 를 사용하도록 하겠습니다. 뭐 다른 멀티 부팅 툴을 사용하실 분들은 알아서 배우시길 바랍니다. -_-a 글에서는 이 녀석을 사용할 겁니다. 아래 파일을 다운로드 받으셔서 압축을 푸신 후 다음의 과정을 따라합니다.






다운로드 받은 파일의 압축을 풀면 세 개의 파일이 나오게 됩니다. 그 중에서 DISKEM1X.BIN 파일과 DISKEMU.CMD 파일을 WOW 폴더로 복사해 줍니다.
두 파일을 WOW 폴더로 복사한 모습입니다.

※ 주 1 - DISKEMU.CMD 파일이 멀티 부팅 메뉴를 수정하는 파일입니다.
남은 한 개의 파일인 LOADER.BIN 파일을 D: 드라이브의 루트로 복사 합니다.



자 이제 멀티 부팅을 꾸미는 것 까지 모두 마쳤습니다. 네? 아무런 작업도 안 했는데 벌써 마쳤다니까 이상하다구요? 멀티 부팅을 꾸미는데에는 Diskemu.cmd 파일을 수정해야 합니다. 근데 이걸 또 바로 설명드린다는 게 흐름상 굉장히 뭐 합니다. -_-; 사실 조금 깁니다. 그래서 각주에서 Diskemu.cmd 파일에 대해서 알려드리는 것으로 하고 바로 CD 이미지 제작으로 넘어가도록 하겠습니다.

자 이제 여러분들이 각주의 내용을 충분히 숙지하고 Diskemu.cmd 파일까지 자신에게 맞게 수정했다고 치고 바로 CD 이미지를 제작해 보도록 하겠습니다. 다음의 과정을 따라합니다.

명령 프롬프트를 실행한 후 D: 드라이브의 루트로 이동하여 다음의 명령을 내려줍니다.

oscdimg -lWOW_XP -bloader.bin -h -n -m -o d:\wow d:\WindowsXP_WOW.ISO

※ -l 은 CD 의 볼륨 레이블을 d:\WindowsXP_WOW.ISO 는 생성될 ISO 이미지의 파일 이름을 의미합니다. 여러분이 원하시는대로 알맞게 수정하시면 됩니다.
CD 이미지 생성 중 통합하는 과정에서 이와같이 파일이 다르다는 경고 메시지가 뜨게 됩니다. 이게 뜨는 게 당연한 겁니다.

왜냐하면 원래 동일한 파일이었지만 우리가 Ultra Editor 를 통해서 Hex 값을 수정했었죠? 그래서 다른 파일이 된 겁니다. 그러니 해당 파일들은 하나로 통합되지 않고 각각 실제 파일로 존재하게 되는 겁니다. 이건 당연한 겁니다~!
생성된 WOW CD 이미지 파일의 모습입니다. 이제 레코딩 프로그램을 이용하여 해당 이미지 파일을 CD 로 구으시기만 하시면 됩니다. 수고 많으셨습니다.



그럼 한 번 원본과 생성된 CD 이미지의 용량을 비교해 볼까요?

와우~! 용량이 이렇게나 줄어들었습니다! 그래서 WOW CD 일까요? ㅎㅎㅎ 농담입니다. -_-a



어떻습니까? OSCDIMG 의 -O 옵션을 통해 중복 파일을 하나로 통합 처리하니 이렇게 용량이 1.92GB -> 721MB 로 줄어들게 되었습니다. 만약 윈도우 세 개 뿐만 아니라 다섯 개 여섯 개를 통합한다면 이 용량의 격차는 더 벌어지게 되겠죠? 어떻습니까? WOW CD 좋죠?

근데 지금 제작한 CD 이미지는 721MB 로 700MB 짜리 공 CD 한 장에 들어갈 수 없는 용량입니다. 윈도우만 통합 했다면 아무런 문제 없지만 Hiren's BootCD 까지 통합하는 바람에 용량이 오버된 것이죠. Hiren's BootCD 의 용량이 95MB 정도 합니다. 이게 컸죠. 이건 오버 버닝으로도 해결하기가 참 난감한 사이즈네요.

그럼 이럴 땐 어떻게 해야 할까요? 정녕 Hiren's BootCD 를 함께 통합하는 것을 포기해야만 하는 걸까요? 아니면 미친 척하고 DVD 로 넘어가야 하는 걸까요?

답은 있습니다. 사실 윈도우 CD 에서 실제로 윈도우를 설치하는데에 필요한 파일들은 i386 폴더 뿐입니다. 나머지 폴더들은 모두 추가로 여러가지 툴 및 문서들이 들어있는 폴더들일 뿐이죠. 이 파일들은 사실 설치에는 필요가 없는 녀석들입니다. 그래서 WOW CD 를 제작할 때 윈도우 말고 여러가지 유틸을 넣으시는 분들은 다음의 작업 과정을 거친 후 CD 이미지를 제작하곤 합니다.

사실 이 폴더들은 설치에 전혀 필요 없는 파일들입니다. 오직 i386 폴더만이 설치에 사용됩니다.
그래서~! i386 폴더를 제외한 나머지 폴더들은 과감하게 모두 지워줍니다. 나머지 윈도우들에서도 동일하게 작업해 줍니다. (그렇다고 $OEM$ 폴더까지 지워버리시면 안 됩니다. ^^; 혹시나 해서...)
필요 없는 파일들을 정리하고 난 후 새롭게 생성한 CD 이미지의 용량을 확인한 모습입니다. 670MB 로 확~! 줄었네요. 무려 30MB 가 남았습니다. 이제 뭘 더 넣을지 고민해야겠네요. ^^;



어떻습니까? WOW CD 를 만드는 것에 대해서 모든 설명을 마쳤습니다. 이제 여러분들도 자신만의 WOW CD 를 만드실 수 있으시겠죠? 긴 글 읽으시느라 수고가 많으셨습니다.








각주

Diskemu 에서 멀티 부팅 메뉴를 담당하는 파일이 바로 Diskemu.cmd 파일입니다. 강좌에서 제공해 드린 파일의 내용을 살펴보면서 간단한 사용 법에 대해 알려드리도록 하겠습니다.

:start
cls
print
print ==============================================================================
print Microsoft Windows XP Wow 3in1 Bootable CD Main Menu
print ==============================================================================
print
print 1) Microsoft Windows XP Professional Volume License Korean SP3
print 2) Microsoft Windows XP Professional Volume License Korean SP3 - Unattend 1
print 3) Microsoft Windows XP Professional Volume License Korean SP3 - Unattend 2
print
print ----------------------------------------------------
print
print 4) Hiren's BootCD 9.5 Boot
print
print ----------------------------------------------------
print
print q) Quit to command prompt
print r) Reboot
print h) Boot Hard Disk
print
print ----------------------------------------------------
print
print www.WinTT.net - Shin Hee Don -
print ==============================================================================
print
print Hit the key of choice:
:mainkey
; timeout is 10 seconds, default key is H
getkey 10 h
onkey 1 goto XPKG
onkey 2 goto XPU1
onkey 3 goto XPU2
onkey 4 goto Hiren
onkey q quit
onkey r reboot
onkey h boot 80
; When no key found...
goto mainkey
;
:XPKG
cls
run XPKG.BIN
getkey
goto start
;
:XPU1
cls
run XPU1.BIN
getkey
goto start
;
:XPU2
cls
run XPU2.BIN
getkey
goto start
;
:Hiren
cls
run Hiren.BIN
getkey
goto start




도스의 기본 배치 파일인 BAT 파일이나 윈도우용인 CMD 파일을 제작하실 줄 아시는 분들이면 그리 크게 어려운 내용은 없으실 겁니다. 방식이 거의 비슷하기 때문이죠.


print 는 화면에 표시함을 의미합니다. 즉, 도스나 윈도우용의 echo 와 100% 동일한 명령어입니다.


getkey 는 사용자가 키를 입력하는 것을 기다리는 것 입니다.

getkey 10 h -> 는 사용자가 키를 입력하기까지 10 초를 기다리면서 10 초 후 h 키를 입력 받음을 의미합니다.


onkey 는 해당하는 키가 눌러졌을 경우 명령을 수행합니다. 키의 이름은 키보드의 그 이름과 동일합니다.

onkey 1 goto XPKG -> 키보드의 1 을 눌렀을 경우 goto XPKG 즉, XPKG 레이블로 점프(이동)함을 의미합니다.
onkey r reboot -> 키보드의 r 을 눌렀을 경우 reboot 즉, 재부팅 함을 의미합니다.


boot 는 해당 숫자의 디스크로 부팅함을 의미합니다.

boot 0 -> 플로피 디스크로 부팅
boot 80 -> 하드 디스크로(C:) 부팅


reboot 는 재부팅함을 의미합니다.


run 은 이미지를 실행합니다. (해당 이미지가 부팅 이미지일 경우 부팅)

run XPKG.BIN -> XPKG.BIN 이미지를 실행합니다.
run DOS.IMG -> DOS.IMG 이미지를 실행합니다. (IMG 는 플로피 부팅 이미지 파일입니다.)


cls 는 화면을 깨끗하게 지우는 것을 의미합니다. 도스 및 명령 프롬프트의 그것과 동일합니다.

; 는 주석을 의미합니다.


자 이제 Diskemu.cmd 에서 사용되는 주요 명령어들에 대해서 모두 아셨죠? 어떻습니까? 굉장히 쉽죠? 여러분들도 충분히 자신에게 맞게 내용을 수정하실 수 있을거라고 믿습니다.

참고로 Diskemu 는 플로피 이미지 파일인 IMG 파일도 지원을 합니다. 즉, 도스용 플로피 부팅 이미지 파일을 작성하셔서 WOW CD 에 추가하신 후 Diskemu 에서 해당 파일을 읽게끔 메뉴를 작성하시면 도스로도 부팅할 수 있는 겁니다. 응용하기에 따라 굉장히 다양한 도스용 프로그램을 지원하는 멀티 부팅 메뉴를 만들 수 있겠죠? 그럼 잘 사용하시길 바랍니다.
: