Como fazer um Kubuntu portátil em unidade externa (GPT) em um computador UEFI?

Como fazer um Kubuntu portátil em unidade externa (GPT) em um computador UEFI?

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 ubuntuno 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 supportedaparecerá. 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 ubuntue UEFI TS512...entradas), aparece uma tela preta com cursor de texto piscando e nada quer iniciar. Se eu escolher Windows Boot Managero Windows inicia bem.

Tentativa 3: tentei modificar arquivos efi.

Copiado grubx64.efide /dev/sda1para dev/sdc1e renomeado para bootx64.efi. Nada de novo - vai descendo na lista de entradas até Windows Boot Manager.

Tentativa 4: tentou modificar grub.cfge fstab.

Em /boot/grub/grub.cfgsubstitui tudo hd2por hd0. E fstabmudei 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.eficarregador 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 dfantes 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.efipara EFI/BOOT/bootx64.efi, mas isso não funcionará se o computador de destino tiver o Secure Boot habilitado.

informação relacionada