Recentemente, meu disco rígido apresentou algum setor defeituoso. Apenas alguns dias atrás, houve uma corrupção de dados. Parece que meu disco rígido está chegando ao fim de sua vida útil.
Portanto, uma opção era comprar um novo disco rígido, mas substituirei o laptop nos próximos 5 a 6 meses, por isso não queria aumentar as despesas. Então instalei o Ubuntu em um disco rígido externo. Quando o instalei, o Ubuntu externo alterou a partição EFI do disco rígido interno. Agora preciso conectar o disco rígido externo para inicializar.
Quero separar as duas partições EFI. Eu quero uma partição EFI que possa abrir o disco rígido interno do Ubuntu sem uma unidade externa, assim como quero inicializar externamente se o interno falhar. Então, eu quero dois EFI diferentes, um interno e outro externo.
Eu tentei executar o update-grub do Ubuntu interno. Ele me mostrou que pode detectar janelas internas e também o Ubuntu externo. Mas isso não modifica a partição EFI. Além disso, como configuro uma partição EFI separada para a unidade externa? Já criei 200 MB de partição EFI fat32 em uma unidade externa. Copiei todo o EFI de interno para externo. Testei se ele inicializa ou não a partir da entrada personalizada que criei na BIOS. Então agora eu quero saber como inicializar o grub interno a partir do disco rígido interno e o que muda além do caminho EFI em /etc/default/grub que preciso fazer em externo para que tudo funcione.
Responder1
O bug #1396379 do Launchpad (durante a instalação, a entrada do usuário para a localização do bootloader é ignorada e o primeiro EFI encontrado é usado) é a causa desses tipos de problemas. Adicione-se à seção "Isso me afeta?" no bug se você instalar em um segundo disco. Fora do instalador, o grub funciona bem e pode ser usado com opções apropriadas para especificar onde você o instala.
O resultado da instalação em um segundo disco é que o EFI do primeiro disco é atualizado e ainda inicializa o grub, mas agora os arquivos adicionais do grub estão localizados no segundo disco. Isso funciona desde que o segundo disco esteja conectado. Sem o segundo disco conectado, o grub não consegue encontrar os arquivos necessários para continuar a inicialização. Copiar o arquivo EFI do primeiro disco para o EFI do segundo disco resultará em uma inicialização funcional para o segundo disco. Selecione/coloque o disco como primeiro na ordem de inicialização para inicializar.
A correção para o primeiro EFI é editar o arquivo EFI/ubuntu/grub.cfg (são apenas algumas linhas) para alterar as referências de disco/partição de volta para o primeiro disco e usar o UUID (fornecido executando sudo blkid em um terminal) para o Ubuntu no primeiro disco. Esta mudança permite que o grub inicialize a partir do primeiro disco. A única outra alteração que você (talvez) precise é restaurar o carregador de inicialização do Windows para o padrão do dispositivo. O arquivo /EFI/Boot/bootx64.efi era originalmente o gerenciador de inicialização do Windows, mas provavelmente foi renomeado para /EFI/Boot/bckbootx64.efi (ou talvez bootx64.efi.bup). Verifique o tamanho do carregador de inicialização do Windows em /EFI/Microsoft/Boot/bootmgfw.efi para garantir que bckbootloader.efi seja realmente o carregador de inicialização do Windows. Em seguida, basta copiá-lo (ou /EFI/Microsoft/Boot/bootmgfw.efi) de volta para /EFI/Boot/bootx64.efi. Coloque o dispositivo ou /EFI/Microsoft/Boot/bootmgfw.efi em segundo lugar na ordem de inicialização, portanto, se o segundo disco não estiver conectado, ele inicializará a segunda entrada.