Foi assim que instalei o grub no meu disco rígido externo (GPT) que tinha o Ubuntu 17.04 instalado. Quando você faz isso, você pode inicializar seu Ubuntu em qualquer PC que suporte UEFI usando o grub no externo sem depender do grub do PC. Ele também pode servir como backup grub no caso de o problema com o EFI do Windows.
Instalando o Grub em um disco rígido externo que tenha o Ubuntu instalado
-
Inicialize em um Ubuntu USB ao vivo e conecte o disco rígido externo.
-
Listar partições de todos os dispositivos:
lsblk
-
A partir dos resultados de lsblk
, identifique a partição linux e também a partição efi do disco rígido externo,
ou seja, /dev/sdXY1
e /dev/sdXY2
, respectivamente. Substitua XY1
e XY2
pelos seus próprios nomes de partições.
-
Montagem especial da partição do Linux:
sudo mount /dev/sdXY1 /mnt
-
Montar sistemas de arquivos virtuais críticos:
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
-
chroot
na partição do Linux que você montou:
sudo chroot /mnt
Você está agora no sistema de arquivos linux do disco rígido externo.
-
Crie o diretório onde o grub instalaria seus arquivos:
mkdir -p /boot/efi
Se já existir, pule para o passo 8.
-
Monte a partição efi do passo 3:
mount /dev/sdXY2 /boot/efi
-
Instale o grub no disco rígido externo:
grub-install /dev/sdX
-
Atualizar o grub:
update-grub
-
Encontre o UUID da partição efi (também conhecida como 'vfat') e anote:
blkid
ou
ls -l /dev/disk/by-uuid
-
Agora precisamos dizer ao fstab para montar essa partição efi na inicialização:
cp /etc/fstab /etc/fstab.bak
sudo nano /etc/fstab
Adicione as duas linhas abaixo ao fstab substituindo xxxx-xxxx pelo UUID da etapa 11:
#my modified fstab to mount external hard drive's esp
UUID=xxxx-xxxx /boot/efi vfat umask=0077 0 1
Certifique-se de comentar a entrada fstab do Windows esp para que não entre em conflito.
-
Saia do chroot:
exit
-
Reinicie o PC:
sudo reboot
Neste ponto, quando você reiniciar e escolher seu dispositivo externo a partir do gerenciador de inicialização EFI, ele será inicializado no grub.
Para que o Ubuntu inicialize automaticamente quando você inserir o externo e o Windows inicialize automaticamente quando o externo não estiver inserido, você deverá criar uma entrada de inicialização personalizada para o Ubuntu apontar para o efi na unidade externa:
Criando uma entrada de inicialização personalizada para o Ubuntu para apontar para o efi no HD externo
Do Windows EasyUEFI pode adicionar ou remover entradas de inicialização.
Do Linux efibootmgr pode adicionar ou remover entradas de inicialização.
Alternativa # 1 - usando o EasyUEFI
-
No Windows, faça o download do EasyUEFI, instale-o e execute-o.
-
Escolha o gerenciador de opções da EFI
-
Escolha criar "nova entrada" com o sinal de +
-
Escolha Linux ou outro sistema operacional e atribua a ele um nome na caixa de descrição
-
Selecione a partição FAT32 EFI na unidade externa que contém o bootloader grub
-
Escolha procurar
-
Navegue até /efi/ubuntu/shimx64.efi ou / efi / ubuntu / grubx64
-
Salvar
-
Mova-o para o topo da lista de entradas de inicialização
-
Reinicie
Alternativa # 2 - usando efibootmgr
-
Listar entradas do menu de inicialização:
efibootmgr
-
Crie uma entrada de inicialização:
efibootmgr -c [-L label] [-d /dev/sdX]
por exemplo: efibootmgr -c -L myubuntu -d /dev/sdX
Esta entrada de inicialização seria automaticamente a primeira entrada.
/dev/sdX
é o disco rígido externo com o bootloader grub.
-
Agora você pode reinicializar e, sem a sua intervenção, o Ubuntu inicializaria automaticamente quando o disco rígido externo estivesse conectado. Quando o disco rígido externo não estiver conectado, o computador não funcionará.
nossa Ubuntu entrada de inicialização para a próxima entrada que provavelmente é Gerenciador de inicialização do Windows .