본문 바로가기

부팅과 멀티 부팅

[Bootmgr] 부팅 메뉴 삭제하기 - BCDEdit.exe, MSCONFIG

시스템 구성을 통해 부팅 메뉴 삭제하기 [MSCONFIG]

1. 부팅 메뉴 삭제의 필요성

멀티 부팅 상태에서 윈도우를 제거하더라도 부팅 메뉴에 해당 윈도우 항목은 그대로 남아 있죠. 또는 WIM 이미지 파일을 멀티 부팅으로 등록하여 사용하다 필요가 없어졌을 때, 그럴 때도 부팅 메뉴에 등록된 해당 항목을 삭제해야 할 필요가 생깁니다.




2. 부팅 메뉴 삭제하기

이럴 때는 간단하게 시스템 구성(MSCONFIG)을 통해 부팅 항목을 삭제하는 것이 가능합니다. 방법은 다음과 같습니다.

01. msconfig 명령을 내려 시스템 구성을 실행합니다.



02. 부팅 탭으로 이동하여 삭제를 원하는 부팅 항목을 선택한 후 삭제 -> 확인을 클릭합니다.



03. 부팅 항목의 삭제가 완료되었습니다. 다시 시작을 선택하여 시스템을 재부팅합니다.


* 참고로 시스템 구성에서 표시되는 부팅 항목은 OSLOADER 유형 즉, 윈도우 7 계열의(WIM 포함) 부팅 항목들 뿐이며, 그리하여 시스템 구성을 통한 부팅 항목의 삭제도 OSLOADER 유형만 진행할 수 있습니다. 그 외 NTLDR(윈도우 XP 부트 매니저)이나 부팅 섹터, 장치 항목 등은 BCDEdit.exe 를 통해 삭제해야 합니다.



3. 부팅 메뉴 삭제 확인

작업을 마치고 시스템을 재부팅하면 아래와 같이 해당 부팅 메뉴가 삭제된 것을 확인할 수 있습니다. 간단하죠?




4. 윈도우 7 계열을 제외한 부팅 메뉴의 삭제는?

여기에서 알아두어야 할 것이 위의 스크린 샷에서 보이는 부팅 메뉴들 중에는 분명 Windows XP 라는 NTLDR 에 관한 부팅 메뉴가 존재하지만 시스템 구성에서는 해당 항목이 표시되지 않았던 것을 알 수 있습니다. 이는 해당 부팅 메뉴의 유형이 시스템 구성이 지원하는 OSLOADER 유형이 아닌 NTLDR 유형이기 때문이죠.

이러한 NTLDR 유형 외에도 부팅 섹터 유형이나(ex.GRUB4DOS) 장치 유형(ex. {ramdiskoptions}) 등은 시스템 구성을 통해서는 삭제할 수 없습니다. 이러한 항목들은 이제 다음의 BCDEdit.exe 를 통해 삭제해야 합니다.




BCDEdit.exe 를 통해 부팅 메뉴 삭제하기

* 명령 프롬프트는 관리자 권한으로 실행하세요. [관련 포스팅]
* GUID 등의 입력이 까다롭다면 명령 프롬프트의 텍스트 복사 기능을 활용하세요. [관련 포스팅]
* 윈도우 XP 에서 작업하기 위해선 BCDEdit.exe 를 미리 준비해야 합니다. [관련 포스팅]


1. 부팅 메뉴 삭제하기 명령의 이해

BCDEdit 에서 부팅 항목을 삭제하는 명령은 bcdedit /delete 명령입니다. BCDEdit 의 모든 명령이 그러하듯 역시나 해당 항목의 식별자를 알아야 합니다. 현재 사용 중인 활성 항목들은 bcdedit 를 통해 확인할 수 있고 그 외 숨겨져 있는 항목이나, 각 유형별로 좀 더 자세한 부팅 항목을 확인하려면 bcdedit /enum <TYPE> 또는 bcdedit /enum all 명령을 통해 확인할 수 있죠. 이것은 아래의 두 글에서 정리를 했으니 참고하시길 바랍니다.

윈도우 7 의 부팅 - 현재 사용 중인 부팅 항목들의 설정 확인하기 [BCDEdit.exe]
윈도우 7 의 부팅 - 좀 더 자세하게 부팅 항목들의 설정 확인하기 [BCDEdit.exe]


아무튼 BCDEdit 를 통해 부팅 항목을 삭제하는 명령의 형식은 아래와 같습니다.

bcdedit /delete {GUID} /cleanup
이 때 {GUID} 는 삭제를 원하는 부팅 항목의 식별자이며 /cleanup 은 부팅 목록에서 제거하고 연관된 항목까지(최대 절전 모드 항목 등) 모두 삭제하는 것을 의미합니다. /cleanup 매개 변수는 기본값으로 생략할 수도 있습니다.

이 때 잘 알려진 식별자를 가진 항목들은({current}, {default}, {ntldr} 등) 삭제가 안 될 수 있는데 그 때는 /f 매개 변수를 추가해주면 됩니다. [[ex. bcdedit /delete {ntldr} /f]



2. 부팅 메뉴 삭제하기

그럼 실제로 부팅 메뉴 하나를 삭제해보도록 하겠습니다. 작업은 아래와 같습니다. [관리자 권한으로 실행된 명령 프롬프트에서 작업]

bcdedit
└ 삭제할 부팅 메뉴의 식별자를({GUID}) 확인.

bcdedit /delete {8f0340e9-cb55-11e1-ab1b-f1c62dbb1f23} /cleanup
└ 해당 메뉴(항목)을 삭제. 이 때 /cleanup 은 생략 가능.




3. 부팅 메뉴 삭제 확인

작업을 마치고 다시 bcdedit 명령을 내려 목록을 확인해보면 해당 부팅 항목이 삭제된 것을 확인할 수 있습니다.





4. 참고 - 특별한 부팅 메뉴의 삭제

부팅 메뉴들 중에 {ntldr} 부팅 메뉴와 같이 잘 알려진 식별자를 가진 부팅 메뉴를 삭제해야 할 수도 있습니다.

* 잘 알려진 식별자 - {current}, {default}, {ntldr}, {ramdiskoptions} 와 같은 항목들 - [참고 포스팅]

이러한 부팅 메뉴를 삭제하고자 하는 경우를 추가로 이야기 해보자면, 해당 부팅 메뉴는 잘 알려진 식별자 형식이기 때문에 삭제가 거부됩니다. 그래서 이와 같이 잘 알려진 식별자 형식을 삭제할 땐 아래와 같이 강제로 삭제를 진행하는 것을 의미하는 /f 매개 변수를 추가하여 작업해야 합니다.

bcdedit /delete {ntldr} /f



간단하죠? 여기까지 입니다. ^^