Ok, eu tive tempo de montar um esboço adequado aqui. É longo, mas é bastante completo e deve ajudar você a ver o que está acontecendo.
Primeiro, uma maneira de isso acontecer:
- Seu BIOS perde suas configurações.
- Não tem problema, tudo isso é armazenado na partição EFI.
- ... exceto pela configuração SATA IDE vs AHCI, por razões óbvias.
- Você estava usando SATA-AHCI? Você provavelmente está usando o SATA-IDE agora.
- Você tentou inicializar antes de descobrir isso?
- Se você fez, falhou. Você deixou o Windows tentar corrigi-lo?
- Se você fez isso, o BLAM pode muito bem ter destruído o banco de dados de configuração de inicialização.
- Verifique se você está usando a configuração SATA correta que estava usando da última vez.
Aqui está o que você provavelmente já fez até agora. Se nada disso coincidir, avalie cuidadosamente se isso está de fato seu problema e leia-o para obter idéias, mas não o siga sem pensar primeiro.
Você ignorou ESPERAMENTE toda a porcaria de corrigir o MBR (registro de inicialização mestre), a tabela de partição, os sinalizadores de partição e outro lixo que NÃO SE APLICA a um cenário de inicialização EFI. Em tudo . Na melhor das hipóteses, você seria capaz de reconstruir completamente uma nova solução de inicialização não relacionada à EFI , não relacionada . Isso pode não ser trivial, no entanto, porque:
Você descobriu que o Windows tem certeza de que não possui um banco de dados de configuração de inicialização, mas, infelizmente, é completamente ignorante ou MUITO certo sobre onde ele vai - você não sabe dizer qual.
Você está ciente de que o armazenamento de inicialização está normalmente (em algum lugar) \ Boot \ BCD e que o arquivo está ESCONDIDO; visualize-o usando "dir / a: hs".
Você se familiarizou um pouco com o BCDEDIT.EXE e descobriu que ele permitirá "simular" um banco de dados de configuração de inicialização em um arquivo de teste usando "/ CREATESTORE" (e, por favor, não o chame de "BCD"), que você pode usar explicitamente o arquivo de teste com a opção "/ STORE", que pode adicionar uma entrada de menu para o Windows Boot Manager usando "/ CREATE {bootmgr}" e que você poderá importá-lo usando "/ IMPORT" ...
... mas quando você tenta fazer isso, não pode. Você analisa a opção / SYSSTORE, que parece correta, mas não pode usar outra loja porque é "ambígua". Você tem um pressentimento de que ele sabe onde fica a loja - ou deveria estar - mas não consegue encontrá-la.
Você tentou usar o "MOUNTVOL" para montar a partição EFI, mas ela nem aparece na lista, então você não pode.
Se tudo isso se aplica bastante a você, aqui está o que PODE estar acontecendo:
O Windows pode dizer que você está configurado para o EFI (você inicializou o DVD através de uma inicialização UEFI, você tem uma partição EFI, etc.).
Portanto, ele sabe ONDE PROCURAR o arquivo BCD - no entanto, de alguma forma, o local está errado (não esse problema, mas semelhante) ou o BCD foi excluído.
Aparentemente, porque ele sabe onde deveria estar, isso quebra / SYSSTORE - e, na verdade, esse provavelmente é o comportamento correto, porque, caso contrário, você o colocaria no lugar errado.
Até onde eu sei, o MOUNTVOL oculta deliberadamente a partição EFI (ou é de alguma forma incapaz de perceber). Isso evita a montagem do sistema de arquivos, o que impede a localização do subdiretório correto, a verificação da existência do banco de dados etc.
Então, aqui, finalmente, é o que você precisa fazer sobre isso. A boa notícia é que provavelmente é muito mais simples do que você espera agora.
- Você realmente precisa montar a partição EFI.
Na verdade, tenho um palpite que não é estritamente correto - suspeito fortemente que a partição EFI já esteja montada por algum subsistema interno, e é por isso que o BCDEDIT fica irritado - ele não vê o banco de dados, mas sabe para onde deve ir. O que não tem, no entanto, é uma letra de unidade. Então o que fazer?
Bem ... até onde vão as suas raízes do DOS? Você se lembra do comando ASSIGN? Adivinha.
Inicie o DISKPART.
Se você não estiver familiarizado com o DISKPART, o modo como ele basicamente funciona é uma hierarquia de conjuntos; você deve selecionar exatamente um elemento em um nível para prosseguir para o próximo. Portanto, "LIST DISKS" e "SELECT DISK n" onde n é o que for apropriado para você.
Use "LIST PARTITION" e "LIST VOLUME" (observação não plural) para obter algumas dicas e identificar sua partição EFI.
Geralmente, é uma partição FAT32 de 100 MB marcada com "SYSTEM". Lembre-se de que seu disco deve estar usando uma tabela de partições GPT agora, portanto, você poderá ver várias partições. Alguns deles são para recuperação de emergência - muito bom que eles fazem para problemas de EFI, não é? Ah bem.
Observe que a partição EFI, e algumas outras, não possuem letras de unidade. Se você é tão inclinado, também pode visualizar os atributos da partição GPT, o que também pode proporcionar alguns momentos "Aha" relacionados à tangibilidade.
"SELECT PARTITION n" onde n é a partição EFI. (Espero que você possa selecionar o volume, se precisar.)
"ATRIBUIR". É isso aí. Não especifique uma letra de unidade; apenas "ASSIGN".
"LISTAR VOLUME". Agora você deve ver uma letra de unidade atribuída à partição EFI.
"SAIR" DISKPART.
E agora ... um grande aviso gordo. Você provavelmente irá diretamente para S: (ou o que quer que tenha obtido com ASSIGN) e notará uma partição / Boot. "AHA!" Você dirá. "Não há arquivo BCD aqui!" Primeiro ... lembre-se de que o arquivo está oculto. Segundo ... cavar um pouco mais, e você perceberá que enquanto houver:
S: \ EFI \ Boot
há também:
S: \ EFI \ Microsoft \ Boot
Você precisa verificar os dois quanto a problemas.
S: \ EFI \ Boot é para a placa - mãe e contém o Windows Boot LOADER (e possivelmente outras coisas para outros sistemas operacionais). Esse nome tem esse nome porque a placa-mãe não tem idéia se você deseja ter o Windows ou não, e precisa de um caminho fixo que faça sentido.
- Inspecione S: \ EFI \ Boot. Para o Windows 7 Professional de 64 bits, você deve ver:
bootx64.efi
Se você instalou um shell EFI (sempre uma boa idéia), poderá ver adicionalmente "shellx64.efi".
NOTA: Usuários de Linux com inicialização dupla usando "chainloader + 1" NÃO verão uma entrada extra aqui.
- Inspecione S: \ EFI \ Microsoft \ Boot usando tanto "dir" e "dir a: h". No Windows 7 Professional de 64 bits, você deve ver vários modelos de idioma ("en_US" etc.) e os seguintes arquivos:
bootmgr.efi bootmgfw.efi memtest.efi BCD BCD.Backup.001 BCD.Backup.002
... exceto que você provavelmente não vê o BCD, vê? Mas esses arquivos de backup parecem tentadores.
Determine qual arquivo de backup você deseja usar. Quaisquer que sejam as mudanças recentes que estão faltando, não são nem de longe tão importantes quanto a sua capacidade de inicializar o sistema, então escolha a que estiver mais intacta. Provavelmente você verá uma grande e outra bem pequena. O pequeno já está corrompido e é um artefato do processo de reparo com falha - não o use. Se os dois forem grandes, use o mais antigo. EM QUALQUER CASO, faça cópias adicionais dos backups em outro lugar.
Copie o backup que você decidiu usar para "BCD".
Saia do shell, desligue corretamente e reinicie.
Diga ao Windows para iniciar NORMALMENTE. Neste ponto, ele deve começar.
P: E se você não tiver um BCD de backup?
A: Bem, isso realmente não deveria acontecer. Provavelmente, significa que você está no diretório errado, oferece suporte ao EFI, mas não o estava usando realmente, ou de alguma forma reconstruiu toda a partição EFI sem todos os materiais necessários do Windows (possível, especialmente ao usar várias versões do Windows). Nesse caso, você precisará copiar os materiais EFI do DVD e modificar ou reconstruir o banco de dados de configuração de inicialização usando o BCDEDIT.
P: Você pode me dar um exemplo de cenário em que "BCDEDIT / SYSSTORE" pode ser usado para fazer qualquer coisa em um sistema EFI?
A: Até agora, não.
De qualquer forma, espero que isso ajude a resolver alguns problemas para as pessoas, ou pelo menos faça com que elas pensem. Como um ponto final muito importante, observe que você pode montar e inspecionar sua partição EFI no Windows normalmente usando a técnica DISKPART ASSIGN acima. Você deve fazer isso pelo menos uma vez, para obter um backup completo da sua partição EFI, ANTES de encontrar esse tipo de problema. Eu recomendo um backup em um subdiretório na sua unidade C: e outro em uma unidade flash USB.
Desculpe, isso é tão demorado. Preciso transformar isso em um artigo adequado em algum momento, mas há tantas pessoas que estão tão frustradas que senti a necessidade de documentar minha experiência o mais completa e rapidamente possível.
Saúde, Matt "Breakpoint" Parreira