Sempre faça backup de suas informações antes de tentar qualquer reparo.
Sua suposição está correta. Quando você instalou o Ubuntu, ele instalou o grub na partição EFI do HDD interno. Para tornar a unidade externa inicializável, ela precisa de uma partição de sistema EFI com o grub instalado nela. Geralmente esta partição é a primeira partição na unidade. No entanto, mover a partição raiz pode causar erros de inicialização.
Se a reinstalação for uma opção viável
Reparticione o disco rígido externo. Exclua a partição linux, em seguida, crie uma partição de 500 MB formatada como FAT32 e sinalizada como ESP (Efi System Partition). Use o espaço restante para a partição linux formatada Ext4. O resultado deve ser:
- partição EFI 500MB formatado como FAT32 e sinalizado ESP
- Partição do Linux formatada Ext4 sem sinalizadores
- Trocar a partição formatada, não trocar bandeiras
- partição NTFS
Em seguida, reinstale o Ubuntu. Use a opção de particionamento manual para selecionar suas partições pré-criadas. Verifique se a partição EFI da unidade interna está definida como "Não usar".
A inicialização de uma unidade externa requer o uso do caminho de mídia padrão. Inicialize o LiveCD e monte a partição EFI no externo (talvez seja necessário remover remotamente o flag do ESP para fazer isso). Copie EFI/ubuntu/shimx64.efi
para EFI/boot
e renomeie para bootx64.efi
. Desmonte a partição EFI e defina o sinalizador ESP se tiver que removê-lo.
Tentativa de reparar a instalação atual
Inicialize a partir de um LiveCD e use gparted
para reduzir a partição do Linux em 500MB. Crie uma nova partição com o espaço livre, formate-a FAT32 e sinalize para ESP. Registre o UUID da nova partição.
Monte sua partição linux. Edite etc/fstab
. Procure uma linha semelhante a:
# /boot/efi was on /dev/sda1 during installation
UUID=BB1E-83B5 /boot/efi vfat umask=0077 0 0
Substitua o UUID pelo da nova partição EFI.
Em seguida, monte as partições EFI para ambas as unidades (talvez seja necessário remover temporariamente o sinalizador ESP). Copie /efi/ubuntu/shimx64.efi
da unidade interna para /efi/boot/
no externo e renomeie para bootx64.efi
. Nota: você terá que fazer as pastas nas unidades externas.
Depois de qualquer reparo
Finalmente, monte a partição EFI da unidade interna. Exclua a pasta /EFI/ubuntu
. Reinicialize e abra as configurações do sistema pressionando a tecla de função apropriada durante a inicialização. Altere a ordem de inicialização para que o USB HDD esteja antes da unidade interna.
Agora você deve inicializar o linux quando o externo estiver conectado e o Windows quando o externo não estiver conectado.