%20em%20um%20computador%20UEFI%3F.png)
O problema: após a instalação do Kubuntu em SSD externo (Transcender ESD400 512 Gb) no computador UEFI não consigo usá-lo em outro. Fiz algumas tentativas mas todas sem sucesso.
Meu computador: UEFI, Core i7 - 4 núcleos, Windows 7 Ultimate 64 bits, 2 unidades internas com GPT, SSD externo com GPT.
Distribuição Kubuntu: LiveUSB, criada com Universal USB Installer 1.9.5.4, Kubuntu 14.04 LTS
O SSD externo foi particionado com GParted, as partições estão alinhadas.
Após cada instalação, o SSD foi formatado e reparticionado. GRUB foi verificado: versão 2.02, EFI (não grub-pc).
Tentativa 1: com unidades internas conectadas.
Eu inicializei do LiveUSB. Execute a instalação normal. Minha tabela de partições:
512Mb - EFI - fat32
30Gb - / - ext4
100Gb - /home - ext4
50Gb - /usr - ext4
50Gb - /opt - ext4
Bootloader foi instalado em SSD externo (/dev/sdc). Após a reinicialização, encontrei 2 entradas de inicialização ubuntu
no UEFI. Se meu SSD externo estiver conectado e eu escolher cada uma dessas duas entradas - tudo funciona bem: o Kubuntu inicia e funciona. Se o SSD externo estiver desligado, uma tela preta Minimal BASH-like line editing is supported
aparecerá. Se eu escolher UEFI TS512...
(entrada de boot com rótulo do SSD externo), parece que a próxima entrada funciona ( Windows Boot Manager
).
Tentativa 2: com unidades internas desconectadas.
O procedimento de instalação foi o mesmo. Após a reinicialização, o sistema foi iniciado e funcionou. Mas depois de conectar as unidades internas, na inicialização externa (ambos ubuntu
e UEFI TS512...
entradas), aparece uma tela preta com cursor de texto piscando e nada quer iniciar. Se eu escolher Windows Boot Manager
o Windows inicia bem.
Tentativa 3: tentei modificar arquivos efi.
Copiado grubx64.efi
de /dev/sda1
para dev/sdc1
e renomeado para bootx64.efi
. Nada de novo - vai descendo na lista de entradas até Windows Boot Manager
.
Tentativa 4: tentou modificar grub.cfg
e fstab
.
Em /boot/grub/grub.cfg
substitui tudo hd2
por hd0
. E fstab
mudei o UUID da partição EFI: antes apontava para /dev/sda1
, agora aponta para /dev/sdc1
.
Então, como posso criar um sistema portátil em SSD externo, que inicialize em todos os computadores UEFI, mas não apenas no meu?
Responder1
Seu problema é que o processo de inicialização EFI armazena dados na localização do carregador de boot na NVRAM; portanto, quando você instala em um computador e depois move o disco para outro computador, o segundo computador não sabe onde procurar para encontrar o carregador de boot. A maneira usual de contornar esse problema é usar o nome de arquivo do carregador de inicialização padrão/fallback, EFI/BOOT/bootx64.efi
, na partição do sistema EFI (ESP; essa é sua partição FAT32). O firmware procura esse nome de arquivo em discos removíveis. A grande ressalva é que você pode precisar usar o gerenciador de inicialização integrado do firmware para selecionar esse disco, e os detalhes de como acessar esse gerenciador de inicialização variam de um computador para outro.
Você pode copiar o carregador de boot para esse local manualmente. A maneira mais provável de funcionar, a partir de uma instalação funcional do Ubuntu, é:
cd /boot/efi/EFI
sudo mkdir -p BOOT
sudo cp ubuntu/shimx64.efi BOOT/bootx64.efi
sudo cp ubuntu/grubx64.efi BOOT/grubx64.efi
Observe que esses comandos substituirão qualquer EFI/BOOT/bootx64.efi
carregador de inicialização existente. Você provavelmente não tem um em seu disco externo no momento, mas talvez queira verificar isso novamente. Além disso, isso pressupõe que o ESP noexternoo disco está montado em /boot/efi
. Definitivamente, você deve verificar isso df
antes de prosseguir. Você não quer sobrescrever o gerenciador de inicialização no seuinternodisco por acidente!
Se tiver certeza de que inicializará com o Secure Boot desabilitado, você pode copiar EFI/ubuntu/grubx64.efi
para EFI/BOOT/bootx64.efi
, mas isso não funcionará se o computador de destino tiver o Secure Boot habilitado.