윈도우는 사용 기간이 길어질수록 다양한 오류가 발생하기 마련입니다. 이번 글에서는 Windows XP와 같은 구버전은 물론 Windows 8, 10 같은 최신 빌드에서도 나타나는 대표적인 부팅 오류인 오류 코드 0xc000000f의 원인과 해결 방법을 자세히 알아보겠습니다.
이 오류는 Windows Boot Manager(부팅 관리자)와 관련이 있으며, 윈도우가 부팅 구성 데이터(BCD)를 읽으려고 할 때 발생합니다. 화면에는 Windows 설치 미디어를 이용해 PC를 복구하라는 안내가 표시되지만, 단순히 재시작한다고 해결되지 않기 때문에 많은 사용자들이 곤란을 겪습니다.
오류 0xc000000f의 주요 원인
부트 섹터(Boot Sector)는 윈도우를 메모리에 불러와 실행하기 위해 반드시 필요한 핵심 요소입니다. 따라서 부트 섹터가 어떤 이유로든 손상되면 윈도우가 정상적으로 로드되지 못하고 이 오류가 발생합니다. 또 다른 원인으로는 하드 디스크 고장을 들 수 있습니다. 하드 디스크에 배드 섹터가 존재하거나 악성코드에 감염된 경우에도 동일한 증상이 나타날 수 있습니다.
오류 0xc000000f 해결 방법
아래에서 소개하는 여러 가지 해결 방법을 차례대로 시도해 보세요. 중요한 데이터를 잃지 않고 윈도우를 정상 상태로 되돌릴 수 있습니다.
방법 1: 컴퓨터 복구 기능 사용
윈도우에서 오류가 발생할 때마다 Microsoft는 기본적인 복구 방법을 함께 제공합니다. 이를 활용하려면 정품 Windows 부팅 DVD/USB가 필요합니다. 부팅 미디어가 없다면 아래 가이드를 참고하여 먼저 만들어 두세요.
- Windows 7 / Windows 8: 부팅 가능한 USB 또는 DVD 제작 가이드 참고
- Windows 10: Rufus를 이용한 부팅 USB 제작 가이드 참고
부팅 DVD/USB를 만들었다면, 시스템 전원을 켜면서 F2 키(제조사마다 다름)를 눌러 BIOS로 진입한 뒤 Boot Order(부팅 순서)에서 해당 DVD/USB를 첫 번째 부팅 장치로 지정하세요.
설정을 저장하고 PC를 다시 시작하면 부팅 미디어로 부팅되며, 윈도우가 자동으로 복구 절차를 진행합니다.
방법 2: bootrec.exe 도구 활용
윈도우에 내장된 bootrec.exe 도구를 사용하면 이 오류를 수정할 수 있습니다. 이 방법 역시 부팅 가능한 Windows 설치 DVD/USB가 필요하며, 윈도우 시작 방식을 제어하는 부팅 구성 데이터(BCD)를 다시 생성하는 것이 핵심 목적입니다.
bootrec.exe 도구에 접근하려면 아래 순서를 따르세요.
- 컴퓨터를 재시작하고 부팅 DVD/USB로 부팅합니다.
- 키 입력 안내가 나타나면 아무 키나 누릅니다.
- 언어, 시간, 통화, 키보드를 선택하고 다음을 클릭합니다.
- 복구할 운영체제를 선택하고 다음을 클릭합니다.
- 시스템 복구 옵션(System Recovery Options) 화면에서 명령 프롬프트를 선택합니다.
- 검은 창에 커서가 깜빡이면 bootrec.exe를 입력하고 Enter 키를 누릅니다. 그러면 BCD 재구축이 시작되고 PC가 정상 상태로 돌아옵니다.
만약 BCD 재구축만으로 해결되지 않는다면, 기존 BCD를 삭제한 후 새로 만들어야 합니다. 명령 프롬프트에 아래 명령어를 한 줄씩 입력하고 각 줄마다 Enter 키를 누르세요.
bootrec /fixmbr bcdedit /export C:\BCD_Backup c: cd boot attrib bcd –s –h –r ren c:\boot\bcd bcd.old bootrec /RebuildBcd
방법 3: BCD 복구
이 방법에서는 BCD 파일과 상위 파티션의 숨김을 해제하여 기존 BCD를 복구하거나 처음부터 새로 생성합니다.
- 먼저 FAT32 파일 시스템으로 포맷된 USB에 담긴 Windows 8 또는 10 설치 미디어가 필요합니다. UEFI 기반 시스템은 NTFS로 포맷된 USB를 부팅 장치로 인식하지 않습니다.
- Windows 8 설치 미디어를 만들려면 최소 4GB USB 드라이브(완전히 비어 있는 상태)가 필요합니다. Microsoft 공식 사이트에서 Windows 8 Media Creation Tool을 다운로드하세요.
- 다운로드한 파일을 실행하고 UAC 경고가 나타나면 예를 클릭합니다. 실제로 윈도우를 설치하지 않을 것이므로 에디션, 언어, 아키텍처는 아무거나 선택한 뒤 다음을 클릭합니다.
- USB 드라이브를 선택하고 다음을 클릭합니다. USB가 컴퓨터에 연결되어 있는지 확인하세요.
- 작업이 완료될 때까지 기다리고 화면 지침을 따릅니다.
- 설치 미디어가 준비되면 USB를 문제가 있는 컴퓨터에 연결합니다.
- 컴퓨터 전원을 켜고 다른 장치로 부팅하기 위한 적절한 키를 반복해서 누릅니다. 키는 제조사와 모델에 따라 다를 수 있습니다.
- 그래도 USB로 부팅되지 않는다면 BIOS 설정에서 CSM과 Secure Boot 기능이 비활성화되어 있는지 확인하세요.
- 부팅 장치 선택 화면에서 USB를 선택합니다.
- 설치 화면이 나타나면 Shift 키를 누른 상태에서 F10 키를 눌러 명령 프롬프트 검은 창을 엽니다.
- 창에
diskpart
를 입력하고 Enter를 누릅니다. - list disk를 입력하고 Enter를 눌러 컴퓨터에 연결된 모든 저장 디스크를 확인합니다.
sel disk 0
를 입력하고 Enter를 눌러 Windows 8이 설치된 디스크를 선택합니다.- list vol을 입력하고 Enter를 눌러 모든 볼륨을 나열합니다.
- 여기서 두 개의 볼륨, 즉 EFI 볼륨과 Windows가 설치된 볼륨을 식별해야 합니다.
- EFI 볼륨은 Fs 열에 FAT32로 표시되며, 크기는 100MB이고 Info 열에 System, Label 열에 BOOTSTRAP으로 표시될 수 있습니다. 이 특징으로 EFI 볼륨을 식별하고 볼륨 번호를 메모해 두세요. EFI 볼륨을 찾을 수 없다면 다음 해결 방법으로 넘어갑니다.
- Windows 파티션은 Ltr 열에 C로 표시되고 Info 열에 Boot라고 표시됩니다. 해당 드라이브 문자를 메모해 둡니다.
- 먼저 EFI 볼륨에 드라이브 문자를 할당합니다. select Volume 1을 입력하고 Enter를 누릅니다(볼륨 1이 EFI 볼륨이라고 가정).
assign letter P
를 입력하고 Enter를 누릅니다(P 문자가 사용 중이 아니라고 가정).- exit를 입력하고 Enter를 누릅니다.
cd /d P:\efi\microsoft\boot\
를 입력하고 Enter를 누릅니다.bootrec /fixboot
를 입력하고 Enter를 누르면 새 부트 섹터가 생성됩니다.- ren BCD BCD.bak를 입력하여 손상되었을 가능성이 있는 기존 BCD 파일을 무력화하고 새 BCD 파일 생성을 준비합니다.
bcdboot C:\Windows /l en-us /s k: /f ALL
을 입력하고 Enter를 누릅니다(C는 Windows가 설치된 볼륨의 드라이브 문자라고 가정).
검은 창을 닫고 컴퓨터를 재시작하세요. 이제 정상적으로 부팅될 것입니다. 그렇지 않다면 다음 해결 방법으로 넘어가세요.
방법 4: EFI 파티션 생성
어떤 이유로 EFI 파티션이 누락된 경우 새로 만들 수 있습니다. Windows 설치 미디어와 디스크의 200MB 여유 공간만 있으면 됩니다.
위 방법과 동일하게 Windows 설치 미디어를 만들어 USB로 부팅한 후 명령 프롬프트 창까지 진입하세요.
- 검은 창에 Diskpart를 입력하고 Enter를 누릅니다.
- list disk를 입력하고 Enter를 누릅니다.
- select disk 0를 입력하고 Enter를 눌러 새 EFI 파티션을 만들 디스크를 선택합니다.
- list partition을 입력하고 Enter를 눌러 모든 파티션을 나열합니다.
- Select Partition 1을 입력하고 Enter를 누릅니다. 선택한 파티션에 200MB 이상의 여유 공간이 있다고 가정합니다.
shrink desired=200 minimum=200
를 입력하고 Enter를 누릅니다.create partition efi
를 입력하고 Enter를 누릅니다.list partition
을 다시 입력하고 Enter를 누릅니다.- select partition 2를 입력하고 Enter를 누릅니다. 새로 생성된 200MB 파티션이 파티션 2라고 가정합니다.
format fs=fat32
를 입력하고 Enter를 누릅니다.- list vol을 입력하고 Enter를 눌러 모든 볼륨을 확인한 뒤, 새로 만든 200MB 파티션의 볼륨 번호를 메모합니다.
- Select vol 3를 입력하고 Enter를 누릅니다. 앞서 메모한 EFI 파티션의 볼륨 번호가 3이라고 가정합니다.
- assign을 입력하고 Enter를 누릅니다.
- list vol을 다시 입력하고 Enter를 눌러 200MB EFI 파티션에 할당된 드라이브 문자(ltr)를 확인하고 메모합니다.
- 또한 Windows 파티션이 포함된 볼륨의 드라이브 문자도 식별하여 메모해야 합니다. Info 열에서 Boot 표시를 찾으면 되며, 대부분의 경우 C 드라이브입니다.
bcdboot C:\Windows /l en-gb /s B: /f ALL
을 입력하고 Enter를 누릅니다. Windows 드라이브 문자가 C이고 EFI 파티션에 할당된 드라이브 문자가 B라고 가정합니다.- 시스템을 재시작하세요. 이제 문제가 해결되었을 것입니다.
방법 5: 디스크 ID 변경
특정 경우에는 디스크 ID가 잘못 구성되어 이 문제가 발생하고 부팅이 불가능해질 수 있습니다. 이 단계에서는 디스크 ID를 변경한 후 문제가 지속되는지 확인합니다.
- 위 방법들을 참고하여 부팅 USB를 만들고 부팅 메뉴에서 최우선 순위로 설정한 뒤, 이를 이용해 명령 프롬프트 창으로 진입합니다.
- 명령 프롬프트에 아래 명령어를 하나씩 입력하고 각각 Enter 키를 누릅니다.
diskpart list disk select disk 0 select disk 1 list partition select part 0 select part 1 active detail part 0 detail part 1
- 마지막 명령인 "Detail Part 1"의 결과에서 매우 긴 ID 번호가 보일 것입니다. 경우에 따라 마지막에서 두 번째 명령인 "Detail Part 0"에 표시될 수도 있습니다.
- 이 ID 번호를 복사하세요. 끝자리가 숫자가 아닌 알파벳으로 되어 있을 것입니다. 예를 들어 "1231432523524b"와 같습니다.
- 마지막 알파벳을 0으로 변경하여 ID 번호가 숫자로만 구성되도록 만듭니다.
- 이를 위해 아래 명령어를 입력하되 끝의 알파벳을 숫자 "0"으로 바꿉니다.
set ID=(끝자리를 "0"으로 바꾼 하드웨어 ID 번호)
예를 들어 4단계의 예시를 사용하면 "Set ID=12314325235240"이 됩니다. - 문제가 여전히 지속되는지 확인합니다.
위 방법들을 통해 오류 0xc000000f와 관련된 모든 문제가 해결되고 PC를 정상적으로 사용할 수 있게 될 것입니다. 그래도 문제가 지속된다면 시작 복구(Startup Repair) 기능을 사용하여 부팅 문제를 수정해 보세요.