bcdboot는 지정한 Windows 디렉터리를 원본으로 삼아 시스템 파티션에 부팅에 필요한 파일을 복사하고, BCD(Boot Configuration Data) 저장소를 새로 만들거나 복구하는 명령이다. Part 9(부팅 구성과 기타 유틸리티)의 첫 장이다.
이 장을 읽기 전에
선행 챕터: 이 장은 78장: net user로 Part 8(네트워크와 원격 진단)을 마친 뒤 이어지며, Part 9(부팅 구성과 기타 유틸리티)의 첫 장이다. 지금까지 실행 중인 시스템 안에서 파일·프로세스·네트워크를 다뤘다면, 이 장부터는 그 시스템이 애초에 부팅되는 방식 자체를 다룬다.
이 장의 깊이: 고급. 다루지 않는 것: BCD 저장소의 개별 항목을 조회·수정하는 것은 80장(bcdedit)에서 다룬다. bcdboot는 “부팅 파일을 어디에 배치할 것인가"를, bcdedit는 “이미 배치된 항목을 어떻게 편집할 것인가"를 각각 담당한다.
개요 + 정신 모델
bcdboot의 핵심 동작은 단순하다.
“Enables you to quickly set up a system partition, or to repair the boot environment located on the system partition. The system partition is set up by copying a simple set of Boot Configuration Data (BCD) files to an existing empty partition.” — Microsoft Learn, “bcdboot”
즉 bcdboot는 이미 설치되어 있는 Windows 디렉터리(원본)를 읽어, 그 안의 부팅 파일 사본을 시스템 파티션(대상)에 복사하고 그 파티션에 맞는 BCD 저장소를 새로 생성한다. 새 시스템을 처음 배포할 때 시스템 파티션을 준비하는 용도로도, 기존 시스템의 BCD가 손상되어 부팅이 안 될 때 복구 환경에서 재생성하는 용도로도 쓰인다.
사용법
| |
옵션
| 옵션 | 설명 |
|---|---|
<원본> | 부팅 환경 파일의 원본으로 사용할 Windows 디렉터리 경로 |
/l <로케일> | 로케일 지정(기본값은 US English) |
/s <볼륨문자> | 시스템 파티션의 볼륨 문자(기본값은 펌웨어가 식별한 시스템 파티션) |
예시
| |
주의사항·함정
복구 환경에서 드라이브 문자가 평소와 다르다: Windows 복구 환경(WinRE)이나 설치 미디어로 부팅해 bcdboot를 실행할 때는, 평상시 C:였던 Windows 설치 드라이브가 다른 문자로 잡히는 경우가 흔하다. 실행 전 diskpart의 list volume이나 dir로 실제 Windows 디렉터리가 어느 드라이브에 있는지 먼저 확인해야 한다 — 44장(diskpart)에서 다룬 대화형 파티션 관리가 이 확인 과정에 바로 이어진다.
대상 파티션은 비어 있어야 정상 동작한다: 원문이 명시하듯 대상은 “기존의 빈 파티션(an existing empty partition)“이다. 이미 다른 부팅 관련 파일이 들어 있는 파티션에 실행하면 예상과 다른 결과가 나올 수 있으므로, 새 시스템 파티션을 준비하는 시나리오에서만 안전하게 쓸 수 있다.
잘못된 원본·대상 지정은 부팅 불능으로 이어진다: <원본> 경로를 잘못 지정하거나 /s로 엉뚱한 파티션을 지정하면, 정상 부팅 중이던 시스템의 부팅 환경이 덮어써질 위험이 있다. 42장(chkdsk)·44장(diskpart)과 마찬가지로 이 명령은 관리자 권한과 신중한 대상 확인을 요구하는 “복구 불가 동작” 범주에 속한다.
PowerShell에는 대응하는 cmdlet이 없다: Windows 설치 디렉터리에서 부팅 파일을 시스템 파티션으로 복사하고 그 자리에 새 BCD 저장소를 만드는 bcdboot 고유의 기능을 대체하는 PowerShell cmdlet은 존재하지 않는다. 이 복구 작업은 여전히 CMD(또는 WinRE·설치 미디어의 명령 프롬프트)에서 bcdboot.exe를 직접 실행해야 하는, PowerShell로 옮겨가지 않은 몇 안 되는 영역 중 하나다.
흔한 오개념
“bcdboot는 지금 부팅되어 있는 Windows에만 쓸 수 있다”는 오해다. 실제로는 Windows 복구 환경(WinRE)이나 설치 미디어로 부팅한 뒤, 현재 실행 중인 시스템이 아니라 디스크에 있는 다른(꺼져 있는) Windows 설치의 부팅 파일을 고치는 용도로 가장 흔하게 쓰인다. 이때 <원본>에는 복구 환경 자신의 Windows 디렉터리가 아니라, 부팅이 안 되는 그 다른 설치의 Windows 디렉터리 경로(예: D:\Windows)를 지정해야 한다.
다음 장에서는
다음은 80장 — BCD 저장소의 개별 항목을 조회·편집하는 bcdedit 명령을 다룬다.
평가 기준
- bcdboot로 Windows 디렉터리를 원본 삼아 시스템 파티션에 부팅 파일을 복사할 수 있다.
/s·/l옵션으로 대상 파티션·로케일을 지정하는 이유를 설명할 수 있다.- 복구 환경에서 드라이브 문자가 평소와 다를 수 있어 사전 확인이 필요하다는 것을 안다.
- bcdboot(파일 배치)와 bcdedit(항목 편집)의 역할 차이를 구분할 수 있다.
![Featured image of post [CMD] 79. bcdboot - 시동 구성 데이터 복사](/post/cmd/bcdboot-command-boot-configuration-data-windows-cmd/wordcloud_hu_8412accbe38c1e7.webp)
![[CMD] 77. getmac - 네트워크 어댑터 MAC 주소 표시](/post/cmd/getmac-command-mac-address-windows-cmd/wordcloud_hu_2f5d52f1745c8e96.webp)
![[CMD] 78. net user - 로컬·도메인 사용자 계정 관리](/post/cmd/net-user-command-manage-user-accounts-windows-cmd/wordcloud_hu_a292ba03b9980239.webp)
![[CMD] 79. bcdboot - 시동 구성 데이터 복사](/post/cmd/bcdboot-command-boot-configuration-data-windows-cmd/wordcloud_hu_20b6bcfeddb83a91.webp)
![[CMD] 80. bcdedit - 부팅 구성 데이터 편집](/post/cmd/bcdedit-command-boot-configuration-editor-windows-cmd/wordcloud_hu_d66c4f3b41d0c6d.webp)
![[CMD] 81. assoc - 파일 확장명 연결 표시·수정](/post/cmd/assoc-command-file-extension-association-windows-cmd/wordcloud_hu_d8fc027a68a0e0ce.webp)
![[CMD] 51. subst - 경로를 가상 드라이브 문자에 연결](/post/cmd/subst-command-virtual-drive-letter-windows-cmd/wordcloud_hu_5923589bcc96aa7.webp)
![[CMD] 17. move - 파일·디렉터리 이동과 이름 변경](/post/cmd/move-command-move-files-directories-windows-cmd/wordcloud_hu_3751b6ad1453368c.webp)
![[CMD] 28. sort - 텍스트 입력 정렬](/post/cmd/sort-command-sort-text-lines-windows-cmd/wordcloud_hu_bfce5355b7171630.webp)
![[CMD] 29. more - 출력을 한 화면씩 표시](/post/cmd/more-command-page-output-windows-cmd/wordcloud_hu_a8d7dcffe8f1e769.webp)