Aparentemente você instalou o grub na unidade interna. Você provavelmente tem seus módulos e grub.cfg na unidade externa, mas o código de inicialização (ou binário EFI para o sistema UEFI) foi instalado no MBR (e na lacuna pós-MBR / partição de inicialização do BIOS) da unidade interna. Aposto que você vê o shell RESCUE do grub quando você tem a unidade externa desconectada.
A solução é reinstalar o grub corretamente. Por exemplo, se
-
/dev/sda
: unidade interna do Windows -
/dev/sdb
: unidade externa do Linux
O que você fez provavelmente é:
-
grub-install /dev/sda
, que consiste na opção implícita--boot-directory /boot
, enquanto/boot
está em/dev/sdb
O que você deve fazer é:
-
grub-install /dev/sdb
Por favor, note que os nomes / dev / sdX podem mudar entre as inicializações. Portanto, verifique com lsblk
ou findmnt
para confirmar qual unidade é a unidade do Linux antes de executar isso.
Em seguida, corrija o MBR da unidade interna (Windows): link