bcdedit.exe se recusa a abrir o armazenamento do sistema

1

Parece que meu BCD está de alguma forma quebrado, mas não consigo descobrir o que está errado. O sistema inicializa bem, mas impede que o Windows instale atualizações:

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

Estou executando o Windows 10 em um MacBook (bootcamp), ele usa a tabela de partições EFI. Quando executo bcdedit /enum no prompt elevado, obtenho

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

Quando tento abrir a loja diretamente, ela abre bem:

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

O Windows armazena o BCD real em outro lugar? Como o Windows sabe em qual partição e caminho procurar o armazenamento BCD do sistema?

Como faço para diagnosticar o que está errado com meu armazenamento BCD?

update: esqueci de inicializar usando refind bootloader, que provavelmente inicializa bootmgfw.efi

    
por Poma 21.10.2017 / 01:59

2 respostas

1

Parece que o OS X faz algumas alterações que são incompatíveis e quebram o bcdedit. Aqui está como eu fui capaz de corrigir temporariamente este problema: redefinir a NVRAM com + Alt + P + R , em seguida, inicialize diretamente na partição do Windows mantendo Alt . Eu era capaz de instalar as atualizações do Windows, mas depois que eu iniciei no OS X e instalei as atualizações, o bcdedit se quebrou novamente.

    
por 22.10.2017 / 20:18
-2

A Does Windows store actual BCD somewhere else? How does windows know on which partition and path to look for system BCD store?

O modo EFI funciona com duas pernas;

1- uma partição especial do BIOS (na área gravável do chip) na qual os GUIDs da Partição do Carregador do SO são salvos.
2- uma partição do sistema (oculta) com esse GUID chamado EFI, na qual o executável do Bootloader está localizado (arquivos de extensão .efi).

Se você instalou / reinstalou vários SO's no modo EFI, então é provável que o chip SPI da BIOS tenha muitos registros de sistemas operacionais antigos e, eventualmente, tenha preenchido esse espaço especial de 8MB (se não estiver errado ) partição on-chip e tornou-se somente leitura.

A Microsoft tem uma página Technet onde é mostrado como limpar registros guiados EFI duplicados ou desnecessários (por exemplo, o SO excluído, mas o registro EFI ainda está lá).
Isso envolve a criação de um backup da configuração atual e a redefinição sem registros duplicados.

em um prompt de cmd elevado;

Bcdedit /export savebcd

isto fará backup das configurações atuais do carregador de inicialização.
fazer uma cópia para fins de recuperação (o savebcd será o nosso backup);

Copy savebcd newbcd

Em seguida, exporte os registros atuais para um arquivo de texto em formato legível;

Bcdedit /enum firmware > enumfw.txt

notepad enumfw.txt

Carregue esse arquivo com o bloco de notas e revise-o para apontar registros duplicados.

para excluir cada registro duplicado / obsoleto:

Bcdedit /store newbcd /delete {93cee840-f524-11db-af62-aa767141e6b3}

onde 93cee840-f524-11db-af62-aa767141e6b3 é apenas um EXEMPLO guid
substituí-lo com o guia que você acha desnecessário

depois de ter passado pela exclusão de todos os guias desnecessários;

Bcdedit /import newbcd /clean

Limpa os registros EFI atuais e importa os dados de configuração limpos (arquivo que acabamos de limpar os registros desnecessários).
Se você ainda recebe "Um dispositivo conectado ao sistema não está funcionando." erro ,
Então; Eu não quero ser um portador de más notícias, mas você tem dois caminhos a seguir; - Atenha-se ao seu sistema atual; faça um backup de imagem de disco INTEIRO (incluindo sua partição EFI) ASAP , porque provavelmente o seu chip SPI (BIOS) ficou desordenado e você não pode liberá-lo sem reflashing / substituindo-o. Isso significa que os ponteiros atuais do Bootloader no chip são finais e se você tentar reinstalar outro sistema operacional no modo EFI, ele simplesmente não finalizará a instalação e o instalador será interrompido com um erro (família de sistema operacional Windows) ou finalizará, mas o BIOS não vai carregá-lo (instaladores Linux, por exemplo, openSUSE), além disso você vai perder sua configuração antiga, você vai acabar tendo nenhum sistema operacional de inicialização no seu dispositivo.
- Considerando que você tem um Mac, peça ao suporte técnico para reflash / replace BIOS.
se não for o caso ou não for viável; substituir o disco rígido para o modo BIOS legado (se esse switch no BIOS ainda funcionar, para mim ele simplesmente não funcionou (Lenovo Ideapad B50)

além destas existem algumas outras opções a serem descartadas da seguinte forma : como são oferecidas como se fossem dicas seguras em alguns vídeos no Youtube sobre esse assunto, então eu apenas mencione-os como não tentar , porque eles são perigosos e / ou anularão a garantia do dispositivo (removendo a bateria do laptop + desmontando o dispositivo para expor a placa-mãe e removendo a bateria do bios + aguardando) ou chip SPI de curto-circuito (curto-circuito) ); especialmente o método de remoção de bateria da bios nunca funciona na maioria (se não em todos) laptops, enquanto que o chip SPI em curto-circuito pode fazer com que todo o sistema fique emparedado.

Espero que isso tenha ajudado.

    
por 21.10.2017 / 13:04