Bitlocker によるドライブ全体の暗号化を使用した Windows 起動時のエラー 0xc000000e のトラブルシューティング

Bitlocker によるドライブ全体の暗号化を使用した Windows 起動時のエラー 0xc000000e のトラブルシューティング

注記:当初は BCD に問題があると考えていましたが、それは間違いでした。


当初、私のラップトップは次のように設定されていました。

  • OS X 10.10 とネイティブのフルドライブ暗号化 (FileVault) を備えた 300 GB のパーティション。
  • Windows 10 とネイティブのフルドライブ暗号化 (BitLocker) を備えた 200 GB のパーティション。
  • の ESP にインストールされた rEFInd ブート マネージャー/EFI/boot
  • の ESP にインストールされた Microsoft ブート マネージャー/EFI/Microsoft/Boot

2日前、OS Xのパーティションを200GBに縮小し、その間に100GBのパーティションを追加して、そこにUbuntuをインストールしました。
それ以来、Windowsを起動できなくなりました。Windows
のブートマネージャーに入ると、パスワードの入力を求められますが、その後、次のような画面が表示されます。

PC/デバイスを修理する必要があります

予期しないエラーが発生しました。

エラーコード: 0xc000000e

次に、Windows 10 インストール ドライブを挿入し、コマンド ライン ( ShiftF10) からパーティションを検査しました。
しかし、diskpartパーティションは MBR 上で動作しているようで、マウントできませんでした。
(インストール ドライブを EFI モードで起動したことを確認しました (rEFInd の手動ブート スタンザ経由)。そのため、GPT 上で動作すると予想していましたがdiskpart、まあ仕方ありません...)

MBR は元々 4 つのパーティションを含んでいます。

  • 超能力
  • マッキントッシュHD
  • リカバリHD
  • ブートキャンプ

GPT には、BOOTCAMP の後に BitLocker 回復パーティションも含まれていました。Linux
パーティションを追加したことで、BOOTCAMP がリストから外れ、「Linux HD」が 4 番目のパーティションになったことが判明しました。MBR を
調整して、最後のエントリ ポイントを再び BOOTCAMP に設定し、Linux パーティションを「スキップ」しました。

その後、OS XとUbuntuを起動することができ、Windowsパーティションをマウントすることもできました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を「保護」的なものに置き換えました。

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% に達したら再起動します。

関連情報