본문 바로가기

부팅과 멀티 부팅

[Bootmgr] 윈도우 7 계열의 부팅 항목을 수동으로 생성하기 - BCDEdit.exe

* 명령 프롬프트는 관리자 권한으로 실행하세요. [관련 포스팅]


* GUID 등의 입력이 까다롭다면 명령 프롬프트의 텍스트 복사 기능을 활용하세요. [관련 포스팅]


* 윈도우 XP 에서 작업하기 위해선 BCDEdit.exe 를 미리 준비해야 합니다. [관련 포스팅]



이번 포스팅에서 알아볼 내용은 7 계열(6.x 버전대) 윈도우들의 부팅 항목을 BCDEdit.exe 를 통해 수동으로 생성, 추가하는 방법입니다. 일단 기본적인 조건을 알아볼까요?

작업 조건
* 이 글에서 설명하는 작업으로 부팅 항목을 추가(생성)할 수 있는 윈도우는 버전 6.x 대인 윈도우 비스타, 윈도우 7, 윈도우 서버 2008, 윈도우 서버 2008 R2, 그리고 출시 예정인 윈도우 8 입니다. 윈도우 XP 나 윈도우 서버 2003 등 버전 5.x 대의 윈도우는 작업이 전혀 다릅니다.

* 이 글은 일반 드라이브에 설치된 윈도우를 대상으로 합니다. VHD 에 설치된 윈도우의 경우 작업 시점을 기준으로 시스템에 연결되어 드라이브 문자를 할당 받은 상태라면 동일하게 일반 드라이브로 취급할 수 있습니다.

작업 요약
BCDEdit.exe 를 통해 6.x 버전대 윈도우의 부팅 항목을 수동으로 구성하는 방법에 대한 설명입니다.


윈도우 7 계열의 부팅 항목이 어떻게 구성되어 있는지는 지난 글인 윈도우 7 의 부팅 - 윈도우 7 계열 부팅 항목의 전체적인 구성 이해하기 에서 모두 알아보았습니다. 해당 글에서 살펴본 것과 같이 윈도우 7 계열 부팅 항목 대부분의 설정은 거의 고정적인 값을 가진다고 보시면 됩니다. 이제 실제 작업에서는 현재 작업하려는 시점에서 윈도우의 드라이브 위치만 정확하게 파악하여 Device 와 OSDevice 설정만 그에 맞게 해주고 나머지는 기본값대로 그대로 설정해주면 되는 것이죠.


그럼 실제로 작업을 진행해 보도록 하겠습니다. 부팅 메뉴에 추가할 윈도우가 설치되어 있는 드라이브가 현재 작업을 진행하려는 윈도우를 기준으로 어떤 드라이브인지를 확인합니다.


스크린 샷으로 보시는 것과 같이 예제에서는 현재 작업 시점을 기준으로(현재 윈도우를 기준으로) D: 드라이브에 설치된 윈도우의 부팅 항목을 수동으로 생성하고 부팅 메뉴에서 선택할 수 있도록 등록하는 작업을 해보도록 하겠습니다.


윈도우 6.x(7 계열) 부팅 항목 생성하기 - BCDEdit.exe
작업 전 파악한 윈도우의 위치
추가하려는 윈도우의 위치 - D:

부팅 항목 생성 및 추가 단계 요약 - [관련 포스팅]
첫 째, 부팅 항목을 만들고
둘 째, 만든 부팅 항목에 대한 설정을 모두 마친 후
셋 째, 해당 부팅 항목을 원하는 방식으로 Windows 부팅 관리자에 등록




명령 프롬프트를 관리자 권한으로 실행하신 후 다음의 명령을 차례로 내려줍니다.

1. 부팅 항목의 생성

bcdedit /create /d "Windows 7 Professional K" /application osloader
└ 이 때 부팅 항목의 표시 이름은 원하는대로 적절히 입력하세요.


그러면 부팅 항목이 생성되면서 생성된 부팅 항목의 GUID 식별자(Identifier)가 출력됩니다. 이후부터 해당 항목의 옵션을 쭈욱 설정하게 될텐데요. 그 때 지금 출력된 이 GUID 식별자로 항목을 지정하시면 되는 겁니다. 쉽죠? 예제에선 간단하게 {GUID} 로 표현하도록 하겠습니다.


2. 부팅 항목의 설정

* GUID 는 글의 처음에 링크로 알려드린 복사 - 붙여넣기를 통해 입력하시면 편합니다.

bcdedit /set {GUID} device partition=D:
bcdedit /set {GUID} osdevice partition=D:
bcdedit /set {GUID} path \Windows\System32\Winload.exe
bcdedit /set {GUID} systemroot \Windows
bcdedit /set {GUID} locale ko-KR
bcdedit /set {GUID} Inherit {bootloadersettings}
bcdedit /set {GUID} nx OptIn
bcdedit /set {GUID} detecthal Yes



먼저 생성한 항목의 GUID 만 잘 보시고 장치 경로를 설정하는 DeviceOSDevicepartition=D: 값만 여러분에게 맞게 잘 바꿔주신 후 나머지는 그대로 똑같이 작업하시면 되는 겁니다. 이건 어떤 7 계열 윈도우를 추가하더라도 모두 동일하다고 생각하시면 되요. 간단하죠? 그래서 제가 예전에 말하길 윈도우 부팅 항목 생성은 단순 반복 노동이라고 표현한 겁니다.

윈도우 부팅 항목의 생성은 모두 끝났습니다. 이제 이걸로 부팅을 진행할 수 있도록 Windows 부팅 관리자 항목에 등록해주기만 하면 됩니다.


3. 부팅 항목의 목록 등록

GUID 는 마찬가지로 동일하구요. 이제 해당 부팅 항목을 메뉴의 처음에 등록할 지 마지막에 등록할 지를 판단하시고 아래의 두 명령 중 하나를 골라서 작업하세요. 이 작업을 안 하면 부팅 목록에서 선택할 수 없으니 둘 중에 하나는 꼭 해주셔야 합니다.

부팅 목록의 처음으로 등록
bcdedit /displayorder {GUID} /addfirst

부팅 목록의 마지막으로 등록
bcdedit /displayorder {GUID} /addlast


여기까지 오셨으면 일단 부팅 항목의 생성과 추가는 모두 마치신 겁니다. 짝~짝~짝~


자~ 일단 기본적인 작업을 마쳤습니다. 작업이 다소 귀찮을 뿐이지 그리 어려운 것은 없었죠? 이제 해당 윈도우의 부팅 항목이 정상적으로 생성이 되고 부팅 목록에도 잘 추가가 되었는지 확인하기 위해 활성 목록을 살펴보도록 하죠.

bcdedit


저는 bcdedit /displayorder /addfirst 를 통해 목록의 처음으로 등록했기 때문에 Displayorder 에서 방금 생성한 항목이 처음으로 등록이 되어 있네요. 이제 현재 윈도우를 기준으로 D: 드라이브에 위치해 있는 윈도우는 앞으로 멀티 부팅 목록에서 목록의 처음에 Windows 7 Professional K 라는 이름으로 출력이 될 겁니다. 시스템을 재부팅하고 실제로 그렇게 출력이 되는지 확인해 보죠.



네~ 정상적으로 부팅 등록이 완료 되었네요. 이제 부팅이 정상적으로 이루어지는지 확인과 마무리 작업을 위해 방금 추가한 윈도우로 부팅을 진행합니다. 아마 실수하지 않았다면 특별한 문제없이 부팅이 정상적으로 완료될 겁니다.


부팅이 정상적으로 진행되어 윈도우로 진입하였다면 다시 관리자 권한으로 명령 프롬프트를 실행하고 BCDEdit.exe 를 통해 활성 목록을 확인해 봅니다.


* 참고로 현재 방금 전 부팅 항목을 생성했던 윈도우로 부팅을 진행한 상태이죠. 이는 조금 전 D: 드라이브였던 곳이 해당 윈도우로 부팅한 후에는 C: 드라이브로 인식된다는 것을 의미합니다. 또한 현재 부팅을 진행한 항목이기 때문에 해당 항목의 GUID 식별자는 {current} 로 인식이 됩니다. 이건 내용은 기본으로 알고 계셔야 합니다. (그래서 힘들지만 기본 이론 포스팅들을 그리도 남겼습니다. ㅜ_ㅜ) [관련 포스팅 1] [관련 포스팅 2] [관련 포스팅 3]

자~ 현재 해당 윈도우로 부팅을 진행했으니 {current} 로 표시되고 파티션도 C: 드라이브로 바뀌어서 표시되었지만 Displayorder 의 목록 순서와 Description 을 통해 알 수 있듯이 조금 전 우리가 생성했던 그 부팅 항목이 맞습니다. ^^ 또한 지난 글인 윈도우 7 의 부팅 - 윈도우 7 계열 부팅 항목의 전체적인 구성 이해하기 에서 이야기 한 것과 같이 우리가 작업하지 않았던 resumeobject 옵션이 자동으로 구성되고 추가된 것을 확인할 수 있죠.

이제 마무리로 이 부팅 항목을 기본 부팅 항목으로 설정할 것인지와 만약 처음으로 구성하는 멀티 부팅이라면 부팅 목록의 표시 시간은 얼마로 설정할 것인지 등을 직접 결정하고 마무리 작업을 해 주시면 됩니다.


BCDEdit.exe 를 통해 새로운 윈도우의 부팅 항목을 추가하는 작업은 모두 마쳤습니다. 어떤가요? 항목의 옵션 설정 단계에서 조금의 귀찮음이 있다 뿐이지 그렇게 어렵진 않았죠?


여기에서 마치면 좋을텐데 아쉽게도 진짜 마지막으로 한 가지 작업이 더 남았습니다. 그것은 현재 상태에서는 컴퓨터 복구와 관련된 부팅이 구성되어 있지 않기 때문에 추가한 해당 윈도우의 컴퓨터 복구를 사용할 수 없다는 것입니다.



이건 BCDBoot.exe 를 통해서 자동으로 부팅 항목을 추가했을 때도 일어날 수 있는 일로 좀 종합적인 이야기라 컴퓨터 복구에 대한 기본적인 설명과 몇 가지 상황에 대한 이야기가 필요합니다. 



이번 글은 여기까지 입니다. 이상입니다. ^^