윈도우 비스타와 7 의 부트 매니저 - Bootmgr 과 BCD 저장소
윈도우 비스타 이전에 출시된 윈도우 XP 계열의 윈도우들은[윈도우 NT, 2K, XP, 2K3] 부트 매니저로 NTLDR 을 사용하였습니다. NTLDR 부트 매니저는 Boot.ini 부팅 환경 설정 파일을 통하여 윈도우의 부팅을 구성하고 진행합니다.
그런데 NTLDR 부트 매니저의 등장 이후로도 컴퓨팅 환경은 끊임없이 변화하고 바뀌어 왔습니다. 새로운 장치가 개발되고 새로운 규격이 표준이 되고 많은 변화가 발생하였죠. 윈도우도 새로운 컴퓨팅 환경에 대응해야 하는 입장에 놓이게 되었죠. 하지만 NTLDR 부트 매니저는 너무 오래되어 낡았습니다. 이제 더이상 예전의 개념과 예전의 하드웨어 상황에 맞춰 개발되었던 NTLDR 부트 매니저만으로는 변화된 환경에 대응하기가 힘들어졌습니다.
그리하여 마이크로소프트에서는 변화된 컴퓨팅 환경을 지원하기 위해 윈도우의 부팅 구조를 뜯어 고치고 이에 맞춰 Bootmgr 부트 매니저를 새롭게 내놓았습니다. Bootmgr 부트 매니저는 NTLDR 부트 매니저를 대체하여 윈도우 비스타 이후의 윈도우들의[윈도우 Vista, 7, 2008, 2008 R2] 기본 부트 매니저로 사용되고 있으며 비스타 이후 새롭게 변화된 윈도우의 부팅 구조에 대응하고 있습니다.
이렇게 윈도우의 변화된 부팅 구조로 인해 새로운 윈도우들은 기존의 NTLDR 부트 매니저를 통해서는 부팅할 수 없으며 오직 Bootmgr 부트 매니저를 통해서만 부팅할 수 있습니다. 이러한 Bootmgr 부트 매니저는 BCD[Boot Configuration Data, 부팅 구성 데이터] 라는 기존의 Boot.ini 에 대응하는 새로운 부팅 환경 설정을 사용합니다.
윈도우 비스타와 윈도우 7 의 부팅과 멀티 부팅의 구성은 모두 이러한 새로운 부트 매니저인 Bootmgr 과 BCD 저장소를 통해 이루어집니다. 지난 10여년이 넘는 세월 동안 우리를 이끌었던 NTLDR 과 Boot.ini 의 시대가 저물고 새로운 Bootmgr 과 BCD 의 시대가 도래한 것이죠.
고로 우리는 새로운 윈도우들의 부팅을 위하여 Bootmgr 과 BCD 에 대해서 새로 배워야 합니다.
NTLDR 부트 매니저에서 Bootmgr 부트 매니저로의 변화
기존까지 사용되던 NTLDR 부트 매니저에서 새로운 Bootmgr 부트 매니저로의 변화를 아주 간단하게 나타내면 아래와 같습니다.
NTLDR -> Bootmgr
Boot.ini -> BCD
Boot.ini -> BCD
즉, 큰 틀에서 생각을 해보면 여전히 윈도우의 부팅은 부팅을 총괄하는 부트 매니저와(NTLDR -> Bootmgr) 이에 대한 환경 설정을 담고 있는 환경 설정 파일로(Boot.ini -> BCD) 구성이 되어 있다는 것이지요. 이제 이러한 구성 속에서 세부적인 내용들이 살짝씩 바뀌었을 뿐 입니다.
Bootmgr 부트 매니저의 기본
Bootmgr 부트 매니저와 그 환경 설정 파일인 BCD 는 윈도우 비스타 이후의 윈도우를 설치할 때 설치 프로그램에 의해 자동으로 CMOS 기준 첫 번째 디스크의 활성 파티션에 설치됩니다.
참고 - 윈도우의 부팅은 어떻게 진행되나? - 윈도우의 부팅 구조 -
그리고 이렇게 윈도우의 부트 매니저가 설치되어 시스템의 전체적인 부팅을 총괄하는 파티션을 윈도우에선 시스템 파티션이라고 부르며 디스크 관리 도구에서 시스템으로 표시해 줍니다.
참고 - 활성 파티션, 시스템 파티션, 부팅 파티션의 정확한 개념 정리
윈도우 XP 의 부트 매니저였던 NTLDR 때와 동일하죠. 이 외에도 PC 의 부팅 구조에 입각하여 부트 섹터에 자신의 부트 매니저를 찾도록 기록하는 등의 내용도 모두 모두 동일합니다. 즉, 이것은 바이오스를 기반으로 하는 PC 의 부팅 영역에 해당하는 것이기에 변하지 않는 것이죠. 그 외 윈도우가 독자적으로 정리하는 개념인 시스템, 부팅 파티션 등의 개념도 동일하게 계속 이어져 오고 있습니다.
Bootmgr 부트 매니저의 구성
Bootmgr 부트 매니저는 시스템 파티션에 위치하고 있으며 아래의 파일들로 구성이 되어 있습니다.
* 해당 파일들은 시스템 파일 속성으로 숨겨져 있습니다. 윈도우 탐색기의 폴더 옵션에서 숨김 파일과 시스템 파일을 볼 수 있도록 설정해야 확인할 수 있습니다.
Bootmgr 부트 매니저는 보시는 것과 같이 Bootmgr 파일과 [Boot] 폴더로 이루어져 있습니다. 이들은 위에서 미리 말한 것과 같이 반드시 시스템 파티션에 위치하고 있으며 경로는 드라이브의 루트에 위치하고 있습니다.
이 중에서 [Boot] 폴더를 좀 더 살펴보자면 부팅 환경 설정 파일인 BCD 와 폰트가 모여 있는 [Fonts] 폴더, 그리고 각 언어를 지원하기 위한 언어 폴더들이 있으며 마지막으로 메모리 진단 도구인 Memtest.exe 파일로 이루어져 있습니다.
이것이 Bootmgr 부트 매니저의 구성입니다. 굉장히 복잡해 보이지만 다른 것은 크게 신경쓰지 않으셔도 되고 Bootmgr 부트 매니저 파일과 환경 설정 파일인 BCD 파일(BCD 는 [Boot] 폴더 하위에 위치한다는 것)만 잊지 않고 제대로 기억하고 계시면 될 듯 합니다.
C: 드라이브에 Bootmgr 부트 매니저가 없다?
이것은 어쩌면 누군가에게는 매우 중요한 내용일 수 있는데요. 윈도우 XP 의 부팅에 익숙한 사람들은 습관적으로 부트 매니저를 찾기 위해 일단 C: 드라이브를 열어보게 됩니다. 보통 C: 드라이브에서 잘 찾기도 하지만 간혹 C: 드라이브에 Bootmgr 부트 매니저가 없어서 당황하기도 하는데요. 이건 왜 그럴까요?
바로 기존과 달리 7 계열 윈도우들의 드라이브 문자 할당 기준이 바뀌었기 때문입니다. 일단 아래를 보시죠.
* 윈도우의 부트 매니저는 첫 번째 디스크의 활성 파티션에 설치됩니다.
* 윈도우의 부트 매니저가 설치된 활성 파티션은 디스크 관리 도구에서 시스템으로 표시됩니다.
* 윈도우의 부트 매니저가 설치된 활성 파티션은 디스크 관리 도구에서 시스템으로 표시됩니다.
NTLDR 이나 Bootmgr 이나 똑같이 첫 번째 디스크의 활성 파티션에 설치되고 윈도우는 해당 파티션을 시스템 파티션으로 명명한다는 것은 변하지가 않았죠. 하지만
1. 기존의 윈도우 XP 계열 윈도우들(NT, 2000, XP, 2003)
XP 계열의 윈도우들은 설치 당시 부트 매니저가 설치된 시스템 파티션을 C: 드라이브로 설정합니다.
2. 새로운 윈도우 7 계열 윈도우들(비스타, 7, 2008, 2008 R2)
7 계열의 윈도우들은 설치 당시 윈도우가 설치된 부팅 파티션을 C: 드라이브로 설정합니다.
이렇게 바뀌었다는 것이죠. 위와 같은 윈도우 버전대에 따른 드라이브 문자 할당 기준의 변화로 인해 윈도우 XP 로 부팅한 상태에서 부트 매니저를 찾을 때면 보통 복잡하게 디스크 관리 도구를 열어볼 필요없이 그냥 C: 드라이브를 살펴보면 됐지만 윈도우 비스타 이후 7 계열의 윈도우들로 부팅한 상태에서는 반드시 디스크 관리 도구를 확인해 보아야 한다는 것이죠.(클린 설치 기준)
부트 매니저가 설치되는 위치는 첫 번째 디스크의 활성 파티션이라는 것엔 변함이 없습니다. 이걸 잊지 마세요. 단지 윈도우 XP 에서는 설치 당시 해당 파티션을 C: 드라이브로 지정하고 윈도우 비스타나 7 에선 설치 당시 해당 파티션을 C: 드라이브로 지정하지 않는다는 것입니다.(클린 설치 기준) 심지어 윈도우 7 을 설치할 때에는 시스템 파티션에 드라이브 문자를 아예 할당하지 않기도 합니다.(시스템 예약 파티션)
일단 드라이브 문자라는 것은 가변적인 것입니다. 즉, 현재 부팅한 윈도우가 무엇이냐에 따라 그리고 사용자가 어떻게 드라이브 문자를 할당했느냐에 따라 동일한 파티션일지라도 드라이브 문자가 달라질 수 있습니다. 이러한 드라이브 문자 중 윈도우는 설치될 때 특별한 위치를 C: 드라이브로 고정하려고 하고 이후 바꿀 수 없게 하는데, XP 는 그게 시스템 파티션이고 비스타와 7 은 그게 부팅 파티션인 것입니다.
고로 현재 윈도우 비스타나 윈도우 7 을 사용 중인 상태라면(윈도우 비스타나 7 으로 부팅된 상태라면) Bootmgr 부트 매니저를 찾기 위해서는 일단 디스크 관리 도구를 실행하여 시스템 파티션의 위치를 확인해 보아야 합니다.
[클릭하면 큰 이미지로 확인이 가능합니다.]
윈도우 XP 에서는 저기가 특수한 경우를 제외하곤 C: 드라이브였지만 비스타나 7 에선 다른 드라이브 문자일 가능성이 매우 크다. 때론 드라이브 문자가 할당되지 않은 상태일 수도 있다.
윈도우 XP 에서는 저기가 특수한 경우를 제외하곤 C: 드라이브였지만 비스타나 7 에선 다른 드라이브 문자일 가능성이 매우 크다. 때론 드라이브 문자가 할당되지 않은 상태일 수도 있다.
정리
NTLDR -> Bootmgr
Boot.ini -> BCD
Boot.ini -> BCD
윈도우 7 의 부트 매니저인 Bootmgr 파일과 [Boot] 폴더는 윈도우 7 을 기준으로 시스템 파티션의 루트에 숨겨져 있다.(해당 파티션은 윈도우 7 상태에선 C: 드라이브가 아닐 수 있다.)
새로운 윈도우 7 계열 윈도우들의 부트 매니저인 Bootmgr 부트 매니저에 대한 오늘의 주요 내용들을 정리하자면 이와 같겠네요. 그럼 이번 글은 이쯤에서 마치고 다음 글에서 뵙도록 하겠습니다.