O Windows 8.1 UEFI x64 não pode inicializar imagens UEFI

1

A pergunta apareceu depois de perguntar isso um . Parece que o Win8.1 UEFI x64 Boot Manager não é capaz de inicializar nada além da própria janela (winload.efi). Tentativa de lançar qualquer outra imagem UEFI (.efi) a partir dela fornece o código de erro 0xC000007B e tenho certeza de que isso não é devido a um arquivo ausente, mas porque o arquivo é 'inválido' como quando eu renomeio esse arquivo erro muda para 0xC000000F. Desativei a inicialização segura, mas sem sorte.

No momento, estou tentando integrar o carregador de inicialização rEFInd . Posso dizer que a imagem UEFI está funcionando, pois é capaz de inicializar a partir de uma unidade flash USB usando o firmware. No entanto, usando o Gerenciador de Inicialização do Windows, forneça os mesmos resultados explicados acima (código de erro 0xC000007B). No momento, minha configuração de BCD é (foto):

Captura de tela da linha de comando http://imageshack.com/a/img811/7857/kbth.png

Como F:\rEfit\refind é o diretório onde o refind está armazenado e "refind_x64.efi" é a imagem do programa.

NOTA: Também estou querendo saber se apenas imagens UEFI (arquivos .efi) têm permissão para inicializar em um UEFI Windows e também qual é o formato do não-UEFI (como ntldr , bootmgr )?

EDIT: Mover o rEFInd para um diretório padrão ("EFI") não resolveu o problema.

    
por Nemo759 21.12.2013 / 21:57

3 respostas

3

Após 1 ano, me deparei com o mesmo problema novamente. Felizmente, desta vez, encontrei uma solução. Para adicionar um OsLoader no gerenciador de inicialização do Windows que carrega imagens UEFI não Windows, você precisa editar manualmente o registro BCD. No RegEdit existe uma chave chamada "HKEY_LOCAL_MACHINE \ BCD00000000" - que é carregada da partição do sistema Windows EFI e editando suas subchaves diretamente editar o arquivo BSD. Existe uma chave chamada "Descrição", mas vamos nos concentrar no outro chamado "Objetos". Sob ele você precisa de um novo objeto (ou modificar existente). Então, sob o nome-GUID do objeto-alvo, você precisa editar o valor "Tipo de descrição" para "0x10100003" (o que significa osloader do aplicativo de firmware - créditos para esse achado vão para este página ). É isso aí - então os elementos 'path' e 'device' desse objeto especificam um arquivo UEFI que será carregado quando o OS-Loader for selecionado.

GRANDE ATENÇÃO:

Não faça o acima apenas para testá-lo - carregar um Uefi dessa maneira o queima na configuração do Uefi Boot e após o carregamento - você pode não conseguir reinicializar o Windows novamente (a menos que o aplicativo carregado não o faça) t resetar o Uefi Boot Cfg) - use-o somente se tiver certeza.

Eu fiz isso e então eu deveria consertar manualmente minha inicialização do Windows usando Uefi Boot Cfg . Qual é o preferido para usar.

EDIT: Eu esqueci de adicionar que você primeiro precisa ter permissão para editar "HKEY_LOCAL_MACHINE \ BCD00000000", o que é fácil - basta clicar em Propriedades e alterar as permissões;).

EDIT: Esta descoberta mostra que a maneira mais poderosa (e fácil - pelo menos para mim) de editar o Windows BSD é usar o registro. O comportamento que realizei ao fazer isso - não é possível ser feito usando o BCDedit, nem o BCD WMI.

    
por 02.01.2015 / 22:48
1

EFI é um ambiente pré-inicialização . Assim, a própria EFI não é uma ferramenta do Windows, uma ferramenta do Linux ou qualquer outra ferramenta no nível do sistema operacional. Quero deixar isso claro, porque algumas de suas frases fazem parecer que você acha que o EFI faz parte do Windows. Não é.

O caminho rEfit\refind é incomum para um programa de inicialização EFI. Esses programas normalmente residem em subdiretórios do diretório EFI no ESP, como em EFI\refind ou EFI\Microsoft . Embora seja improvável que essa localização não padrão seja a fonte do seu problema, não posso descartar essa possibilidade. Assim, usar uma localização mais normal é minha primeira sugestão.

Não estou muito familiarizado com a saída do comando bcdedit do Windows que você mostrou, por isso não posso comentá-lo; no entanto, posso sugerir que você revise as instruções de instalação do rEFInd para instalar a partir do Windows. É bem possível que você tenha cometido um erro ao digitar um dos comandos.

Se isso não ajudar, tente instalar o rEFInd em outro sistema operacional. Presumivelmente, você instalou o rEFInd para inicializar outra coisa junto com o Windows. Para a maioria das pessoas, isso é o Linux e, se as ferramentas do Windows não estiverem funcionando, você poderá instalar o rEFInd no Linux.

    
por 22.12.2013 / 00:27
0

Todos os gerenciadores / carregadores de boot do efi precisam estar na partição do ESP; você não pode ter reencontrar na sua unidade F:, que provavelmente está formatada como uma unidade NTFS. Os sistemas EFI procuram em uma partição específica que é rotulada como "ESP" e formatada como fat32. Os sistemas EFI não possuem drivers para outros sistemas de arquivos.

O reencontro inclui drivers para ext2 / 4 reiserfs btrfs e iso9660, mas como você vê, o carregador EFI do Windows está localizado em \ EFI \ Microsoft \ Boot \ bootmgfw.efi. Esta partição não pode ser visualizada a partir do windows como está escondida, mas se você inicializar com um linux live (com o gparted por exemplo), então você poderá vê-la. Então você precisa colocar refind em \ EFI \ refind para que o carregador rEFInd esteja em \ EFI \ refind \ bootx64.efi

Então você pode tentar obtê-lo para carregar a cadeia do Windows Loader, mas seria muito melhor apontar seu sistema no arquivo .efi do reencaminador como o carregador padrão, pois ele irá varrer seu sistema e dar a você ícones representando a inicialização efi / legacy. opções disponíveis para você. Eu uso refind e quando eu ligar o meu laptop eu tenho um ícone do Windows 7, um ícone do Windows 8, um ícone do Ubuntu, um ícone fedora e um ícone ubuntustudio para escolher. Se eu tiver usb inicializáveis ou dvds inseridos, um ícone também aparecerá para eles.

Funciona muito bem com as configurações padrão, mas também é facilmente personalizável. Você não poderá carregar um gerenciador de inicialização efi a partir de qualquer partição que não seja a partição ESP do fat32, embora, uma vez que tenha sido carregado novamente a partir da partição ESP, ele possa acessar carregadores efi e carregadores legados em outras partições.

    
por 25.12.2013 / 03:29