본문 바로가기

부팅과 멀티 부팅

BCDBoot 를 활용하여 Bootmgr 부트 매니저를 교체 및 설치하는 방법에 대해서 - BIOS, UEFI 겸용



1. Bootmgr 부트 매니저의 교체와 설치에 대해서

윈도우를 사용하다 보면 어떠한 이유에 의해 Bootmgr 부트 매니저를 처음부터 설치하거나, 또는 현재 사용 중인 Bootmgr 부트 매니저를 새로운 버전으로 교체해야 할 필요가 생깁니다. 이 때 흔히 사용되는 방법이 바로 기존에 설치된 Bootmgr 부트 매니저 파일들을 그대로 복사해와 교체 또는 설치하는 것입니다. [참고로 이 때 USB 플래시 메모리와 같은 이동식 저장 매체에 Bootmgr 부트 매니저를 구성하는 것은 예외로 하며, 그리하여 Bootmgr 부트 매니저를 설치하는 작업은 윈도우 XP 를 단독으로 사용하는 경우에만 국한 됨을 미리 알아두시길 바랍니다.]

복사를 통해 Bootmgr 부트 매니저를 교체하거나 설치하는 방법은 따로 설명하지 않도록 하겠습니다. 아무튼, 이렇게 Bootmgr 부트 매니저 구성 파일을 직접 복사하여 Bootmgr 부트 매니저를 교체하거나 새로 설치 작업을 간단하게 정리하면 아래와 같습니다.

Bootmgr 부트 매니저 교체 : 기존의 Bootmgr 부트 매니저 파일 제거 → 새로운 Bootmgr 부트 매니저 파일 복사

Bootmgr 부트 매니저 설치 - 윈도우 XP

1. Bootmgr 부트 매니저 파일 복사 [Copy]
2. Bootmgr 부트 매니저를 주 부트 매니저로 등록 [Bootsect 로 작업]
3. BCD(Bootmgr 부트 매니저 부팅 설정 파일) 에 NTLDR 부트 매니저에 대한 부팅 항목 구성 [BCDEdit 로 작업]


그런데 이렇게 Bootmgr 부트 매니저의 구성 파일들을 직접 복사하는 방식으로 설치 또는 교체하는 작업에는 한 가지 굉장히 난해한 문제가 있습니다. 그건 바로 시스템 파티션의 분할 로드 구성 즉, BIOS 부팅 환경에서의 시스템 예약 파티션과 UEFI 환경에서의 ESP(EFI 시스템 파티션) 환경에 대처하기가 굉장히 곤란하다는 점입니다. 만약 배치 파일을 통해 이를 자동으로 처리하려는 경우에는 이게 좀 문제가 복잡하죠.

대표적인 분할 로드 구성인 UEFI 의 ESP 의 모습.


특히나 UEFI 환경의 ESP 파티션은 다루기가 굉장히 까다롭습니다. 기본적으로 EFI 시스템 파티션은 익스플로러 셀(윈도우 탐색기)이나 디스크 관리를 통한 접근이나 수정이 원천적으로 봉쇄되어 있기 때문에, 모든 작업을 DiskPart 와 명령 프롬프트를 통해 제어해야 하는 문제가 있습니다.

그런데 이 문제는 Bootmgr 부트 매니저의 BCD 부팅 파일 작성 및 복구 도구인 BCDBoot 를 활용하면 간단하게 해결이 가능합니다.




2. BCDBoot 를 활용하여 Bootmgr 부트 매니저의 교체 및 설치하기

A. BCDBoot 도구의 작업에 대한 이해

익히 알다시피 BCDBoot 는 작업에서 지정한 윈도우에 포함된 Bootmgr 부트 매니저 구성 파일을 사용하여 새로 Bootmgr 부트 매니저를 설치하거나, 복구하는 도구입니다. BCDBoot 가 Bootmgr 부트 매니저의 설치 및 복구에 사용하는 Bootmgr 부트 매니저 구성 파일들은 윈도우 폴더 하위의 Boot 폴더 즉, \Windows\Boot 폴더에 준비되어 있습니다.

윈도우 폴더에 준비되어 있는 Bootmgr 부트 매니저 파일들의 모습.


그리고 해당 윈도우에 대한 부팅 항목의 구성은 BFSVC.exe 도구를 통해 \Windows\System32\Config\BCD-Template 파일을 참조하여 구성하게 되죠.

부팅 항목 구성 참조 파일.


즉, 여러분들이 만약에 아래와 같은 BCDBoot 명령을 내린다면,

Bcdboot C:\Windows /s S: /f BIOS

BCDBoot 는 C:\Windows\Boot 폴더 하위에 미리 준비된 Bootmgr 부트 매니저 파일들 중에 BIOS 부팅 환경용 파일들만 추출하여 S: 드라이브에 Bootmgr 부트 매니저를 설치(또는 복구)하고, 다시 해당 윈도우에 따로 준비된 BCD-Template 파일을 참조하여 부팅 항목을 BCD 에 생성(추가)하는 작업을 진행하는 겁니다. 간단하죠?

여기에서 굉장히 중요한 것이 하나 있는데요. 그건 바로 BCDBoot 는 먼저 \Windows\Boot 폴더에서 부트 매니저 파일들을 추출하여 설치(교체)하고, 그 다음으로 BCD-Template 파일을 참조하여 해당 윈도우에 대한 부팅 항목(BCD)을 구성한다는 점입니다.

바로 이러한 BCDBoot 의 작업 방식을 Bootmgr 부트 매니저의 교체 및 설치에 활용하는 겁니다.



B. BCDBoot 를 사용하여 Bootmgr 부트 매니저 교체하기

작업을 간단하게 설명을 드리자면 윈도우 폴더 대용으로 먼저 적절한 폴더를 하나 만들고, 그곳에 원하는 버전의 \Windows\Boot 폴더를 통채로 복사해놓습니다. 예를 들어 D:\Bootmgr-8 이라는 폴더를 하나 만들고 여기에 윈도우 8 에서 추출한 Boot 폴더를 통채로 넣어두면, 그건 윈도우 8 용 Bootmgr 부트 매니저를 설치할 수 있는 뼈대 폴더가 되는 것이죠.

BCDBoot 를 통해 Bootmgr 부트 매니저를 설치할 수 있는 뼈대 폴더.
다른 말로 구라 폴더.



이렇게 적당히 가짜 윈도우 폴더를 준비한 후, 해당 폴더를 마치 윈도우 폴더처럼 사용하여 BCDBoot 명령을 내리면 됩니다.

Bcdboot D:\Bootmgr-8


그러면 위와 같이 작업 중간 오류가 나게 됩니다. 이것은 작업에서 지정한 폴더가 진짜 윈도우가 아닌 가짜 윈도우이기 때문에 정상적인 결과입니다. 교체 작업은 이게 끝입니다. 이미 Bootmgr 부트 매니저는 해당 폴더에 준비한 최신의 Bootmgr 부트 매니저 버전으로 교체가 되었습니다. 간단하죠?

이 방법의 최대 장점은 시스템 파티션에 드라이브 문자가 할당되어 있는 단일 로드 구성은 물론, BIOS 부팅 환경의 시스템 예약 파티션과 UEFI 부팅 환경의 ESP 파티션과 같이 드라이브 문자가 할당되어 있지 않거나, 일반적인 방식으로 접근이 차단된 경우에도 정상적으로 작업이 가능하다는 것에 있습니다. 즉, BIOS 부팅 환경이든, UEFI 부팅 환경이든, 시스템 파티션(ESP 등)에 드라이브 문자가 할당되어 있든 말든, 상관 없이 작업을 진행할 수 있습니다.



C. BCDBoot 를 사용하여 Bootmgr 부트 매니저 설치하기 - 윈도우 XP

Bootmgr 부트 매니저를 최신 버전으로 단순 교체하는 작업은 말씀드린 것처럼 위의 작업만으로도 끝이고요. 아직 Bootmgr 부트 매니저가 설치되어 있지 않은 윈도우 XP 환경에서 Bootmgr 부트 매니저를 새로 설치하는 것을 목적으로 작업한 경우라면, 현재 다른 부트 매니저 구성 파일들의 설치는 모두 끝났지만 BCD 는 설치되어 있지 않은 상태입니다.

그래서 이 방법을 사용하여 윈도우 XP 에 Bootmgr 부트 매니저를 설치하는 경우라면 추가로 BCD 파일을 수동으로 구성해야 합니다. 이 때 BCD 는 마찬가지로 미리 준비한 뼈대 폴더에서 윈도우 설치 미디어를 위해 미리 준비되어 있는 BCD 를 토대로 구성하면 됩니다.

참고로 해당 BCD 는 윈도우 설치 미디어(DVD) 부팅을 기준으로 부팅 항목이 구성되어 있는 파일이기 때문에, 먼저 해당 BCD 를 시스템에 Import 하여 불러온 후, 아래와 같이 약간의 추가 작업을 통해 필요 없는 설정들을 지우고 NTLDR 부트 매니저를 추가로 구성해주면 됩니다.

bcdboot D:\Bootmgr-8

bcdedit /import D:\Bootmgr-8\Boot\DVD\PCAT\BCD

bcdedit /delete {default}
bcdedit /set {bootmgr} locale ko-KR
bcdedit /set {memdiag} locale ko-KR

bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device boot
bcdedit /set {ntldr} path \ntldr

bcdedit /displayorder {ntldr} /addfirst
bcdedit /default {ntldr}




여기까지 해서 Bootmgr 부트 매니저에 대한 설치는 모두 마쳤습니다. 그럼 이제 마지막으로 현재 시스템 파티션의 부팅 섹터는 NTLDR 부트 매니저를 찾도록 되어 있기 때문에 이를 Bootmgr 부트 매니저를 찾도록 바꿔주면 됩니다. [이 때 Bootsect.exe 파일은 미리 사용할 수 있도록 준비하셔야 합니다.]

bootsect /nt60 SYS



이렇게 BootSect 도구를 통해 부팅 섹터의 수정 작업을 마쳐야만 Bootmgr 부트 매니저가 비로소 시스템의 주 부트 매니저로써 사용됩니다. 윈도우 XP 에서 Bootmgr 부트 매니저를 새로 설치하는 것도 이게 끝입니다. 간단하죠? 이제 윈도우 XP 에서도 윈도우 PE 용 WIM 부팅 이미지를 사용하여 부팅을 진행할 수 있습니다.




3. Bootmgr 부트 매니저 자동 설치(교체) 배치 파일

아래의 글에서 최신 버전을 제공하고 있습니다.