web-dev-qa-db-ja.com

bcdedit.exeはシステムストアを開くことを拒否します

私のBCDがどういうわけか壊れているように見えますが、何が悪いのか理解できません。システムは正常に起動しますが、Windowsがアップデートをインストールできなくなります。

MoSetupPlatform: Opening BCD store...
CDlpActionDiskSpaceReq::CalculateRequiredDiskSpaceInstallReq(1752): Result = 0x8007001F

MacBook(bootcamp)でWindows 10を実行していますが、EFIパーティションテーブルを使用しています。昇格したプロンプトでbcdedit /enumを実行すると、次のようになります。

The boot configuration data store could not be opened.
A device attached to the system is not functioning.

直接ストアを開こうとすると、問題なく開きます。

B:\>bcdedit.exe /store B:\EFI\Microsoft\Boot\BCD /enum

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=B:
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {default}
resumeobject            {8b3fea76-03c8-11e6-8f47-dc08058a457d}
displayorder            {default}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {default}
device                  partition=C:
path                    \WINDOWS\system32\winload.efi
description             Windows 10
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {8b3fea78-03c8-11e6-8f47-dc08058a457d}
displaymessageoverride  Recovery
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {8b3fea76-03c8-11e6-8f47-dc08058a457d}
nx                      OptIn
bootmenupolicy          Standard

Windowsは実際のBCDを別の場所に保存しますか? Windowsは、システムBCDストアを探すパーティションとパスをどのように認識しますか?

BCDストアの何が問題になっているのかを診断するにはどうすればよいですか?

pdate:refindブートローダーを使用して起動することを忘れました。おそらくbootmgfw.efiを起動します。

2
Poma

OS Xが互換性のないいくつかの変更を行い、bcdeditを壊しているようです。この問題を一時的に修正する方法は次のとおりです。NVRAMをリセットして +Alt+P+Rを押したままにして、Windowsパーティションを直接起動します。 Alt。 Windows Updateをインストールできましたが、OS Xを起動して更新プログラムをインストールした後、bcdeditが再び壊れました。

1
Poma

システムは起動するがbcdedit /enumが失敗する1つの状況は、EFIブートパーティションのパーティションタイプが間違っている場合です。補足として、これによりreagentc /enableが失敗し、さらにWindowsUpdateが正常にインストールされなくなる可能性があります。

これがdiskpartコマンドの問題であるかどうかを確認できます。ハードディスクドライブが1つしかない場合、

select disk 0
list partition

次のようなものが表示されます。

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    System             500 MB  1024 KB
  Partition 2    Primary            445 GB   501 MB

(3番目の「リカバリ」パーティションもある場合とない場合があります。)

「システム」という名前の小さいパーティションが必要なパーティションであり、通常はパーティション1なので、

select partition 1
detail partition

そして、あなたはこのようなものを見るはずです

Partition 1
Type    : c12a7328-f81f-11d2-ba4b-00a0c93ec93b
Hidden  : Yes
Required: No
Attrib  : 0XC000000000000000
Offset in Bytes: 1048576

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
* Volume 3                      FAT32  Partition    500 MB  Healthy    System

ファイルシステムがFAT32でない場合は、適切なパーティションを見ていません。また、非表示にする必要があり、(最初に投稿された質問のように)トラブルシューティングの目的でドライブ文字が明示的に指定されていない限り、通常はドライブ文字が割り当てられません。正確には500MBではないかもしれませんが、ハードディスクのごく一部しか使用しないはずです。

EFIパーティションのタイプは、上記のようにc12a7328-f81f-11d2-ba4b-00a0c93ec93bである必要があります。 そうでない場合、特にebd0a0a2-b9e5-4433-87c0-68b6b72699c7の場合(ウィキペディアの Microsoft Basic Data Partition を参照)それが問題の原因である可能性があります。

パーティションタイプが正しくない場合は、set idコマンドで修正できます。

set id=c12a7328-f81f-11d2-ba4b-00a0c93ec93b

これで、bcdedit /enumコマンドが機能するはずです。

0
Harry Johnston