이 글에서 이야기하는 윈도우 PE 는 WIM 이미지를 기반으로 구현되는 윈도우 PE 2.0 과 윈도우 PE 3.0 버전들을 의미합니다. 윈도우 PE 2.0 이란 윈도우 비스타 AIK 를 통해 제작된 PE 를 의미하며, 윈도우 PE 3.0 이란 윈도우 7 AIK 를 통해 제작된 PE 를 의미합니다. [관련 문서]
윈도우 PE 란?
간단하게 시스템을 관리하는 작업을 해야 하는데 아직 설치된 윈도우가 없다면? 또는 현재 설치된 윈도우에 문제가 발생하여 사용할 수 없다면? 이럴 때 꼭 필요한 기능만을 담은 작은 윈도우를 CD 나 USB 등에 넣어 가지고 다니며 바로 사용할 수 있다면 참 좋겠죠? 그러면 간단한 작업을 위해 여벌의 윈도우를 설치해야 하는 불편을 해결할 수 있을테니까요.
윈도우를 꼭 필요한 기능만 담아 간편하게 가지고 다닐 수 있다면?
그러한 것을 가능하게 해주는 것이 바로 윈도우 PE 입니다. 윈도우 PE 는 원래 윈도우의 설치를 위해 개발된 것으로, 윈도우를 대량으로 설치하거나 네트워크를 통해 설치하는 등의 작업을 할 때 사용할 수 있도록 작은 윈도우 환경을 구축해놓은 것입니다. 이것은 도스나 기존의 윈도우 XP 설치 환경만으로는 너무나도 어려운 과제였으니까요.
이러한 윈도우 PE 는 윈도우 설치 과정에 꼭 필요한 디스크 관리, 네트워크 연결, 부팅 관리 등의 주요한 기능들만 포함된 작은 윈도우이며, 이를 CD 나 USB 등에 담아 어떤 컴퓨터에서든 바로 부팅하여 사용할 수 있게 만들어져 있습니다. 점차 윈도우 PE 는 발전하여 윈도우 비스타에 이르러서 WIM 이미지 파일 하나에 윈도우를 담는 단계까지 오게 되었고, 이후 윈도우 비스타부터는 윈도우의 기본 설치 환경 또한 이러한 PE 환경으로 완전히 넘어오게 됩니다.
이렇게 윈도우의 설치를 위해 개발된 PE 지만 그 역시도 윈도우이기에 복잡한 설치 과정이나 특정한 장치를 필요로 하지 않는 간단한 프로그램들은 바로 실행할 수 있었고(가장 흔한 예로 고스트와 같은), 디스크 컨트롤러와 네트워크 드라이버 등을 포함시킬 수도 있었기에, 자신만의 작은 유틸리티 모음집으로 활용하는 사례가 급증하게 됩니다. (ex. 마이크로스트사가 직접 윈도우 관리에 특화시킨 것이 바로 윈도우 RE - 컴퓨터 복구 모드입니다.)
써드 파티 프로그램 제작사와 유저들의 응용으로 PE 의 기능은 점차 확장되었고, 현재에 이르러서 윈도우 PE 라 함은 "WIM 이미지 파일을 통해 구현된, CD 나 USB, 디스크 등을 통해 어떤 컴퓨터에서든 바로 사용할 수 있는 작은 윈도우" 를 지칭하게 되었습니다. 이것은 리눅스가 익숙하신 분들은 리눅스의 라이브 CD 를 생각하시면 좋을 듯 합니다.(물론 그보다는 제약이 많지만)
윈도우 PE 의 구조
윈도우 PE 는 기본적으로 윈도우 본체에 해당하는 WIM 이미지와 WIM 이미지를 부팅시킬 수 있는 Bootmgr 부트 매니저 구성으로 이루어져 있습니다. 윈도우 AIK 를 통해 제작한 가장 기본적인 모습의 윈도우 PE 는 정말로 이 두 개 말고는 아무 것도 없죠. 그 외에 추가적인 파일이 있다면 제작자가 필요에 의해 추가한 것들입니다.
[클릭하시면 좀 더 크게 보실 수 있습니다.]
기본 윈도우 PE 의 구성
만약 Bootmgr 부트 매니저가 이미 구축돼 있는 디스크 환경이라면 윈도우 본체에 해당하는 WIM 이미지 하나만으로도 사용할 수 있습니다.(그 외 다른 추가 파일들이 있다면 그 또한 포함)
윈도우 PE 의 부팅 구조
윈도우 PE 에서 사용하는 WIM 이미지 파일은 특정한 볼륨(파티션, 드라이브)의 내용을 통채로 압축한 디스크 이미지 파일입니다. 꼭 PE 에서만 사용되는 것은 아니며 백업이나 배포의 용도로 많이 사용되죠. 여러분들이 많이 접해보셨을 고스트나 트루 이미지의 그 이미지 파일을 연상하시면 이해가 쉬우실 겁니다.
* 윈도우가 사용하는 디스크 이미지에는 VHD 와 WIM 두 가지가 있습니다. 이 중 VHD 는 디스크의 구조를 그대로 복제하여 바로 사용할 수 있는 것에 중점을 둔 디스크 이미지라면, WIM 은 더 작은 용량으로 압축하여 보관 및 전송을 수월하게 하기 위한 목적에 중점을 둔 디스크 이미지입니다. 그리하여 WIM 이미지에는 디스크의 구조나 파일 시스템과 같은 정보가 포함되어 있지 않고 이로 인해 VHD 처럼 파일 그대로 디스크처럼 사용하는 것은 불가능합니다. 즉, WIM 이미지 파일은 ZIP 압축 파일에 좀 더 가까운 형태라고 보시면 됩니다.(물론 그보다는 많은 정보와 기능이 포함되어 있습니다.)
윈도우 PE 에 포함된 WIM 이미지 파일은[보통 boot.wim] 그 중에서도 (어느 컴퓨터에서나 바로 사용할 수 있도록) 구성된 윈도우를 그대로 압축해 놓은 것입니다.
PE 의 WIM 이미지 파일은 바로 사용할 수 있는 윈도우를 통채로 압축해 놓은 것이다.
이렇듯 WIM 이미지 파일은 압축되어 있기 때문에 그 안에 포함된 윈도우를 사용하기 위해선 WIM 이미지 파일을 특정 디스크에 다시 풀어주는 과정이 반드시 필요하게 됩니다.
윈도우 PE 는 본래 아직 아무런 구성도 되지 않은 컴퓨터에서도 바로 사용할 수 있도록 개발된 작은 윈도우입니다. 즉, 이 말은 아직 디스크의 파티셔닝이 완료되지 않은 컴퓨터에서도 바로 사용할 수 있어야 한다는 것이지요. 그래서 WIM 이미지 파일을 풀어줄 공간으로 디스크는 제외됩니다.
컴퓨터에 디스크를 제외하고 모든 컴퓨터가 공통으로 가지고 있는 다른 저장 공간은 무엇이 있을까요? 바로 모든 컴퓨터의 필수 저장 장치인 램 메모리 공간이 있습니다.
램 메모리가 없는 PC 는 없다.
그리하여 WIM 이미지 파일은 부팅시 자신의 내용을 풀어 줄 저장 공간으로 시스템에 장착된 램 메모리 공간을 사용하게 됩니다. 램 메모리 공간은 디스크처럼 바로 사용할 수 없기 때문에 램 메모리 공간의 일부를 일반 디스크처럼 활용가능하게끔 만들어주는 램 디스크란 기능이 필요합니다. 이러한 램 디스크는 윈도우의 부트 매니저인 Bootmgr 부트 매니저에서 boot.sdi 파일을 통해 생성할 수 있습니다.
이렇게 윈도우 PE 는 Bootmgr 부트 매니저와 boot.sdi 파일을 통해 램 디스크를 생성하고, WIM 이미지 파일에 포함된 윈도우를 램 디스크에 풀어준 후, 램 디스크에 풀린 윈도우로 부팅을 진행하는 것입니다. 이것이 바로 윈도우 PE 의 전체적인 부팅 구조이며 이를 그림으로 나타내면 아래와 같습니다.
램 디스크를 생성하고 그곳에 WIM 이미지의 압축을 푸는 것이 핵심이다.
이렇듯 윈도우 PE 는 램 디스크를 사용하기 때문에 Bootmgr 부트 매니저와 함께 boot.sdi 파일이 반드시 포함되어 있습니다.
윈도우 PE 의(WIM 이미지의) 부팅 항목 구성
설명한 것과 같이 윈도우 PE 의 WIM 이미지 파일은 램 디스크 기능을 통해 부팅을 진행합니다. 이러한 램 디스크는 BCD 에서 boot.sdi 파일을 통해 장치 옵션이란 항목 유형으로 구성이 되고, 이렇게 구성된 램 디스크 장치 옵션 항목은 윈도우 부팅 항목의 (WIM 이미지 파일을 의미하는) Device 와 OSDevice 의 Ramdisk 장치 경로에 연결되어 사용이 됩니다.
윈도우 PE(WIM 이미지) 의 부팅 구성은 램 디스크 장치 옵션 항목과 윈도우 부팅 항목으로 구성된다.
일단 기본적으로 윈도우 PE 의 부팅 항목은 WIM 이미지 파일 안에 포함된 윈도우에 관한 부팅 항목이기 때문에 윈도우 7 의 부팅 - 윈도우 7 계열 부팅 항목의 전체적인 구성 이해하기 문서에서 이야기한 윈도우 부팅 항목의 구성을 (WinPE 라는 옵션만 추가하여) 그대로 따라 가게 됩니다. 이제 거기에 램 디스크를 생성하는데 사용할 boot.sdi 의 장치 옵션 항목만 지정하면 된다고 생각하시면 편하실 겁니다.
[클릭하시면 좀 더 크게 보실 수 있습니다.]
윈도우 PE(WIM 이미지) 의 실제 부팅 구성과 램 디스크 장치 옵션 연결.
이게 윈도우 PE 부팅 구성의 전부입니다. 윈도우 부팅 항목의 대략적인 구성을 알아본 후라 이건 간단하게 이해하실 수 있겠죠?
램 디스크 장치 옵션 항목과 {ramdiskoptions} 항목
모든 boot.sdi 파일은 같은 파일로 모두 똑같은 램 디스크를 생성합니다. 사실 boot.sdi 파일은 여러 개가 있을 필요가 없고 하나의 boot.sdi 파일로 램 디스크 장치 옵션을 구성하고 모든 WIM 이미지 파일에서 이를 공통으로 사용해도 됩니다. 그런데 왜 이런 동일한 램 디스크 장치 옵션 항목을 하나로 통합하지 않고 WIM 이미지 개별적으로 각자가 자신의 램 디스크 장치 옵션 항목을 가질 수 있게 만든 것일까요?
윈도우 7 설치 DVD 에 기본으로 포함된 램 디스크 장치 옵션 항목
그것은 윈도우 PE 의 본래 목적을 생각해보면 간단하게 이해하실 수 있습니다. 윈도우 PE 는 처음에 설명드린 것과 같이 시스템에 고정적으로 설치하는게 아닌 CD 나 USB 등 이동형 저장 장치에 넣어서 가지고 다니는 것이 원래의 목적이죠.
그런데 이동형 저장 장치는 항상 시스템과 연결해 놓는 용도가 아니죠. USB 메모리나 CD 를 디스크처럼 사시사철 24시간 언제나 꽂아 놓고 사용하시는 분들은 드물잖아요? 즉, 언제든지 시스템과 분리될 수 있고, 이로 인해 윈도우 PE 안에 포함된 boot.sdi 파일도 현재 시스템에서 언제든지 사라질 수 있는 불안한 존재인 것이죠.
즉, 언제 어떤 boot.sdi 파일의 연결이 끊길지 모르니 그냥 WIM 이미지 마다 각자 전용의 boot.sdi 파일과 램 디스크 장치 옵션 항목을(다른 말로 Bootmgr 부트 매니저 구성을) 함께 가지고 다니면서 사용하는 모습으로 구성이 잡힌 것입니다. 간단하죠? 이게 윈도우 PE 의 일반적인 부팅 구성인 것이죠.
그런데 WIM 이미지 파일을 꼭 이동형 저장 장치인 CD 나 USB 에서만 사용하란 법은 없습니다. 사용자의 용도에 따라 디스크에 고정적으로 저장해 놓고 사용할 수도 있는 것이죠.(ex. 고스트 자동 복구 시스템) 또한 디스크의 공간은 CD 나 USB 에 비해 충분히 크기 때문에 하나가 아닌 여러 개의 WIM 이미지 파일을 위치해 놓고 이들의 부팅을 모두 동시에 구성할 수도 있습니다.
이렇게 고정적인 디스크 장치에 다수의 WIM 이미지 파일을 위치시키고 부팅을 구성할 때에는 각각의 WIM 이미지 파일마다 boot.sdi 파일을 준비하여 전용의 구성으로 연결시키는 것은 매우 비효율적인 모습이 됩니다. 이럴 때는 디스크에 설치된 특정한 boot.sdi 파일 하나로 하나의 램 디스크 장치 옵션 항목을 준비하고 모든 윈도우 PE(WIM 이미지) 부팅 항목에서 이를 공통으로 연결하여 사용하는 것이 효율적이죠.(디스크에는 기본적으로 Bootmgr 부트 매니저도 설치되어 있고)
그리하여 BCD 에서는 이러한 목적에 맞춰 여러 윈도우 PE 부팅 항목들이 공통으로 사용하기 편하도록 고정적인 식별자를 가진 램 디스크 장치 옵션 항목을 준비해 놓았습니다. 그것이 바로 {ramdiskoptions} 항목이죠.
범용적으로 사용되는 램 디스크 장치 옵션 항목 {ramdiskoptions}
대충 아시겠죠? 그래서 우리가 디스크에 WIM 이미지 파일을 위치시켜놓고 부팅을 구성할 때에는 일반적으로 이 {ramdiskoptions} 를 구성하여 사용하는 것입니다. 또~ 그래서 제 글 뿐만 아니라 다른 곳에서도 이 {ramdiskoptions} 항목을 스치듯 보신 분들이 많으실 겁니다. ^^
물론 그렇다고 하여 디스크에 설치되어 잇는 윈도우 PE 부팅 항목은 반드시 {ramdiskoptions} 항목에 연결해야 된다는 것은 아닙니다. 어디까지나 고정적인 식별자를 가졌기 때문에 Ramdisk 장치 경로에서 지정하기가 편리하여 대체적으로 이를 사용하는 것 뿐이죠. 디스크에 설치되는 윈도우 PE 중 컴퓨터 복구에 해당하는 WinRE.wim 은 여전히 자신만의 전용 램 디스크 장치 옵션을 사용하니까요.(물론 공용으로 사용하는 {ramdiskoptions} 를 사용해도 별 문제는 없습니다.)
이상으로 윈도우 PE(WIM 이미지) 의 부팅을 구성하기 전 기본적으로 알고 있어야 할 내용들에 대해서 알아보았습니다. 그럼 다음 글에서는 디스크에 WIM 이미지 파일을 위치시키고 부팅을 구성하는 것을 알아보도록 하겠습니다. 이상입니다. ^^