Onde o carregador de inicialização deve ser instalado quando eu quero executar o Ubuntu a partir de um disco rígido externo?

9

Eu tenho um laptop que está executando o Windows 10 e quero instalar o Ubuntu em um disco rígido externo e sempre que precisar, basta conectá-lo e inicializar a partir da unidade externa.

Eu segui um tutorial, na verdade dois, e ambos disseram que o carregador de inicialização deve ser instalado no disco rígido externo. Como resultado, eu só podia acessar o Windows quando o HDD externo estava conectado. Sempre que eu não o tinha conectado, o laptop não inicializava e eu apenas obtinha uma tela preta com uma linha branca. Depois de corrigir meu registro mestre de inicialização, eu poderia acessar o Windows.

Agora quero tentar novamente, mas tenho medo de que, se eu instalar o gerenciador de inicialização na unidade interna, possa excluir a partição do Windows de alguma forma ou terei problemas com a inicialização.

Então, o que eu deveria fazer?

capitão
fonte
Bug possível e solução até à bugs.launchpad.net/ubuntu/+bug/1835639
Bellera

Respostas:

10

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/grubdiretó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/ubuntupara EFI/BOOTa ESP e, em seguida, renomear shimx64.efia bootx64.efiemEFI/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 /bootpartição no seu disco interno - Se você instalar o GRUB no disco interno, também poderá colocar uma /bootpartiçã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_selectionopção emrefind.confapropriadamente, 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.

Rod Smith
fonte
0
  1. Inicialize o Ubuntu Live USB / CD
  2. Conecte seu disco rígido externo
  3. Instale o Ubuntu no disco rígido externo (avançado, para que você possa definir onde o carregador de inicialização deve instalar)
  4. Configure o BIOS para inicializar a partir do seu disco rígido externo
RemoveThisAccount
fonte
Esta é uma solução baseada em BIOS que não funcionará corretamente na maioria dos computadores baseados em EFI.
Rod Smith
0

Você precisa instalar o carregador de inicialização em qualquer unidade que o UEFI / BIOS use para inicializar. Você pode alterar essa unidade em suas configurações da BIOS, que você pode geralmente acesso pressionando algo como F10, F12ou Delimediatamente após o computador é iniciado. Portanto, como primeiro passo, você pode tentar configurar sua máquina para inicializar a partir da unidade externa, e não da unidade interna. Se o carregador de inicialização estiver instalado corretamente na unidade externa, isso deverá funcionar.

Para o uso diário normal, você provavelmente sempre desejará inicializar a partir da mesma unidade por conveniência, portanto, desejará instalar o gerenciador de inicialização na sua unidade interna. Antes de fazer isso, no entanto, você deve fazer um backup, de preferência uma imagem de disco completa da sua unidade interna de trabalho. Se você encontrar problemas após instalar o Ubuntu junto com o Windows, a ferramenta Boot-Repair pode ajudar.

Ben
fonte
Eu já mudei a ordem de inicialização para inicializar a partir de um USB antes do disco rígido interno. Então, eu imagino que se eu instalar o Ubuntu no disco rígido externo e instalar o gerenciador de inicialização no disco rígido externo, eu posso, mas gosto de inicializar a partir do pendrive, certo?
capitão
Desculpe, não sei exatamente o que você está perguntando. Você deve ser capaz de 1) instalar o gerenciador de inicialização na unidade externa, 2) remover a unidade USB e 3) configurar o BIOS para inicializar a partir da unidade externa e depois inicializar no Ubuntu na unidade externa.
23416 Ben
@capitan Wright. Como eu disse, isso funcionaria.
Izzno 23/03/16
0

Eu instalaria o carregador de inicialização no dispositivo externo! Dessa forma, não há chance de a instalação do Windows corromper ou remover o gerenciador de inicialização. Seria uma tarefa simples configurar o BIOS para inicializar:

USB-Key
USB-Disk
HDD
etc 
etc

NOTA: TENHA CERTEZA DE DESABILITAR O SECUREBOOT (se você encontrar essa opção)

Dessa forma, se você desconectar o dispositivo externo por algum motivo, isso não causará problemas no seu computador.

E: Se você ficar longe de drivers proprietários, poderá executar este sistema em outros computadores ...

(Aliás, eu não recomendaria esse tipo de instalação para uso permanente, pois será mais lento que o eSATA)

Izzno
fonte
O Ubuntu suporta inicialização segura. Embora existam incompatibilidades ocasionais, elas são raras, portanto não deve haver necessidade de mexer nessa configuração. No EFI, as configurações da ordem de inicialização são geralmente muito mais complexas do que você descreve, o que é bom e ruim - oferece mais opções e controle mais refinado; mas significa que há mais a aprender, e é improvável que as soluções simples aprendidas no mundo da BIOS funcionem.
Rod Smith
Eu não sabia que o ubuntu poderia "posar" como o Windows, pois todas as opções do BIOS de inicialização segura que eu já vi afirmam especificamente que ele desabilita todas as habilidades para alterar a ordem de inicialização permanentemente e / ou o SO.
Izzno 23/03/16
O Ubuntu não "representa" como o Windows. O Secure Boot simplesmente exige que um programa EFI seja assinado por uma chave privada cuja chave pública esteja registrada no firmware. A Microsoft assina chaves de terceiros, incluindo o binário Shim da Canonical, tornando-os executáveis ​​em computadores que incluem a chave da Microsoft. Nunca ouvi falar de uma implementação de Inicialização segura que evite alterar a ordem de inicialização, embora suponha que um fornecedor possa optar por adicionar essa restrição. Veja minha página no Secure Boot para obter mais informações sobre este tópico.
Rod Smith