[만능 USB를 만들어 보자!] 8편 - 윈도우 PE 추가하기

Multibooting/GRUB4DOS


지난 편에서는 GRUB4DOS에 윈도우 설치 메뉴를 추가하는 방법을 알아보았습니다. 이번에는 윈도우 PE를 추가하는 방법을 알아보려 하는데요, 윈도우 설치 메뉴를 추가하는 것과 매우 비슷하지만 BCD 편집 등 여러 과정이 추가되었습니다. 스크롤이 길지만 천천히 따라와 주세요.

( 윈도우 PE를 모르시는 분들은 이 포스트를 참고하세요. [내 손안의 윈도우, 윈도우 PE를 써보자!] 1편 - 윈도우 PE란?  )


GRUB4DOS에 윈도우 PE 추가하기



GRUB4DOS에 윈도우 PE를 추가하는 것 역시 원리상으로는 윈도우 설치 메뉴를 추가하는 것과 똑같습니다. 윈도우 설치 DVD 자체가 윈도우 설치를 수행하는 하나의 윈도우 PE이기 때문인데요, 그래서 전편에서 윈도우 설치파일을 로드했듯이 bootmgr을 로드해주면 됩니다.

(그래서 지난편에서 윈도우 XP를 로드할 수 없었듯이 윈도우 XP를 기반으로 하는 PE는 이 방법으로는 로드할 수 없습니다.)

다만 달라지는 것은 윈도우 설치용 PE (기본적으로 설치 DVD/ISO에 들어있습니다) 인 boot.wim 대신 다른 PE의 WIM 파일을 로드해주어야 한다는 것인데요, 이 역시 bootmgr의 부팅 정보를 담고있는 파일인 BCD를 수정해줌으로서 해결할 수 있습니다.


STEP 1 - 윈도우 PE 파일 복사하기


전편에서는 윈도우 설치 파일을 복사했었죠? 이번에는 윈도우 PE 파일을 복사해 볼텐데요, 윈도우 PE 파일은 'WIM' 이라는 확장자를 가지고 있습니다. 가지고 계시는 PE는 아마 대부분 ISO 파일일텐데요, 반디집, 알집, 7-ZIP 등 압축 프로그램으로 열어줍시다.



약간씩 다를수도 있겠지만 아마 대부분의 PE는 이런 구조일텐데요, 6편에서 윈도우 설치 메뉴를 추가하신 분들은 여기서는 Sources 폴더만 필요합니다. (7편을 건너뛰신 분들은 그냥 다 복사해주시면 됩니다.)



Sources 폴더 안에는 해당 PE의 WIM 파일이 들어있습니다. 이 파일을 그대로 GRUB4DOS USB의 Sources 폴더 안에 복사해주시면 됩니다.



이렇게요. (설치 파일을 복사하신 분들은 다른 파일이 더 있을 수도 있습니다. 저는 필요없는 파일들은 다 지워버렸습니다 ;;)


STEP 2 - BCD에 윈도우 PE 추가하기


이제 이 WIM 파일을 로드해야할텐데요, 그러기 위해서는 BCD 파일의 수정이 필요합니다. BCD 파일은 윈도우의 2차 부트로더인 bootmgr가 설정 데이터를 저장하는 파일인데요, 윈도우의 bcdedit 명령어로도 편집할 수 있지만 매우 귀찮기 때문에 저는 Bootice를 사용하도록 하겠습니다. 3편에서 받으신 Bootice를 실행해주세요.



Bootice의 상단 메뉴 중 'BCD 수정' 메뉴를 클릭해주세요.



여기서 '다른 BCD 파일(O)'을 선택하시고 '...' 버튼을 클릭하시면 BCD 파일을 불러오실 수 있습니다.



BCD 파일은 GRUB4DOS가 설치된 USB의 Boot 폴더안에 있습니다.



BCD 파일을 선택하셨으면 '보기/수정(E)' 버튼을 클릭해주세요.



이렇게 BCD 설정을 볼 수 있습니다. 이제 추가할 PE의 WIM 파일을 추가 해줘야겠죠?



이렇게 '추가(A)' - WIM 부팅 항목 (Ramdisk)를 클릭해 새로운 항목을 만들어 주세요.


 

그 다음은 이 스크린샷처럼 설정해주시면 되는데요, '부팅디스크''BOOT'로, '장치파일'은 추가할 WIM 파일의 경로를 적어주시면 됩니다. 당연히 '메뉴 제목'에는 원하는 이름을 적어주시면 되고요. (메뉴 제목에는 한글 쓰셔도 됩니다 ^^) '언어'가 기본으로 zh-CN (중국어)로 되어있을텐데요, 큰 상관은 없지만 ko-KR (한국어)로 바꿔줍시다.

여러개의 PE를 추가하려면 이걸 계속 반복해주시면 됩니다. 이제 '현재 시스템 저장(S)'을 클릭해 주세요.


title Windows 7 Setup/PE
find --set-root /instmgr
chainloader /instmgr


GRUB4DOS의 메뉴 파일은 6편을 따라하셨으면 건드리지 않으셔도 됩니다. (제목만 바꿨습니다.)



부팅을 시켜볼까요? GRUB4DOS 화면은 지난번과 똑같지만 메뉴를 선택했을 때 이런 화면이 뜨는 것을 보실수 있으실 텐데요, 이 화면은 bootmgr의 멀티부팅 화면입니다. 여기서 Window PE 메뉴를 선택하면 아까 추가된 PE가 부팅됩니다.


STEP 3 - 윈도우 설치 메뉴와 PE 메뉴 따로 만들기


여기서 그냥 멈춰도 되지만 조금 더 메뉴를 직관적으로 만드려면 윈도우 설치 메뉴와 PE 메뉴를 따로 만들어 주면 좋겠죠?

하지만 메뉴를 여러개 만드려면 2차 부트로더가 여러개 필요하겠죠? 그런데 문제는 윈도우의 bootmgr 부트로더는 /Boot/BCD 파일만 로드한 다는 것입니다. MS는 이 경로를 바꿀 수 있는 다른 방법을 제공하지 않고 있기 때문에 이를 수동으로 수정해 주어야 하는데요, HEX 에디터를 사용해서 일일히 바꿔야 합니다. 거기다가 자체적으로 bootmgr이 파일의 무결성을 확인하기 때문에 수정해도 부팅이 안되는 경우도 있습니다.

다행히 제가 이를 미리 수정해서 여러개의 bootmgr 수정본을 만들어 놓았습니다. (노가다에요 ㅜㅜ) 먼저 밑의 파일을 다운로드 해주세요.




다운로드 하신 파일의 압축을 푸시면 윈본 bootmgr과 BCD 파일을 포함하는 10개의 파일이 들어있을텐데요, '-7MGR'이 붙어있는 파일은 2차 부트로더입니다. 이 부트로더를 로드하시면 앞에 붙어있는 글자를 파일명으로 하는 수정된 BCD파일을 읽어들이게 됩니다. (예를 들어 BDF7MGR을 로드하면 BCD 파일대신 BDF 파일을 읽어들입니다.)

여기서 필요한 파일을 복사하셔서 사용하시면 되는데요, 3글자의 파일은 저장소니 Boot 폴더로, 7글자 파일은 2차 부트로더니 루트 경로로 복사해주시면 됩니다.



이런식으로 복사해주시면 됩니다. (BDF 파일은 이름을 바꾸시면 안되며, BDF7MGR 파일은 바꾸셔도 됩니다.)



이제 다시 Bootice에서 BDF 파일을 불러와서 수정해줘야겠죠? 아까와 똑같이 BDF 파일을 불러오셔서 편집해주시면 되는데요, 이 때 Bootice에서는 기본적으로 BCD 파일 이외에는 볼 수 없으니 파일 형식을 모든 파일(*.*)로 해주셔야 합니다.

STEP 2 에서와 똑같이 수정해주시고 BCD의 PE 메뉴는 지워주세요.


title Windows 7 Setup
find --set-root /instmgr
chainloader /instmgr

title Windows PE
find --set-root /bdf7mgr
chainloader /bdf7mgr


이제 GRUB4DOS의 메뉴에 BDF7MGR을 로드하는 메뉴를 추가해주세요.



그런 뒤 부팅하시면 이렇게 두 개의 메뉴가 보이는 것을 확인하실 수 있습니다. 상단의 Windows Setup 메뉴의 경우 윈도우 설치 파일이, 하단의 Windows PE 메뉴의 경우 윈도우 PE가 로드됩니다.


이렇게 GRUB4DOS에 윈도우 PE 추가하기를 마쳤습니다. 다음 편에서는 MAP 명령어를 이용해서 ISO 파일을 부팅하는 방법을 알아보도록 하겠습니다.