Tips/Windows

bcdboot.exe 사용법과 이해

Maximer 2012. 12. 9.
728x90

bcdboot의 용도를 잘 모르는 분들이 많은 것 같아 한번 정리하고자 합니다.

bcdboot는 윈도우 6.x 즉 비스타부터 윈도우 7, 윈도우 8계열의 OS를 부팅메뉴에 추가시키는데 사용됩니다.

하지만 단순히 부팅메뉴에 추가만 시키는 것이 아니라, 부트관리자(부트로더)인 bootmgr도 추가할 OS에 맞도록

새로 생성을 해주며, 파일명에서 알 수 있듯이 bcd도 구성을 해줍니다.

그외 멀티부팅화면에 쓰이는 폰트파일도 생성해줍니다.

이점이 bcdedit.exe로 부팅메뉴에 추가하는 것과 다른 차이입니다.

bcdedit.exe는 단순히 bcd파일만 편집을 하여 추가시키는 방식이기 때문에 bcd를 제외한 다른 부분을 전혀 손대지 않습니다.

 

bcdboot는 그럼 언제 사용해야할까요?

일단 일반적인 윈도우 설치 DVD로 설치를 하는 유저에게는 bcdboot를 쓸 필요가 거의 없습니다. 왜냐하면,

윈도우 설치 프로그램이 알아서 bcdboot의 역할까지 다 해주기 때문입니다.

윈도우 DVD로 설치를 하지 않고 직접 imagex나 Gimagex로 윈도우 설치 파일의 핵심인 install.wim을 직접 풀어서

설치를 할 경우에 매우 유용합니다.

또한, 윈도우가 설치된 VHD나 VHDX를 부팅메뉴에 추가시켜줄때에도 자주 쓰입니다.

 

그럼 유형별로 사용예제를 살펴 볼까요?

1. 현재 c:에 윈도우7이 설치되어 있고 d:에 imagex를 통해 install.wim을 풀어준 다음 d:의 윈도우로 멀티부팅을 구성하고 싶을때

bcdboot d:\windows /l ko-kr

d:\windows는 추가시킬 윈도우를 의미합니다.

/L ko-kr 은 Language를 한국어로 하겠단 말입니다. 멀티부팅메뉴화면이 한글로 되는 것이죠.

 

2. 윈도우가 설치된 VHD(X)를 부팅메뉴에 추가시키고 싶을때

먼저 vhd를 마운트해줍니다. VHDX는 윈도우 8계열에서만 마운트가 가능하므로 VHDX를 부팅메뉴에 추가하고싶다면 당연히 윈도우 8에서 해야겠죠.

bcdboot v:\windows /l ko-kr

v:는 마운트된 VHD의 드라이브 문자입니다.

 

3. 새하드디스크에 윈도우를 설치한 후 새하드디스크만으로 부팅하고 싶을때

bcdboot g:\windows /s g: /l ko-KR

g:는 새하드디스크의 윈도우가 설치된 파티션입니다.

/s g: 에서 /s는 시스템파티션을 지정한다는 의미입니다.

만약 모든 하드디스크를 떼어버리고 새하드디스크만 연결해서 부팅이 되도록 하려면

새하드디스크에도 시스템 파티션이 존재해야하므로 /s 옵션으로

시스템파티션을 새하드디스크에 있는 활성화된 파티션에 지정을 해주어야합니다.

활성화시킨 파티션도 g:이기 때문에 /s g:라고 표현한 겁니다.

참고로 시스템파티션은 무조건 활성화가 되어 있어야 합니다.

만약 이렇게 하였는데도 부팅이 되지 않는다면

윈도우 7의 Bootmgr로 부팅할 수 있도록 MBR에 등록이 안되어 있기 때문입니다.

보통 윈도우 7이상에서 파티션을 포맷하게되면 자동적으로 MBR과 PBR도 bootmgr로 수정이 되지만

만약 새하드디스크를 xp에서 포맷을 한뒤 위작업을 윈도우 7계열에서 했다면,

기존 MBR은 여전히 ntldr이기 때문에 bootmgr로 부팅할 수 있도록 bootsect를 통해 수정해주어야 합니다.

bootsect.exe파일은 윈도우자체에 포함되어 있지 않으므로 다운로드 받아야합니다.

bootsect.exe


bootsect /nt60 g: /mbr  

g:는 위에서 지정한 시스템파티션입니다.

이렇게 하면 부팅의 3요소인

파티션활성화,부팅관련파일,MBR업데이트가 모두 충족되기 때문에 새하드디스크만으로 부팅이 가능합니다.

파티션활성화는 디스크관리에서 우클릭으로 활성화가 가능하며

부팅관련파일은 bcdboot가 자동으로 모두 해줍니다.

 

4. 새하드디스크에 사용하던  VHD를 옮겨서 새하드디스크만으로 부팅하고 싶을때

3번과 똑같습니다. 단지 VHD가 마운트된 드라이브로만 바꿔주면 됩니다.

bcdboot v:\windows /s g: /l ko-KR

v:는 마운트된 VHD드라이브입니다.

g:는 새하드디스크의 시스템파티션 즉 활성화 파티션입니다.

물론 이경우에도 bootsect로 mbr업데이트가 필요할 수 있습니다.

 

 

bcdboot의 특성

1. 윈도우 7과 8의 멀티부팅에서의 bcdboot

현재 c:에 윈도우 7이 설치되어 있고 d:에 윈도우 8의 install.wim을 푼 후

bcdboot d:\windows

이렇게 하면 기존의 bootmgr(윈도우7용)은 윈도우 8의 bootmgr로 자동으로 바뀌게 됩니다.

윈도우 8용 bootmgr은 하위 버전과 호환이 가능하기때문에 7,8 모두 부팅이 가능합니다.

 

그러면 반대로 현재 윈도우 8만 설치된 상태에서 d:에 윈도우 7을 풀어준 후에

bcdboot d:\windows

이렇게 하면 어떻게 될까요?

제생각엔 윈도우 7용 bootmgr로 바뀔지 알았는데 여전히 윈도우 8용 bootmgr이더군요.

 

윈도우 7용 bootmgr로는 윈도우 8계열을 부팅시킬수 없기때문에

윈도우 7만 설치된 상태에서 imagex등으로 윈도우 8을 설치한 후에는 꼭

bcdboot를 통해 윈도우 8용 bootmgr로 바꾸어 주든지, 아니면 직접 시스템파티션의 bootmgr(숨김파일임)의

소유자 및 권한을 수정해준 뒤 윈도우 8 용으로 바꾸어 주어야 합니다.

 

2. bcdboot를 통해 부팅메뉴에 추가해주면 멀티부팅메뉴이름이 무조건 정해진 이름대로(Windows 7, Windows 8)만

되며, 추가된 메뉴가 기본 부팅메뉴가 되며, 부팅메뉴중 첫번째 순서로 디스플레이됩니다.

기본부팅메뉴란, 멀티부팅메뉴화면에서 처음 자동으로 선택되어지는 부팅메뉴입니다.

그리고 멀티부팅메뉴 선택 대기 시간이 무조건 30초가 됩니다.

728x90

댓글