Primeiro, é CRÍTICO que você entenda o seu modo de inicialização. Computadores modernos podem inicializar de duas maneiras:
- BIOS - Esta é a maneira antiga de inicialização, usada na maioria dos computadores introduzidos antes de 2011. Os computadores modernos oferecem suporte à inicialização no modo BIOS por meio de um recurso chamado CSM (Compatibility Support Module), também conhecido como "suporte de inicialização no modo herdado" ou um termo semelhante. Portanto, esse método pode ser referido por três nomes: BIOS, CSM ou legado. Envolve o código do carregador de inicialização de 16 bits respingado no Master Boot Record (MBR) e em vários outros locais. É um método deselegante, porém maduro, de inicialização, e a maioria dos sites que não mencionam explicitamente o modo de inicialização descreve a inicialização no modo BIOS. Se o seu computador veio com o Windows 8 ou posterior, é provável que ele não use esse método de inicialização.
- EFI / UEFI - Esse é o modo de inicialização nativo para a maioria dos computadores introduzidos desde meados de 2011 e é completamente diferente da inicialização no modo BIOS; portanto, você deve ignorar qualquer conselho que diga explicitamente que é para inicialização no modo BIOS ou qualquer outra coisa que não menciona o modo de inicialização (já que é provável que seja antigo ou escrito por alguém que não conhece a diferença). Uma exceção: confusamente, muitas pessoas e até fabricantes de computadores se referem às suas EFIs como "BIOSs". Essa prática cria muita confusão.
Como você menciona o Windows 10, é provável que seu computador seja baseado em EFI e inicialize no modo EFI. Vou prosseguir com essa suposição. Se isso estiver incorreto, ignore o restante desta resposta.
Para inicializar um disco interno no modo EFI, o sistema operacional normalmente armazena um carregador de inicialização como um arquivo no EFI System Partition (ESP) no disco. Esse nome de arquivo pode ser legal, mas para o Ubuntu será EFI/ubuntu/shimx64.efi
, o que, por sua vez, será iniciado EFI/ubuntu/grubx64.efi
. O instalador do sistema operacional registra o nome do carregador de inicialização com o gerenciador de inicialização interno da EFI, que armazena esse nome na NVRAM. Se o EFI funcionar corretamente (nem todos funcionam), isso resultará em um processo de inicialização de trabalho.
O problema com esse processo, aplicado a um disco removível, é triplo:
- O instalador do Ubuntu instalará o GRUB no "ESP" - mas você pode ter vários ESPs disponíveis (quase certamente um no disco rígido e talvez um no drive USB). Controlar onde as instalações do GRUB pode ser complicado. Isso não é feito usando a opção marcada com o título óbvio sobre onde instalar o GRUB. Em vez disso, isso pode ser feito (AFAIK) somente na opção de instalação "Something Else", marcando o ESP que você deseja usar como "partição de inicialização EFI" ou "EFI System Partition" (cujo nome depende da versão do Ubuntu).
- Se você instalar o GRUB no ESP na unidade USB, quando remover a unidade USB, a EFI poderá perceber que possui uma entrada registrada no carregador de inicialização que não é válida e excluir essa entrada. Muitos EFIs fazem isso, e isso significa que, se você instalar o GRUB em um disco externo e, em seguida, desconectá-lo, perderá a capacidade de inicializar a partir desse disco, mesmo quando reconectá-lo.
- A maneira como o Ubuntu configura o GRUB faz com que ele confie nos arquivos de configuração que estão no
/boot/grub
diretório Ubuntu , que provavelmente não estão no ESP. Portanto, se o Ubuntu instalar o GRUB no ESP no seu disco interno, você evitará o primeiro problema, mas enfrentará outro porque, ao iniciar com a unidade USB desconectada, o GRUB será iniciado e não poderá encontrar seus arquivos de configuração. O resultado é um grub>
prompt que mistificará a maioria dos usuários.
Existem várias soluções para esses problemas, incluindo:
- Instalação manual do GRUB no nome do arquivo de fallback no disco externo - os instaladores do SO inicializam usando um nome de arquivo de fallback de
EFI/BOOT/bootx64.efi
. Se você copiar Shim (que lançamentos GRUB) para este arquivo (copiando EFI/ubuntu
para EFI/BOOT
a ESP e, em seguida, renomear shimx64.efi
a bootx64.efi
emEFI/BOOT
), seu firmware poderá iniciar seu GRUB baseado em USB, assim como o instalador do Ubuntu. Isso funcionará após os dois problemas que acabei de identificar, mas você precisará usar o gerenciador de inicialização interno do computador para selecionar qual SO inicializar. Esse gerenciador de inicialização interno varia de inutilizável a tolerável, portanto, isso pode ou não ser uma solução aceitável. Você também pode precisar ajustar sua ordem de inicialização depois de instalar o Ubuntu para impedir o lançamento do GRUB a partir do ESP do disco interno ou do ESP do disco externo por padrão.
- Colocar uma
/boot
partição no seu disco interno - Se você instalar o GRUB no disco interno, também poderá colocar uma /boot
partição no disco interno. Isso permitirá que o GRUB funcione normalmente em todas as botas; no entanto, a opção Ubuntu aparecerá o tempo todo, mesmo quando o disco USB estiver desconectado. Isso pode ser indesejável, especialmente se o Ubuntu for o padrão. Além disso, essa solução significa que sua unidade USB externa será inicializável apenas no computador em que você a preparou. Se você deseja usar esse disco em outros computadores, evite esta solução.
- Use um gerenciador de inicialização mais inteligente - Um gerenciador de inicialização oferece a opção de sistemas operacionais para inicializar, enquanto um carregador de inicialização carrega um kernel na memória. O GRUB executa as duas tarefas e o gerenciador de inicialização interno da EFI realiza apenas a primeira. Existem outros gerenciadores de inicialização disponíveis, alguns dos quais podem ajudá-lo a evitar os problemas que identifiquei. Meu próprio refE, por exemplo, se instalado no ESP do disco interno e feito o programa de inicialização padrão, detectará e apresentará uma opção do Ubuntu se e somente se o GRUB ou um kernel Linux estiver presente - ou seja, quando a unidade USB estiver conectada Ao definir a
default_selection
opção emrefind.conf
apropriadamente, você pode configurar o rEFInd para inicializar o Ubuntu automaticamente se sua unidade USB Ubuntu estiver conectada e inicializar diretamente no Windows se a unidade USB Ubuntu não estiver conectada. Minha resposta a esta pergunta fornece mais detalhes sobre esse tipo de configuração, embora em um Mac em vez de um PC.
Com alguma sorte, uma dessas abordagens o colocará em funcionamento.