Bitlocker 전체 드라이브 암호화를 사용하여 Windows 부팅 시 오류 0xc000000e 문제 해결

Bitlocker 전체 드라이브 암호화를 사용하여 Windows 부팅 시 오류 0xc000000e 문제 해결

메모:처음에는 BCD가 문제인 줄 알았는데, 결과적으로는 틀렸습니다.


원래 노트북을 다음과 같이 설정했습니다.

  • OS X 10.10 및 기본 전체 드라이브 암호화(FileVault)를 갖춘 300GB 파티션.
  • Windows 10 및 기본 전체 드라이브 암호화(BitLocker)가 포함된 200GB 파티션.
  • .NET의 ESP에 설치된 rEFInd 부팅 관리자입니다 /EFI/boot.
  • .NET의 ESP에 설치된 Microsoft 부팅 관리자입니다 /EFI/Microsoft/Boot.

이틀 전 저는 OS X 파티션을 200GB로 축소하고 그 사이에 100GB 파티션을 추가하여 Ubuntu를 설치했습니다.
그 이후로 Windows를 부팅할 수 없습니다.
Windows 부팅 관리자에 들어갈 때 여전히 비밀번호를 묻는 메시지가 표시되지만 그 이후에는 다음과 같은 화면이 나타납니다.

귀하의 PC/장치를 수리해야 합니다

예상치 못한 오류가 발생했습니다.

오류 코드: 0xc000000e

그런 다음 Windows 10 설치 드라이브를 삽입하고 명령줄에서 파티션을 검사했습니다( ShiftF10).
그러나 diskpartMBR에서 작동하는 것으로 보이는 파티션을 마운트할 수 없는 것으로 나타났습니다.
(rEFInd의 수동 부팅 스탠자를 통해 EFI 모드에서 설치 드라이브를 부팅했는지 확인했기 때문에 diskpartGPT에서 작동할 것으로 예상했지만 아 뭐...)

MBR은 원래 4개의 파티션을 포함합니다.

  • ESP
  • 매킨토시 HD
  • 복구 HD
  • 부트캠프

GPT에는 BOOTCAMP 이후에 BitLocker 복구 파티션이 추가로 포함되었습니다.
Linux 파티션을 추가하면 BOOTCAMP가 목록에서 제외되고 "Linux HD"가 네 번째 파티션이 되는 것으로 나타났습니다.
나는 BOOTCAMP에 대한 마지막 진입점을 다시 갖도록 MBR을 조정하여 Linux 파티션을 "건너뛰었습니다".

그 후에도 여전히 OS X와 ​​Ubuntu를 부팅할 수 있었고 이제 diskpart.
그리고 나는 다음을 사용하여 파티션 잠금을 해제했습니다.

manage-bde -unlock W: -Password

1) MBR을 엉망으로 만들지 않았으며 2) 파티션이 여전히 손상되지 않았음을 증명합니다.

이에 비추어 볼 때 문제는 BCR에 있다고 확신합니다.
여전히 불분명한 이유로 설치 드라이브에서 ESP를 마운트할 수 없습니다. 디스크 0의 첫 번째 파티션에 드라이브 문자를 할당하려고 하면 "지정된 볼륨이 없습니다"라는 메시지가 표시되지만 list volume이미 마운트된 모든 항목만 나열됩니다.
bootrec /rebuildbcd또한 끔찍하게 실패하여 BCD 파일을 제거합니다.설치 드라이브에서.
그러나 BCD를 설치 드라이브에 복사하여 사용할 수는 있습니다 bcdedit.

bcedit /store BCD인쇄물:

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  unknown
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {default}
resumeobject            {cc3e7046-4857-11e5-a015-f353893f9a4c}
displayorder            {default}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {default}
device                  unknown
path                    \Windows\system32\winload.efi
description             Windows 10
locale                  en-US
inherit                 {bootloadersettings}
recoveryenabled         No
custom:16000060         Yes
custom:17000077         352321653
osdevice                unknown
systemroot              \Windows
resumeobject            {cc3e7046-4857-11e5-a015-f353893f9a4c}
nx                      OptIn
custom:250000c2         1

이제 이것들은 unknown나에게 그다지 좋아 보이지 않아서 다음을 partition=W:사용하여 변경했습니다.

bcdedit /store BCD /set {default} device partition=W:
bcdedit /store BCD /set {default} osdevice partition=W:

그리고 그 결과를 확인했습니다.

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  unknown
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {default}
resumeobject            {cc3e7046-4857-11e5-a015-f353893f9a4c}
displayorder            {default}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {default}
device                  partition=W:
path                    \Windows\system32\winload.efi
description             Windows 10
locale                  en-US
inherit                 {bootloadersettings}
recoveryenabled         No
custom:16000060         Yes
custom:17000077         352321653
osdevice                partition=W:
systemroot              \Windows
resumeobject            {cc3e7046-4857-11e5-a015-f353893f9a4c}
nx                      OptIn
custom:250000c2         1

그러나 해당 BCD 파일을 ESP에 다시 푸시한 후 Windows 부팅 관리자는 더 이상 비밀번호를 묻는 메시지도 표시하지 않고 대신 즉시 다음과 같은 다른 오류를 표시합니다.

귀하의 PC/장치를 수리해야 합니다.

필수 파일이 없거나 오류가 있어서 애플리케이션이나 운영 체제를 로드할 수 없습니다.

파일: \Windows\system32\winload.efi 오류 코드: 0xc0000225

드라이브 암호 해독 전후에 device설정 을 시도했지만 결과는 동일했습니다. 에 대한 설정 도 아무런 차이가 없었습니다. 이제는 더 이상 비밀번호를 묻지도 않기 때문에 한발 뒤로 물러난 것이라고 확신합니다.osdeviceW:
device{bootmgr}

bcdedit /store BCD또한 데이터 변경 사항이 없다는 사실을 고려하면 실행 중에도 파일이 상당히 많이 변경되었음을 알았습니다 .
무엇보다도 파일에는 Volume1\EFI\Microsoft\Boot\BCD원래 BCD 파일과 ??\C:\BCD수정된 파일에 대한 자체 경로가 포함되어 있는 것 같습니다.
처음에는 이것이 어떤 방식으로든 파일을 "불순화"시킬까 봐 걱정했지만 테스트를 실행하여 을 description로 변경했습니다 . 이로 인해 다시 파일이 상당히 많이 변경되었지만 Windows 부팅 관리자는 여전히 나에게 요청했습니다. 해당 파일을 사용할 때 비밀번호가 필요하므로 사용자 정의 파일 위치가 파일을 "불순화"하지도 않고 내가 사용하는 파일도 손상되지 않습니다.{default}Windows 42bcdedit

이제 마지막으로 내 질문은 다음과 같습니다.

BCD를 어떻게 복구할 수 있나요?
또는 그것이 문제가 아닌 경우 무엇이 문제이며 어떻게 해결할 수 있습니까?


추가 정보:

diskutil list

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage                         200.4 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.1 MB   disk0s3
   4:       Microsoft Basic Data                         99.0 GB    disk0s4
   5:       Microsoft Basic Data                         199.7 GB   disk0s5
   6: DE94BBA4-06D1-4D40-A16A-BFD50179D6AC               363.9 MB   disk0s6
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           *200.0 GB   disk1
                                 Logical Volume on disk0s2
                                 4A45027B-2703-4C7D-816E-3419DE0F0F61
                                 Unlocked Encrypted

sudo gpt show -l /dev/disk0

gpt show: /dev/disk0: Suspicious MBR at sector 0
      start       size  index  contents
          0          1         MBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6         
         40     409600      1  GPT part - "EFI System Partition"
     409640  391334208      2  GPT part - "Customer"
  391743848    1269760      3  GPT part - "Recovery HD"
  393013608       1688         
  393015296  193355776      4  GPT part - "Linux HD"
  586371072       2048         
  586373120  390019148      5  GPT part - "BOOTCAMP"
  976392268       1972         
  976394240     710656      6  GPT part - ""
  977104896        131         
  977105027         32         Sec GPT table
  977105059          1         Sec GPT header

sudo fdisk /dev/disk0

Disk: /dev/disk0    geometry: 60821/255/63 [977105060 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: EE    0   0   2 - 1023 254  63 [         1 -     409639] <Unknown ID>
*2: DA 1023 254  63 - 1023 254  63 [    409640 -  391334208] <Unknown ID>
 3: AF 1023 254  63 - 1023 254  63 [ 391743848 -    1269760] HFS+        
 4: 07 1023 254  63 - 1023 254  63 [ 586373120 -  390019148] HPFS/QNX/AUX

원본 BCD가 포함된 Windows 부팅 관리자:

비밀번호를 묻는다

비밀번호를 입력한 후 원본 BCD가 포함된 Windows 부팅 관리자:

오류 0xc000000e

수정된 BCD가 있는 Windows 부팅 관리자:

오류 0xc0000225

업데이트 1:

MBR에서 BOOTCAMP를 "부팅 가능"으로 표시하려고 시도했지만 전혀 변경되지 않았습니다.

답변1

실제로 BCD는 괜찮았지만 모든 문제를 일으키는 것은 MBR이었습니다.

이미 내 드라이브 [1] 의 암호를 해독 하고 Windows를 다시 설치하려고 시도했지만 드라이브를 선택할 때 "이 하드 드라이브는 MBR을 사용하지만 EFI 기반 시스템은 GPT 드라이브에만 설치할 수 있습니다."와 같은 팝업이 표시되었습니다.
따라서 Windows에서는 MBR이 GPT보다 우선합니다.

나는 다음을 사용하여 MBR을 "보호" MBR로 교체했습니다.

sudo gdisk /dev/disk0   # On Linux, use /dev/sda
r                       # Recovery/transformation
x                       # Expert mode
n                       # New protective MBR
w                       # Write changes to disk
y                       # Yes (confirm)

(Linux에서는 gdisk기본적으로 설치되어야 하며(그렇지 않으면 시도 sudo apt-get install gdisk), Mac에서는 다음에서 다운로드할 수 있습니다.여기.)

이것은 마침내 내 문제를 해결했습니다.


[1] 실제로는 필요하지 않은 것 같지만 기록을 위해 암호화된 드라이브에 레이블이 지정되어 있다고 가정하고 W:먼저 설치 드라이브 명령줄에서 잠금을 해제한 다음 실행하고 manage-bde -off W:를 사용하여 진행 상황을 확인 manage-bde -status W:하고 암호화가 완료되면 재부팅합니다. 0%에 도달합니다.

관련 정보