[Windows PE] 윈도우 PE란?

Multibooting/Windows PE


컴퓨터를 쓰다보면 누구나 한번씩은 갑자기 컴퓨터가 안켜지는 상황을 마주치게 됩니다. 이런 경우, 간단히 컴퓨터를 재포맷 할수도 있겠지만, 만약 중요한 자료가 안에 있다면 어떻게 해야할까요? 하드디스크를 뽑아서 다른 컴퓨터에 연결하는 방법도 있지만, 시간도 오래걸리고 하기도 쉽지 않죠.

이번 포스팅에서는 이런 상황을 만났을 때 유용하게 사용할 수 있는, 휴대용 윈도우인 윈도우 PE을 소개하겠습니다. 

PE 란 Windows Preinstallation Environment의 약자로, 윈래는 윈도우를 설치할 때 설치 프로그램을 실행하기 위한 임시 OS입니다. 기존의 윈도우에서 꼭 필요한 기능들만 모아두었기 때문에 간단한 프로그램을 실행할 수 있는, CD/DVD등을 포함한 이동식 저장매체에서 동작하는 윈도우의 축약판이라고 보시면 되겠습니다.

PE의 장점은 하드웨어가 바뀌어도 정상적으로 작동한다는 것인데요, 기존의 윈도우는 처음 설치시 인식한 하드웨어 정보를 기반으로 작동하기 때문에 하드웨어가 바뀌면 여러가지 문제가 생기지만, PE는 대부분의 경우 아무런 문제 없이 돌아갑니다.

윈도우 8은 Windows To Go 라는 기능을 통해 부팅시 다른 하드웨어가 감지되면 모든 드라이버를 다시 로드하는 방법으로 다른 하드웨어에서도 정상적으로 사용할 수 있지만, 실제 운영체제 자체를 이동식 저장 매체에 설치하는 윈리이기 때문에 CD/DVD로는 부팅이 불가능하고, 속도가 느린 USB를 사용하면 실사용이 불가능할정도로 느려지기 때문에 외장하드나 USB 3.0을 사용해야한다는 단점이 있습니다.

하지만 PE는 부팅시 램에 가상 드라이브를 생성한 후 그곳에 필요한 모든 파일을 옮겨놓고 부팅하기 때문에, 오히려 하드디스크에서 실행되는 기존 윈도우보다 훨씬 빠른 속도로 동작하게되고, CD/DVD 등 읽기 전용 메모리를 통해서도 부팅할 수 있습니다. 또한, 윈도우 8의 Windows To Go는 기본용량이 6~7GB인 반면, Windows 7을 기반으로 만들어진 PE의 기본용량은 300MB도 채 안되기 때문에, 용량 면에서도 훨씬 효율적이게 되죠.

자, 이제 가장 기본적인 형태의 PE의 모습을 구경해 보도록 하겠습니다. 윈도우 7 설치 CD/DVD 나 USB를 넣고 부팅하면 다음과 같은 화면이 뜨면서 PE를 로드합니다.



아까 말씀드렸듯이, PE는 부팅하기 전 모든 파일을 임시 램디스크에 복사한 뒤 부팅하게 됩니다. 따라서 처음 부팅할 때 파일들을 로드하게 되는데요, PE에 따라 다르지만 평균적으로 1~2분 정도의 시간이 소요됩니다.



기본 윈도우 7 설치 DVD가 부팅된 화면입니다. 이 설치프로그램은 PE 위에서 구동되고 있습니다. 여기서 SHIFT + F10을 눌러볼까요?



설치 화면에서 SHIFT + F10을 누르면 명령프롬프트 창이 뜨게 됩니다. 일반 윈도우에서 사용할수 있는 대부분의 명령어들은 다 사용이 가능하고요, 도스 명령어에 자신이 있으신 분들은 이 명령프롬프트 하나로 백업, 복사 등 대부분의 작업을 하실 수 있으실겁니다. 물론 여기서 다른 프로그램들을 더 실행할 수도 있죠.

윈도우 설치 ISO 내부를 보면 크게 boot, efi, sources 폴더가 있고, bootmgr 이라는 부트로더와 setup.exe가 존재합니다. 여기서 실질적인 설치를 담당하는 프로그램은 setup.exe 인데요, 윈도우 7 설치용 PE의 대략적인 구조는 다음과 같다고 할 수 있습니다.



기본적인 윈도우 7 PE는 부팅된 뒤 바로 Setup.exe를 실행하도록 설정되어있습니다. 만약 위 Setup.exe를 다른 실행파일로 바꿔치기한다면 어떻게 될까요? 당연히 PE는 바꿔치기된 파일을 실행하게 됩니다.



Ghost32.exe 를 Setup.exe와 바꿔치기한 후 부팅된 모습입니다. 보시다시피 기본 윈도우 7 설치 프로그램이 아닌 고스트 프로그램이 실행되는 것을 확인 하실수 있습니다. 이런방식으로 간단한 PE를 만들수 있습니다.

만약 시작메뉴 등 GUI기능을 넣고 싶으면 어떻게 할까요? 간단합니다. 시작메뉴 프로그램을 넣어준 뒤 자동으로 실행하도록 프로그램을 만들어 주면 됩니다.



위 스크린샷은 현재까지 나온 한국어 윈도우 7 PE 중 explore 쉘을 사용해서 실제 윈도우 환경에 가깝게 만들어진 UserPE입니다. 역시 윈도우 7 설치 PE를 기반으로해서 실행된 뒤, explorer 쉘 등을 실행하는 식으로 구동됩니다.

서론이 길어졌네요... 다음 편부터는 간단한 윈도우 PE를 만들어 보도록 하겠습니다.