온라인 IT미디어 pcBee입니다.
Microsoft Windows WOW CD Maker Manual

개 요


이 문서는 Microsoft사의 Windows 및 기타 동일 빌드번호의 여러가지 버전의 제품을 한장의 CD에 담는 기술을 설명한 문서입니다. 이 문서에서는 Windows NT의 3가지 버전인 Windows 2000 Professional, Server, Advanced Server 버전을 CD-ROM 한장에 담을 수 있게 만들어 주는 것을 기반으로 제작하였습니다.

각 제품의 용량은 대략 600MB 내외이며 완성된 CD 한장의 용량은 Windows 탐색기 기준으로 1.2기가 바이트에 달합니다. 하지만 레코딩은 650메가 CD-ROM 한장으로 가능하게 됩니다.

이 기술로는 동일빌드의 제품에서 여러가지 버전으로 나뉘어진 제품에는 모두 적용이 가능하게 됩니다. 기타 제품은 이 매뉴얼을 숙지한 후에 개인이 제작함에 어려움이 없으리라 생각하고 Windows NT WoW CD를 기준으로 작성하겠습니다.

이 기술의 핵심은 Microsoft사의 CD배포툴인 oscdimg.exe(74KB) 파일의 위력이며, 나머지는 Windows 2000 부팅 CD의 원리에 따라 제작되는 것입니다.

이 문서는 반드시 Windows NT 계열 운영체제에서 작업하시기 바랍니다. Windows 9x 계열의 운영체제에서는 이 작업을 하실 수가 없습니다.


원 리


CDFS라는 CD-ROM 파일구조에서 약간의 변형을 가하는 작업입니다. 보통 파일시스템에서는 검색의 효율성을 감안해서 인덱스구조로서 파일을 관리하게 됩니다.

"인덱스+실제 데이터"의 방식으로 운용하게 되는데, 이런 인덱스의 내용에는 파일명과 여러가지 속성(변경날짜, 일반파일, 시스템파일 등), 그리고 실제 데이터가 저장된 위치를 가리키는 포인터로 구성됩니다.

물리적인 하드디스크는 실린더, 헤드, 섹터라는 구조로서 데이터를 읽기/쓰기 헤드를 움직여서 데이터를 읽어들이던지 쓰기작업을 하게 됩니다. 하지만 운영체제에서는 이 방식으로 하게 되면 효율성이 떨어지게 되고 운영체제 자체의 독창성이 ?어지는 이유로서 운영체제가 인식하는 단위로 작업하게 됩니다. 이 경우 Microsoft에서는 Cluster라는 단위로 작동하게 됩니다. 실제 물리섹터 몇 개를 모아서 한 개의 Cluster를 구성하게 됩니다.

파일시스템의 색인부분에는 파일의 위치정보에 이 클러스터의 번호를 추적하게 되어 있습니다. 시작 클러스터 번호+다음 클러스터 번호 와 같은 방식으로 이루어지게 되며, 파일의 마지막에 다다를 경우는 마지막이라는 표시를 해서 파일을 관리하게 됩니다.

파 일 명 시작 클러스터 번호 다음 클러스터 번호

CDFS라는 CD파일시스템 역시 이런 방식을 따르게 됩니다.

oscdimg.exe 프로그램은 CD-ROM Premastering Utility입니다. 파일시스템을 기초로 해서 CD-ROM 파일구조인 ISO파일을 생성해 줍니다.

이 프로그램으로 Windows 설치CD와 각종 제품 CD를 제작하게 됩니다. oscdimg 프로그램의 옵션중에서 특이한 점은 바로 Microsoft사 내부적으로만 사용하기 위해 제작된 것이며, 제작하기 쉽다는 장점이 있습니다. ISO파일을 작성하는 유틸리티는 많지만 이 프로그램은 Microsoft사의 CD-ROM 방식(부팅방식 포함)만을 따르게 됩니다. Windows 9X 계열과 Windows NT기반의 운영체제 CD를 다시 재가공할 때도 역시 이 프로그램을 사용하게 됩니다.

이 문서는 WoW CD제작에 초점이 맞추어져 있으므로 눈여겨 볼만한 옵션인 oscdimg -o 옵션을 설명하겠습니다.

위에서 설명했듯이 CDFS(CDrom FileSystem)를 ISO방식으로 제작시에 위와 같은 옵션을 주게되면 파일인덱스에 링크라는 것을 생성하게 됩니다. 즉 5가지 제품에서 공통적으로 사용되는 파일들의 인덱스 부분을 수정하게 됩니다.

세가지 제품 각각 Windows 2000 기반이라는 사실이 있게 되고, 각 버전별로 따로 몇가지 기능을 추가하게 됩니다. 그래서 Windows 2000 기반 파일들은 같은 파일을 사용하게 됩니다.

예를 들어서 각 제품의 i386 폴더에는 Drivers.cab라는 파일들이 있습니다. 각 파일의 대략적인 사이즈는 57메가 정도 됩니다. 이 파일 3가지만 모아도 벌써 170MB를 차지하게 됩니다. oscdimg 프로그램의 -o 옵션은 이것을 수정합니다. 즉 실제파일은 (Drivers.cab) 한 개만 사용하면 나머지 두파일의 실제 데이터는 추가하지 않습니다. 그리고 다른 두제품에서 이 파일에 액세스를 하게될 경우에는 실제 존재하는 Drivers.cab 파일의 인덱스와 동일한 포인터를 가지게 만듭니다. 실제파일 한 개에 여러 개의 포인터를 가지게 만드는 것입니다.

Professional Version의 i386Drivers.cab 파일의 인덱스 내용
Drivers.cab 2578000 3248020

Server Version의 i386Drivers.cab 파일의 인덱스 내용
Drivers.cab 2578000 3248020

Advanced Server Version의 i386Drivers.cab 파일의 인덱스 내용
Drivers.cab 2578000 3248020

위와 같이 3개 파일은 동일한 위치를 참조하게 수정하는 것입니다.

이로 인해서 Windows 탐색기에서 용량정보를 보게되면 171MB 라고 나오게 되지만 실제 기록된 것은 57MB가 되므로 WoW CD는 650MB CD에 기록 가능하게 된 것입니다.

방금 설명한 이론은 간단한 원리일 뿐입니다. 이와 같은 방식으로 작동한다는 것만 알아두시기 바랍니다. 실제는 더 복잡한 경로를 따르게 됩니다.

파일명만 같다고 한 개의 링크만 주게 된다면 그렇게 해서 설치한 Windows 는 작동하지 않을 것입니다. 즉, 열개의 다른 파일을 모두 같은 이름으로 준후에 oscdimg -o 옵션을 주고 iso파일을 생성하면 어떻게 될까요? 한 개의 파일만 참조하게 된다면 문제가 발생하게 됩니다. 그래서 oscdimg는 여러가지를 참고해서 중복파일을 찾게 됩니다. 변경 날짜와 파일의 크기 처음부터 몇바이트 이내의 변경내용 여부... 등으로 말입니다.

이런 프로그램은 Microsoft에서 제작한 유틸이 가장 정확하겠죠. 자신들의 운영체제에서 자신들의 파일시스템구조를 가장 잘 알기 때문입니다. 이 유틸리티가 일반적으로 공개되지 않은 것도 이런 이유에서 일겁니다. oscdimg를 실행하게 되면 Microsoft 내부 전용툴이란 메시지를 보게 됩니다.

이상과 같이 정확히 중복되는 파일을 가려냈다면 WoW로 제작한 CD로 설치시에 아무런 문제가 없다는 것은 당연한 이치입니다. 저 역시 이런식으로 현재 저의 운영체제를 설치하여 사용하고 있으며 아무런 문제점도 발견하지 못했습니다.

이제 원리를 이해하였으니 Windows NT CD의 설치단계만 파악하시면 문제해결은 거의 가능합니다.


Windows 2000(NT포함) 설치 CD의 작동원리


개인용 PC의 경우는 BIOS(Basic Input/Output System)기반으로 작동하게 됩니다. 운영체제 역시 이 BIOS에 많이 의존하게 됩니다.

PC의 부팅과정을 잠시 살펴볼까합니다.

  1. 전원을 ON 한다.
  2. 전원(Power Supply)에서 간단한 전원테스트후 Power Good 신호를 보낸다.
  3. 전원이 작동하게 되면 메인보드에 내장된 POST 부분을 실행하게 된다.
  4. POST (Power On Self Test) 부분에서 연결된 장치에 전기신호를 보내서 이상유무를 판단후에 Memory Test와 CPU Test를 수행한다.
  5. POST Test후 이상이 없을 경우는 BIOS의 정보를 기준으로 부팅장치를 검색한다.
  6. BIOS에서 지정된 첫번째 부팅장치로 부팅을 시작하고 실패시에 두번째 장치로 부팅한다.
  7. 첫번째 장치가 플로피 디스크일경우는 디스켓의 0번 실린더 0번 헤드의 첫번째 섹터를 읽어들인 후에 실행하게 된다.(부트섹터라고 함)
  8. 하드디스크가 첫번째 부팅장치일 경우는 처음 커넥터에 프라이머리로 셋팅된 하드디스크의 0번 실린더 0번 헤드 1번 섹터를 읽어들여서 부팅하게 된다.
  9. 부트섹터는 어떤 파일을 읽어들여서 부팅을 할지를 결정하는 코드가 내장되어 있다.
  10. DOS의 경우는 IO.SYS를 읽어들이게 되고 NT의 경우는 NTLDR를 읽게끔 되어 있다.
  11. 해당 파일을 읽어들인후에 각종 운영체제에 맞는 파일을 계속 읽어들인후 운영체제가 부팅된다.

이상과 같은 방식이 일반 PC의 부팅과정입니다.

CD-ROM의 경우는 BIOS에서 처음 부팅장치로 CD-ROM을 지정해 주어야 가능합니다. CD-ROM 역시 처음부분을 읽어들여서 어떤 파일을 읽어 들일지 여부를 판단하게 됩니다. 부팅 첫번째 부분에서 MBR(Master Boot Record)이란 부분에서 해당 운영체제로의 점프코드로 점프한 후에 부트섹터를 읽어서 부팅하게 됩니다.

부팅원리는 알게되었으니, 일반적인 Windows 2000(NT) CD의 부팅되는 방식을 알아보겠습니다. 전원을 켜고 BIOS에서 CD-ROM 이 처음 부팅장치라고 설정된 후에 CD-ROM에 설치 CD가 들어 있다는 가정하에 설명합니다.

Windows NT 설치 CD의 경우 보통의 부팅방식을 따르지 않게 됩니다. 부트섹터 부분에서 NT의 설치프로그램(설치용 커널)을 모두 넣을 수 없기 때문입니다. 그래서 CD의 일정부분 파일을 읽으라고 지시만 하게 됩니다. 보통 Windows나 DOS의 경우 1.44MB의 부팅영역이 지정됩니다만 NT의 경우는 부팅영역만해도 4MB의 용량을 쓰게 되므로 이렇게 된것입니다. 바로 이 부분을 부트섹터라고 합니다. 이 부분이 들어간 CD를 "Bootable CD"라 하고 Windows NT CD는 전 제품이 부팅가능 CD입니다.

부트섹터에서 부팅영역을 읽어들인 후에 NTLDR를 읽어들이고, 그 후에 NTDETECT.COM 파일을 실행해서 간단한 하드웨어 테스트를 한 후에 설치에 필요한 드라이버를 읽어들이고 그 후에 설치프로그램을 작동하는 방식입니다.

WoW CD의 경우는 한 개의 CD에서 3가지 제품이 있기 때문에 일반적인 방식으로는 한가지 제품으로 밖에 부팅하지 못합니다. 일반적으로 i386 폴더만 찾게 됩니다. 하지만 각 제품 모두 i386 폴더를 가지고 있게 되므로 혼란이 오게 됩니다. 또한 부트섹터부분(스트랩로더)에서 부팅파일을 읽어들일 경우 i386과 같이 4글자로 된 폴더만 사용가능합니다. (하드코딩됨)

중요한 것은 현재 설치부팅의 경우입니다. Windows에서 업그레이드를 한다거나 DOS 부팅 디스켓으로 부팅해서 설치하는 데는 이런 작업이 필요가 없습니다. Windows NT 설치 CD의 자체 부팅 CD로 부팅하기 위해서 이 작업을 한다는 것을 염두해두시기 바랍니다.

i386 폴더란 것을 같은 이름으로 3개를 되며, 또한 부팅시에 해당 제품별로 각각 부팅을 하기 위해서 멀티부팅이란걸 하게 됩니다. 즉 3개의 안내폴더를 생성하게 됩니다.

  • WPRO - Professional용 안내폴더
  • WSRV - Server용 안내폴더
  • WADV - Advanced Server용 안내폴더

위와 같은 방식으로 해당 부팅파일을 읽어들일 파일을 넣어둘 안내폴더를 만들었습니다. 이제는 이 폴더에서 해당 설정파일을 읽으라는 명령을 가진 부트섹터를 만들 차례입니다. 각 원본 CD에서 추출한 부트섹터는 기본이 i386을 찾으라고 지시되어 있습니다. 그래서 그 부분을 해당 안내폴더에 맞게끔 바꾸어 주어야 하는 작업을 해야 합니다.

안내폴더의 폴더명은 반드시 4글자여야 합니다. 이 문서에서는 예전방식이 아닌 Microsoft에서 만든 새로운 WoW CD에서 제가 역으로 풀어서 다시 만든 단 한개의 부트섹터로 작업할까 합니다. (실제수정은 제작법 부분에서 설명합니다.)

이전 버전의 매뉴얼에서는 멀티부트로더 프로그램과 각 제품별의 부트섹터가 필요했습니다. 그래서 더더욱 복잡해지기도 하였습니다. 하지만 이제부터는 부트섹터는 한 개면 충분합니다. 단지 한 개 부트섹터에서 설치할 운영체제를 선택할 수 있게 되었습니다. 이것은 제가 Windows XP의 MSDN 버전 WoW CD의 부트섹터를 재조작해서 작성한 것입니다. 예전의 Windows 2000 WoW 제품에서는 부팅부분은 빠져있었지만 XP제품에는 각각 부팅가능하도록 Microsoft에서 다시 제작하였습니다. WoW CD는 원래 Microsoft에서 처음 만든 것입니다.

이제 정리를 해볼까요? CD-ROM으로 부팅하면서 부트섹터를 읽어들이면 부트섹터파일에서 선택한(부트메뉴가 표시됨) 안내폴더를 읽어서 설치용 부팅을 하는 것입니다.

이 원리만 이해하시면 상당히 빨리 제작하실 수 있게 됩니다. 이 부분을 이해하시지 못하게 되면 다시 읽으시더라도 이해하셔야 합니다. 제가 글솜씨가 없어서 이해하기 힘들게 만들었을지라도 저의 한계이니 여러 번 읽어보시면 이해가 되실겁니다. 이것이 이해되어야 나중에 Windows XP CD도 작성하실 수 있습니다. 이해가 없이 그냥 따라하기만 하시게 되면 여러 번 작업하셔야하는 불편을 겪게 됩니다.

이제 마지막으로 설치프로그램이 작동하는 방식만 알게되면 모든 문제는 해결되었습니다. 설치프로그램 역시 간단한 프로그램은 아닙니다. 필요한 부분만 설명하겠습니다.

저 또한 이미 만들어진 프로그램을 아무런 문서없이 여러 번의 시행착오를 거쳐서 다시 알게 된것이라 정확하진 않을지 모릅니다만 여기에 설명할 WoW CD를 만드는데는 지장이 없었습니다.

부트섹터를 읽은 후에 하는 일은 설치파일을 읽어들이는 것입니다. 이 프로그램은 SETUPLDR.BIN 이라는 파일입니다. 이 프로그램은 실행됨과 동시에 BOOT FIX.BIN 이라는 파일을 읽어들입니다. BOOTFIX.BIN은 별다른 작업은 하지 않게 되고 단지 설치프로그램을 읽어들이겠냐는 선택을 할 수 있는 5초의 시간을 줍니다.

Windows 2000을 설치해보신 분은 CD-ROM으로 부팅할려면 아무키나 누르라고 나오고, '.'(점)이 1초마다 한 개씩 찍히는 것을 보셨을 겁니다. 이 파일이 하는 일이 바로 이것입니다. 5초내에 아무런 반응이 없으면 두번째 부팅장치로 부팅하게 됩니다. 여기서 아무키나 눌러야 설치를 할 수 있다는 뜻입니다. 그 다음에는 부팅파일이 위치한 안내폴더명이 오게됩니다.

그 후에 SETUPLDR.BIN 파일은 설치용 파일이 들어있는 폴더에서 파일들을 읽어들입니다. 여기서는 아직 SETUPLDR.BIN 파일에는 이 폴더명이 i386으로 되어 있습니다. 어떻게 될까요? 그런 폴더는 없습니다. 즉 이 파일에서 나오는 i386 이란 부분을 모두 해당 제품에 맞는 안내폴더로 지정해 주어야합니다.(제작법에서 수정하겠습니다.)

이 작업후에 설치용 드라이버를 읽어들이고 설치작업을 수행하게 됩니다. 여기서 또 중요한 파일이 하나 있습니다. 바로 안내폴더의 TXTSETUP.SIF 파일입니다. 이 파일이 바로 설치의 중심되는 파일입니다. 실제 i386 폴더안에 있는 수천개의 파일이 어디로 복사될 것이며, 어떤 제품이며, 메모리 요구량은 얼마이며, 복사할 원본의 위치 등의 중요한 내용을 담고 있습니다. 중요한 것은 바로 실제 복사용 파일의 위치 또한 이 파일에 기록되어 있다는 것입니다. 여기서도 바로 i386 폴더로 되어 있습니다. 이처럼 WoW CD에서는 i386이란 부분을 해당 제품에 맞게 지정해주는 작업이 대부분입니다.(w2k_srcpro와 같이)

TXTSETUP.SIF파일에서 지정해주는 폴더의 위치는 실제 파일들의 위치여야 합니다. 이제까지는 안내폴더를 얘기했지만 현재 이 시점부터는 안내폴더의 역할은 이미 다했습니다. 설치프로그램이 읽혀들여진 후에는 실제 설치CD의 위치가 중요하게 됩니다.

이제 폴더의 관점에서 살펴볼까요? CD-ROM의 루트에는 부트섹터파일과 안내폴더인 WPRO, WSRV, WADV 폴더와 실제 설치파일들이 위치하게 될 W2K_SRC 란 폴더(폴더명은 자유롭게 지정 가능)가 있게 됩니다. 이 W2K_SRC 폴더아래 또 다시 3개의 폴더를 만들게 됩니다. 바로 Professional, Server, Advanced Server의 원본 설치 파일이 있어야 할 폴더들 입니다. 폴더명은 마음대로 해주셔도 상관없습니다만 8자 내외로 만드시길 바랍니다.(여기서는 Pro, Server, Adv_srv로 하겠습니다.) 이 경로가 바로 TXTSETUP.SIF파일에서 지정해주어야 하는 경로가 됩니다.

마지막으로 또 한가지 내용이 있습니다. 현재 CD-ROM에는 3가지 버전이 들어 있습니다. 설치프로그램은 설치용 CD가 진짜인지를 확인하는 절차를 거치게 됩니다. 이 작업은 바로 CD-ROM 태그파일이란 것으로 하게 됩니다. TXTSETUP.SIF 파일안에 이 태그파일 이름들이 기록되어 있습니다. 태그파일이 없게 되면 설치 CD를 넣으란 메시지를 나타냅니다. 반드시 넣어 주어야 합니다.

CD Volume은 중요하지 않습니다. 태그파일을 체크하게 됩니다. 그리고 이 태그파일들은 CD-ROM의 루트(Root)에 위치되어 있어야 합니다.

좀 내용이 길어졌습니다만 필요한 정보는 모두 알게 되었습니다. 이젠 실제로 제작해보는 것만 남았습니다. 이제까지 설명했던 것을 기반으로서 해서 제작법을 보시게 되면 누구나 자신만의 기술로 이 CD를 제작하실 수 있을거라 생각합니다.

그럼 실제 제작법을 설명하겠습니다.


WoW CD 제작법


이 예제에서는 한글판 Windows 2000의 3가지 버전을 기준으로 작성합니다. 이 작업에서 사용될 Windows 2000의 빌rvice Pack 3을 적용시킨 후에 작업하는 것으로 하겠습니다. 이미 Service Pack 3이 적용된 상태이므로 운영체제 설치후에 따로 Service Pack을 설치해줘야 하는 작업은 필요없게 됩니다. 또한 설치시에 요구받는 25자리의 CD키 입력을 건너뛰게 만들겠습니다. 이런 시나리오를 토대로 작업을 진행하겠습니다.

이 문서를 기준으로 해 반드시 자신만의 WoW CD를 만들어보시기 바랍니다. 눈으로 보는것과 실제로 하면서 느끼는 것은 다릅니다. 관심이 없으시다면 그냥 보셔도 되지만 한번 도전해 보는 것을 권하고 싶군요.


준비물


Windows 2000 Professional, Server, Advanced Server 설치 CD
Windows 2000 Service Pack 3 : w2ksp3.exe
Windows 2000 Boot Image : xpboot.bin
ISO 이미지 제작툴 : oscdimg.exe 또는 cdimage.exe
WinImage (이미지 편집툴) : winimage.zip
UltraEdit (HEXA 편집툴) : http://www.ultraedit.com


Service Pack 적용시키기


Service Pack을 설치파일에 적용시키게 되면 나중에 따로 Service Pack을 설치할 필요가 없습니다. 이렇게 설치파일에 Service Pack을 적용하는 것을 Slipstream 이라고 합니다.

먼저 Microsoft Website 에서 한글판 Service Pack을 다운로드 받습니다. 그리고 3가지 제품의 Windows 2000 설치 CD가 필요합니다. 여기 예제에서는 다운받은 Service Pack 3 파일이 D:(D:w2ksp3.exe)에 있다고 가정하고, 실제 원본과 작업폴더는 D:CDKorean 아래의 해당 폴더(pro, server, adv_srv)에 있다고 가정합니다. 각 제품마다 각각 Service Pack을 적용시켜야합니다. 한 장의 CD에 합친다고 해도 일단 3가지 제품 모두에게 적용을 한 뒤에 WoW CD로 만들어야 합니다.

Service Pack 적용 후에 반드시 Service Pack의 Tag파일(cdromsp3.tst)도 D:CD 폴더에 복사해 주시기 바랍니다. 이 태그파일이 없으면 CD를 넣으란 메시지가 나오게 됩니다. 반드시 복사해주시기 바랍니다. 작업용 폴더의 위치를 먼저 명시하겠습니다.

Service Pack의 위치: D:w2ksp3.exe

설치원본의 위치:
D:CDKoreanPro - Windows 2000 Professional 버전의 원본파일 복사
D:CDKoreanServer - Windows 2000 Server 버전의 원본파일 복사
D:CDKoreanAdv_srv - Windows 2000 Advanced Server 버전의 원본파일 복사

여기서 D:CD 폴더가 나중에 완성된 CD의 루Verdana>Service Pack의 파일인 w2ksp3.exe 파일은 사실 압축파일입니다. 압축파일을 임시폴더에 풀어서 update.exe 파일을 실행하게 되면 설치된 후의 설치법이 됩니다만 여기서는 압축을 특정폴더에 푼 후에 설치파일에 곧장 적용시키는 방법으로 하겠습니다.

Service Pack 3를 적용시키면 Service Pack 1 또는 2를 미리 적용하실 필요는 없습니다. Service Pack의 경우는 항상 가장 나중의 Service Pack을 적용하시면 됩니다.

이 예제에서는 D:w2ksp3.exe 파일을 D:SP3 폴더에 압축을 먼저 해제하는 것으로 간주하고 작업하겠습니다. D:SP3 폴더를 미리 생성해두세요. 위에서 설명한 곳에 모든 파일이 있다는 가정하에 설명합니다.

시작 → 실행 ⇒ D:w2ksp3.exe -x

위와 같이 입력한 후에 "확인" 버튼을 누른다.

위와 같은 창이 나타나면서 임시로 파일을 풀게 됩니다.

위와 같은 창이 나오게 됩니다. 바로 이창에서 Service Pack이 실제로 풀릴 위치를 지정해 주게 됩니다. 여기서는 앞서 약속한대로 D:SP3 라고 지정하고 "확인" 버튼을 누릅니다.

다시 위와 같이 압축을 해제함과 동시에 D:SP3 폴더에 저장하게 됩니다.

위와 같은 창이 나오게 되면 Service Pack의 압축해제는 완료된 것입니다. "확인" 버튼!

이 작업이 완료되면 이제부터는 D:SP3 폴더에 있는 Service Pack 3 파일들을 설치원본이 저장되어 있는 D:CDKorean 폴더 아래의 3가지 제품폴더(Pro, Server, Adv_srv)에 각각 적용시켜 줘야 합니다.

중요한 것은 원본폴더의 위치만 지정해 줘야 하는 것입니다. 원본폴더의 i386을 지정하시면 안됩니다.(여기서 많은 분이 실수를 하시더군요.)

시작 → 실행 → D:SP3i386updateupdate.exe -s:D:CDKoreanPro 라고 입력하신후에 "확인" 을 누르면 현재 Professional 버전에 적용을 하게됩니다.

아래의 그림과 같이 설치원본파일에 적용하는 모습을 보실 수가 있습니다.

완료시에는 다음그림과 같이 나타나게 됩니다.

"확인" 을 누르세요. 한가지는 끝났습니다. 현재 Professional 버전에만 적용을 한것입니다. Server와 Advanced Server 버전에도 동일하게 해줍니다.

그림은 생략하고 커맨드라인만 표시하겠습니다.

Server 버전의 경우 D:SP3i386updateupdate.exe -s:D:CDKoreanServer
Advanced Server 버전의 경우 D:SP3i386updateupdate.exe -s:D:CDKoreanAdv_srv

한 제품만이 아닌 세가지 제품 모두 적용시켜야 합니다. 이 작업을 한 후에는 뚜렷한 변화는 없습니다. 하지만 절대 잊어서는 안되는 것이 있습니다. 각 제품폴더에 가보시면 Service Pack 3의 태그파일이 나타나게 됩니다. Service Pack을 적용시킨 후라면 이 태그파일은 역시 D:CD 아래에 위치해야 합니다. 많은 분이 여기서 실수를 합니다. 이 태그파일을 복사해 줍니다. 이 파일의 이름은 cdromsp3.tst 입니다. 세가지 제품 모두 동일하므로 한 개만 복사해 주시면 됩니다.

이렇게 해서 Service Pack 적용시키기는 끝이 났습니다.


안내폴더 만들기


다음으로 해야 할 일이 각 제품으로 부팅하기 위한 안내폴더를 만들어야 합니다. 위에서도 설명했듯이 이 안내폴더의 이름은 반드시 4글자여야 합니다. D:CD 폴더 아래에 각각 WPRO, WSRV, WSRV 라는 폴더를 만들어 줍니다. 이 폴더 아래에 해당 부팅파일을 복사해 넣은 후에 각각 설정파일을 편집하게 됩니다. 제작흐름은 위에서 이미 설명했기 때문에 실제 작업만 설명하겠습니다. 폴더를 생성하게 되면 아래의 그림과 같이 나타나게 됩니다.

KOREAN : 실제 원본파일들이 위치한 폴더
WADV : Advanced Server의 안내폴더
WSRV : Server의 안내폴더
WPRO : Professional의 안내폴더
CDROM_IA.5 : Advanced Server의 태그파일
CDROM_IP.5 : Professional의 태그파일
CDROM_IS.5 : Server의 태그파일
CDROM_NT.5 : 각 태그파일과 쌍을 이루는 파일
CDROMSP3.TST : Service Pack 3가 적용된 CD의 태그파일

다음그림은 CD 폴더의 구조입니다.

ADV_SRV : Advanced Server의 원본 CD 복사본 폴더
PRO : Professional의 원본 CD 복사본 폴더
SERVER : Server의 원본 CD 복사본 폴더

각 폴더엔 실제 원본 CD의 전체 복사본이 들어있습니다.(Service Pack 3가 적용된...)


부팅파일 복사하기


다음으로 해주어야 할 작업은 각 안내폴더에 넣어줄 부팅관련 파일을 플로피 이미지로부터 추출하는 작업입니다. 이 작업에는 WinImage 란 프로그램이 필요하게 됩니다. 부팅디스켓은 Windows 2000의 CD에 Bootdisk란 폴더에 .img 파일형태로 존재하게 됩니다. 각 제품별로 해당 원본폴더의 bootdisk에서 뽑아서 각 제품의 안내폴더에 이미지를 풀어줘야 합니다. 여기에서는 Professional 버전만 설명하고 나머지 두가지 버전은 여러분이 직접해주시기 바랍니다.

먼저 winimage프로그램이 설치되어있다는 가정하에 진행하겠습니다. winimage를 실행한 후에 file → Open 을 클릭하셔서 설치원본이 있는 폴더의 bootdisk 폴더에 있는 이미지 파일을 읽어들입니다. 디스켓이 4장 있습니다. 4장 모두 하나씩 읽어서 안내폴더에 풀어야합니다.

아래그림은 그 작업을 나타냅니다.

열기버튼을 클릭합니다. (현재 1번장 작업중)

위의 빨간색 박스 부분(Select)을 클릭한후에 Select 를 한번클릭한 후에 Close 버튼을 눌러줍니다.

그럼 아래와 같이 파일전체가 선택됩니다.

이 상태에서 아래그림의 빨간색 박스 부분(Extract)을 선택해서

아래 그림과 같은 창에서 Browser버튼을 눌러서 안내폴더위치를 지정해 줍니다. 아래그림과 같이 옵션이 선택되어야 합니다.

현재 지정할려는 위치는 Professional의 안내폴더인 D:CDWPRO 폴더를 지정해줍니다. "OK"버튼을 누르면 해당폴더에 선택된 파일을 풀게됩니다.

이제 1번장을 작업했습니다. 나머지 2, 3, 4번장도 같은 방법으로 풀어줍니다. 이 작업이 완료된 후에 각각 Server와 Advanced Server에서도 각각 이미지를 해당 안내폴더에 풀어줍니다. 이 작업에 대한 설명은 생략하겠습니다.

해당 안내폴더는 다음과 같이 나타납니다. 파일수 110, 폴더수 1


설정파일 복사하기


이 작업까지 완료하게 되면 기본작업은 끝나게 됩니다. 이제는 설정파일을 수정하는 일과 ISO 이미지를 만드는 일만 남았습니다.

여기서도 많은 분들이 이해를 못하시고 에러난다고 말씀을 하셨습니다. 현재 작업내용을 가만히 생각해보시면 Service Pack 3를 적용시킨 후에 원본 부팅디스켓 이미지를 안내폴더에 풀어줬습니다.

뭔가 빠졌죠? 원본은 이미 Service Pack 3에 맞춰져 있지만 부팅디스켓에서 뽑았던 부팅파일들은 Service Pack 3이 적용되지 않은 상태로 있습니다. 그래서 해당 원본(Service Pack이 적용된) 파일을 안내폴더에 복사해 줘야 합니다. 전체를 복사해주는 것이 아닙니다. 파일 몇 개만 복사해주면 됩니다. 이 작업 역시 각각 제품별로 해주어야 합니다. 원본폴더(D:CDKoreanProi386)에서 안내폴더(D:CDWPro)로 복사해야 할 파일들은 다음과 같습니다.

Bootfix.bin
Bootfont.bin
Setupldr.bin
Txtsetup.sif

위의 네가지 파일중 bootfont.bin, bootfix.bin 파일을 제외한 두 파일(Setupldr.bin, Txtsetup.sif)이 Service Pack이 적용되어서 변경된 것입니다. 각각의 원본폴더에서 해당파일을 각각의 안내폴더에 복사해 줍니다. 물론 복사과정에서 파일이 존재한다는 메시지가 나오게 됩니다. 반드시 덮어쓰기를 해주시기 바랍니다.

위의 그림에서 "모두 예(A)"를 선택해줍니다. 이와 같은 작업을 Server와 Advanced Server에도 해주셔야 합니다.


부팅 / 설정파일 수정하기


이 작업이 완료되면 이제 작업해줄 것은 부팅파일을 설정해주는 것과 부트섹터에서 해당 안내폴더로 안내할 부트메뉴를 만들어서 ISO 이미지 파일로 만들어주는 작업만 남았습니다. 이 부분에서는 부트파일 설정하는 것을 설명하겠습니다.

작업해줄 파일은 2개입니다. Setupldr.bin 과 txtsetup.sif 파일입니다. 이 파일을 수정하는 이유는 이 문서의 처음에서 설명을 했었습니다. 안내폴더에서는 i386 폴더를 찾게끔 되어 있기 때문에 각각 안내폴더로 향하게 바꾸어 주어야 합니다.(Setupldr.bin) 그리고 실제 원본의 위치 또한 i386으로 되어 있으므로 그것 또한 CDWPro 와 같이 해당 실제원본을 가르키도록 만들어야 합니다.(txtsetup.sif)

이 작업 역시 3제품 각각 해주어야 합니다.(안내폴더별로.)

여기에서는 울트라에디터를 사용하겠습니다. 다른 헥사에디터가 있으면 사용해도 됩니다만 저는 울트라에디터로 작업하는 것으로 진행하겠습니다. 또한 여기에서는 Professional 안내폴더의 두 파일을 수정하는 것을 설명합니다. 나머지 두 안내폴더에서도 동일한 작업을 해주어야 합니다.

먼저 Professional의 안내폴더인 WPRO폴더(D:CDWPro)의 setupldr.bin 파일을 울트라에디터로 읽어들입니다. 반드시 헥사모드(16진수모드)로 읽으셔야 합니다. 또한 기계어파일이라서 한글자도 오타가 있어서는 안됩니다. (주의하시기 바랍니다.)

울트라에디터에서 setupldr.bin 파일을 읽은 후에 에디터의 메뉴중에서 Serach → replace 를 선택합니다.

이 명령은 어떤 글자를 모두 지정된 글자로 바꾸어주는 역할을 하게 됩니다. 여기에서는 i386로 되어 있는 것을 Professional의 안내폴더명인 WPRO로 바꾸는 작업을 하는 것입니다. 아래 그림과 같이 입력하신후 Replace All 버튼을 눌러줍니다.

위와 같이 3군데에서 해당 아이템을 찾았다는 메시지가 나오게 됩니다. '예' 버튼을 클릭해줍니다. 그 후에 울트라에디터를 종료합니다. 종료시에 저장할지를 물어옵니다. 당연히 저장합니다!!! 이 파일은 수정이 끝났습니다.

다음으로는 TXTSETUP.SIF 파일을 역시 울트라에디터로 읽어들입니다. 이 파일에서는 실제 원본의 위치가 i386에서 복사하는 것으로 되어있기 때문에 그것을 실제 원본의 위치인 CDWPro 부분으로 수정하기 위함입니다.

Txtsetup.sif 파일을 읽어들인 후 에디터의 메뉴중 Serach → Find 를 선택하신 후에 SetupSource 를 입력후에 Find 버튼을 눌러줍니다.

아래그림과 같이 나타납니다.

여기에는 CD-ROM의 루트에서 i386 폴더를 찾으라고 되어 있다는 뜻입니다. 즉 SetupSource Path = "" 부분을 바꾸어 주어야 한다는 뜻입니다.

아래 그림과 같이 바꾸어 줍니다.

여기서 중요한 것은 i386 폴더는 제외한다는 것입니다. 이미 그것은 내장되어 있습니다.

역시 에디터를 종료합니다. (파일을 저장해야겠지요?)

현재는 Professional 파일에만 작업을 했습니다. 나머지 두가지 제품에서도 동일한 작업을 해줍니다. 안내폴더명과 소스파일의 위치는 해당제품에 맞게끔 수정해야겠지요?


설치시 CD키 입력부분 건너뛰기


이 작업은 팁으로 알아두시기 바랍니다. 설치시에 25자리의 CD키를 입력해야 할 것입니다. 이 부분을 건너뛸 수 있습니다. 엄밀히 말하면 Volume License Version (일명 Corperate 버전)으로 만들어서 CD키가 필요없게끔 인식하게 하는 것입니다. 이 작업은 설치 원본폴더에서 하셔야 합니다.

설치 원본폴더의 i386 폴더에 setupp.ini 란 파일이 있습니다. 그 파일을 수정해주면 됩니다. 여기 설명서에선 역시 Professional만 설명하고 나머지는 여러분이 직접하시길 바랍니다.

그 파일을 두번클릭하시게 되면 메모장으로 열립니다.

[Pid]
ExtraData=6C6B736B717367786B6253E25C05DB
Pid=52455000

위와 같이 나타나게 됩니다. 숫자는 각각 틀리게 나옵니다. 하지만 변경할 것은 딱 3글자입니다. PID=부분의 마지막 3자리만 000 에서 270 으로 변경해주고 저장합니다.

[Pid]
ExtraData=6C6B736B717367786B6253E25C05DB
Pid=52455270

참고로 000 = Retail Version, 270 = Volume License Version, OEM = OEM Version 으로 인식합니다. Retail Version은 설치초반에 CD키를 묻게 되고, OEM Version의 경우는 설치완료시에 CD키를 입력하며, Volume License Version으로 설정되면 CD키를 묻지를 않게 됩니다.


부트섹터 수정하기


이젠 할 수 있는 작업은 다했습니다. 가장 중요한 것이 남아 있습니다. 바로 부트섹터입니다. 예전과는 달리 이 매뉴얼에서는 새로운 버전의 부트섹터를 사용합니다. 영문 Windows XP MSDN용 WoW버전의 부트섹터를 추출했습니다. 이 부트섹터로 모든 작업을 하시면 됩니다. 물론 Windows 2000/XP 둘다 작동하게 됩니다.

이 작업은 한번만 해주면 됩니다.(예전과는 다르죠?) 부트섹터에서 메뉴를 표시하고 선택하게 되어 있습니다. Microsoft에서도 이 부분을 새롭게 만든듯 합니다. 예전버전의 WoW에서는 단일 부팅만 가능했었으니 말입니다. 울트라에디터가 필요합니다.

이 부트섹터는 위의 '준비물' 장의 xpboot.bin 파일을 사용하면 됩니다. 반드시 이 파일이여야 합니다. 기존의 부트섹터와는 구조가 다릅니다.

Xpboot.bin 파일을 울트라에디터로 읽어들입니다. 이 부트섹터 파일은 CD-ROM안에 있어야 할 이유가 없습니다. 외부에서 oscdimg.exe 로서 삽입하는 방식입니다.

지금부터 설명하는 것은 상당한 주의를 요망하는 작업입니다. 한글자라도 밀리거나 삭제되면 부팅자체가 안되니 말입니다. 이 매뉴얼에서 확인만 하시고 같이 첨부한 파일을 그대로 사용하셔도 무방합니다.(이 경우에는 안내폴더명(WPRO, WSRV, WADV)은 제가 설명하는 것과 동일해야 합니다.)

에디터로 읽어들인 후에 파일의 가장 마지막 부분에서 모든 것을 컨트롤하는 것을 알아냈습니다. 그 부분을 수정하면 되는겁니다.

먼저 원래 이 부트섹터로 부팅하였을 경우 아래와 같이 나타나게 됩니다.(수정안한 상태)

[A] Windows XP Home Edition - English
[B] Windows XP Professional - English

Choose an option and press [Enter]:

이것을 참고로 설명할까 합니다.

이 원본파일의 섹터의 모습입니다.

위의 그림과 같이 xpboot.bin 파일의 마지막 부분쯤에 나타는 곳이 바로 멀티부트 영역을 표시합니다. 예전 DOS 6.0 때부터 Microsoft에서는 기계어 파일에서 영역의 끝을 나타내는 문자로서 '55 AA' 란 코드를 사용해왔습니다. Xpboot.bin 파일의 제일 아래쪽에 그 문자가 나타나는 것을 알 수 있습니다. 즉 위의 파란색 박스부분에서 부팅시에 표시할 메뉴를 표시하고 해당 안내폴더를 지정한다는 것을 알 수가 있습니다.

파란색 박스부분을 살펴볼까요?

먼저 'SETUPLDR.BINBOOTFIX.BINi386' 이건 멀까요? 부트섹터가 하는 일입니다. 먼저 SETUPLDR.BIN을 읽고 BOOTFIX.BIN을 읽고 i386 폴더를 찾으란 뜻이겠죠? 이 부분은 수정할 필요가 없습니다.

그 다음 부분은 '.........' 이렇게 점으로만 나타납니다. 16진수값 00 이기 때문에 아스키문자로 나타낼 문자가 없을 경우는 이렇듯 점으로 표시합니다. 중요한 것은 왼편의 16진수 값이 중요합니다. 이 부분을 아무런 지식도 없이 역으로 알아내는데 시간이 엄청나게 걸렸습니다. 다 알고 보니 별거 아니구나 하는 생각이 드는데 막상 하나씩 숫자를 바꿔가면서 맞춰가면서 작??냈답니다.

[A]부분의 바로 앞에 '..' 으로 나타나는 두글자인 '0D 0A' 값부터 'press [Enter]:' 부분까지만 내용을 수정할 수가 있습니다. 그 사이에서 부트메뉴를 구성하면 됩니다.

마지막에 입력문자는 알파벳 이어야 합니다. 즉 3개일 경우는 A, B, C 중에 입력해야 하고, 두 개일 경우는 A, B 중에 한 개로 입력해야 합니다. 맨마지막에 'WXPHWXPP' 이 부분에서 안내폴더를 순서대로 지정해 줍니댜. 처음이 A를 입력했을 때 나타나는 부분입니다. 여기 예제에서는 'WPROWSRVWADV' 로 수정을 하게 됩니다.

그리고 가장 중요한 부분 안내폴더명의 바로 앞에 16진수 부분중 '00 00 02 04' 란 부분이 있습니다. 이 부분을 알아내는데 무척이나 시간을 보내게 되었습니다. 결국 이 숫자에서 중요한 곳은 '02 04' 입니다. '02' 는 입력되는 문자의 숫자를 뜻합니다. '02' 면 2가지 입력을 받는다는 뜻입니다. 즉 A, B만 받을 수 있습니다.

여기 예제에서는 3가지이므로 '03' 으로 수정하게 됩니다. '04' 부분은 안내폴더를 4글자로 읽으란 뜻이였습니다. 즉, 'WPROWSRVWADV' 이와 같은 문자열에서 4글자씩 띄워서 해석하란 뜻입니다. 바뀌는 부분은 '00 00 02 04' → '00 00 03 04' 로 바뀌게 됩니다. 5개 버전을 넣게 되면 '00 00 05 04' 로 바뀌게 되겠죠?

자~ 이젠 대충 개념이 잡혔으니 실전으로 들어가겠습니다. 이 문서에서 가장 중요한 부분이 되겠습니다.

먼저 완성된 CD의 부트메뉴 옵션입니다.

이전 메뉴얼과 같이 화려함은 없습니다만 부트섹터 한개로 이 정도를 할 수 있다는 것으로 만족하고 대충 편집을 했습니다. 위의 A, B, C 부분은 단지 참고삼아 입력한 것입니다. 이 부분을 전부 빈칸으로 주고 알고 있다면 A, B, C를 입력해도 해당설치를 하게 됩니다.

먼저 같이 첨부된 부트섹터의 수정한 모습입니다.

위에서 파란색 박스안의 부분만을 수정할 수 있습니다. 한 글자라도 밀리게 되면 부팅이 되지 않습니다. 이 부분은 약간의 노하우가 있어야 합니다. 아스키코드에서 줄바꿈은 두 가지 문자의 결합입니다. 바로 '0D 0A' 문자입니다.

위의 부분을 자세히 살펴보시면 저 문자열(파란색 박스)이 어떻게 부팅메뉴를 구성하는지를 아실 수 있게 됩니다. [A] 이런식의 메뉴로 하시는 것이 좋습니다. 왼편에서는 키패드(숫자키보드)로 입력해야 하고 문자인 경우는 오른쪽 파란 박스부분에서 직접 입력하시면 됩니다. 적당히 줄을 띄우게 되면 왼편에서 '0D 0A' 를 입력해주시면 됩니다.

다시 한번 강조하지만 박스부분만 수정할 수 있습니다. 넘어가서는 안됩니다.

그리고 빨간색 박스로된 03 부분은 여기서는 WoW CD에 3가지 제품을 넣었기 때문에 입력을 3개로(A, B, C) 받아야하기 때문에 수정한 것입니다.

그리고 나머지 수정할곳은 'WPROWSRVWADV' 이 부분입니다. 처음 4글자가 A를 타이핑하면 설치될 안내폴더입니다. 만약에 XP같은 경우는 8글자만 있고 뒷부분은 왼편에서 '00 00' 으로 채워주시면 됩니다. 사용안할 때는 '00' 을 채우셔야 합니다.

이 부분은 한두번 수정해보시고 테스트를 해보시면 금방 원리는 아실 수가 있습니다. 저는 머리가 나뻐서인지 한참 걸렸습니다. 메뉴를 더 확장해보기도 하고 갖은 방법으로 해보았으나 실패! 하고 결국 이 방법이였다는 것을 알아내었답니다.

이 글을 읽으시는 분은 이 방법대로 하시면 큰고생은 안하실꺼라 생각됩니다.

위와 같이 수정하시고(개인별로 수정하셔도 됩니다. 이미 구조는 알았으니깐요.) 저장후에 에디터를 닫습니다.


ISO 이미지 파일 만들기


이제 모든작업은 끝이 났습니다. 마지막으로 oscdimg.exe로 최적화 옵션을 주어서 만들기만 하면 모든 작업이 끝납니다. 이 작업은 커맨드창에서 하셔야 합니다.

현재 D:에 oscdimg.exe 와 xpboot.bin 파일이 있다는 가정하에 설명합니다. [시작] → [실행] → [cmd] 라고 입력합니다. 커맨드창이 실행됩니다. 작업폴더로 이동해야겠지요?

cd /d d:

입력합니다. 그 후 아래와 같이 입력하면 완성이 됩니다. 여기서는 완성된 파일이 D:win2k.iso 로 간주하고 설명합니다.

oscdimg -lWOWWIN -h -n -o -bD:xpboot.bin D:CD D:win2k_ko.iso

라고 입력하시면 모든작업이 끝이 납니다.

완료될 경우 아래와 같은 그림이 나타납니다.

현재 저의 완료된 이미지 경우 최종 ISO파일의 사이즈는 598,982,656 Byte이며, 완성된 CD를 Windows 탐색기로 확인한 사이즈는 1,373,734,912 Byte였습니다.

위에서 사용한 oscdimg.exe 의 옵션을 설명하겠습니다.

-l : 공백없이 사용하며 CD의 레이블(이름)을 정합니다.
-h : 숨김파일도 포함한다는 옵션입니다.
-n : 긴파일명을 지원하는 옵션입니다.
-o : 핵심인 중복파일을 찾아서 한 개의 링크로 만들어줍니다.
-b : 공백없이 사용하며 부트섹터의 위치를 지정합니다.

D:CD : 실제 CD-ROM의 루트가 될 폴더를 지정합니다.(Source Folder)
D:win2k_ko.iso : 최종 ISO파일명을 지정합니다.(Destination)

이 작업까지 하셨으면 D:win2k.iso 파일을 레코더로 레코딩하시면 됩니다. 이렇게 생성한 CD는 반드시 CD복사로 복사하셔야 합니다. 완성된 CD를 하드에 복사하게 되면 정확히 1.2기가 용량으로 바뀌게 된다는 점을 강조합니다. WoW CD는 풀면 안됩니다. CD자체로 복사작업 같은 것을 하셔야 합니다.


마치며...


무척이나 긴문서였습니다. 이 문서에 비하면 이전 버전의 문서가 너무나 부실했었다는 것을 새삼 알게 해주는 것 같습니다. 저는 쉽게 만들었으니 여러분도 쉽게 만드리라 생각했던 것이 실수였죠. 막상 겪게되는 문제점에 봉착할때마다 막막하다는 것을 누구보다도 잘알고 있다고 생각했던 제 자신이 부끄러워집니다. 그래서 이 문서를 생각하게 되었습니다. 이 문서로 인해서 도움이 조금이나마 되었다면 좋겠습니다.

여기서 테스트한 Windows 2000 WoW CD는 기초적인 것만 들어가 있습니다. 저의 다른 강좌인 자동실행 CD 만들기와 결합해서 Windows 상에서도 CD를 넣게 되면 업그레이드가 되도록 만들 수도 있습니다. 현재 CD-ROM의 파일사이즈가 530메가 내외이므로 여러분 자신의 필수데이터를 100메가 정도 넣어두시고 사용하셔도 됩니다.

그와 같은 작업은 이글을 읽는 여러분의 몫으로 돌리고 저는 여기서 문서를 마칠까 합니다. 내용도 너무 많았거니와, 알고 계시는 부분도 하나하나 설명하다가 보니 피곤하셨을거라 생각이 듭니다. 앞으로도 이와 같은 방식의 매뉴얼을 제작할까 합니다.

그리고 이 문서는 제 개인적으로 제작한 것입니다. 어디에나 배포가능합니다. 무단배포했다고 법적책임 묻고 그런것도 없습니다. 단지 이 매뉴얼을 모르는 사람에게 돈을 받고 판매(?)하는 행위만 안해주셨으면 합니다. 모르시는 분들을 위한 문서입니다.

그리고 자신만의 매뉴얼들을 만들어서 서로서로 공유하게 되면 실력이 빨리 향상되리라고 생각하는 바람입니다.

이 문서를 검사해주고 테스트해주신 휘사모 관련 회원님들에게 고마움을 전합니다.