注記:当初は 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
と を設定してみましたが、結果は同じでした。を 設定しても違いはありませんでした。今では、パスワードを要求されなくなったので、これが後退だったことはほぼ間違いありません。osdevice
W:
device
{bootmgr}
bcdedit /store BCD
また、データの変更がないにもかかわらず、を実行してもファイルにかなり多くの変更が加えられていることにも気付きました。
とりわけ、ファイルには、Volume1\EFI\Microsoft\Boot\BCD
元の BCD ファイル用と??\C:\BCD
私が変更したファイル用の独自のパスが含まれているようです。
最初は、これによってファイルが何らかの形で「不純化」されるのではないかと心配しましたが、をdescription
に変更するテストを実行しました。これにより、再びファイルにかなり多くの変更が加えられましたが、Windows ブート マネージャーは、そのファイルを使用するときにパスワードを要求しました。したがって、カスタム ファイルの場所によってファイルが「不純化」されることはなく、使用している も壊れていません。{default}
Windows 42
bcdedit
さて、最後に私の質問です。
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 ブート マネージャー:
変更された BCD を備えた Windows ブート マネージャー:
アップデート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% に達したら再起動します。