Instale o Ubuntu 14.04 no disco rígido externo com o Windows 8.1 UEFI

1

Eu comprei recentemente um novo laptop, o Lenovo Essential B50-70 MCC39MB Azerty, e eu tinha um HDD externo por aí com o Ubuntu 14.04 nele. Eu pensei que seria bom se eu pudesse usar este HDD sempre que eu quisesse. Basta ligá-lo e escolher o Ubuntu no GRUB. Então eu segui estas instruções .

Mas agora eu tenho esse problema que, quando o disco rígido externo não está conectado, recebo um erro do GRUB. Quando eu digito 'exit', posso inicializar no Windows, mas isso não é muito prático. Eu só quero que o GRUB apareça quando o disco rígido estiver conectado e inicie no Windows de outra forma.

Eu já pesquisei um pouco e realmente não encontrei uma resposta para esse problema específico. Qualquer ajuda é muito apreciada.

    
por SBylemans 06.06.2015 / 23:16

2 respostas

2

Infelizmente, as instruções eram para uma cópia auto-instalada do Windows 8, portanto, sua configuração NÃO era uma máquina UEFI. As coisas são um pouco diferentes para o Windows 8 pré-instalado em máquinas UEFI.

Dispositivos de inicialização externos (removíveis) devem ter suas próprias divisões 300M, FAT e EFI para manter os carregadores de inicialização. Quando você seleciona o local para o carregador de inicialização (em sdb para o externo), use essa partição (que pode funcionar) em vez do dispositivo (que nunca funciona). Quando isso não funcionar, o disco rígido interno é usado, portanto, basta copiar os arquivos da EFI do disco interno para a EFI do disco externo. Agora, o instalador ainda pode não configurar os bootloaders no diretório correto para um dispositivo removível - eles devem entrar em / EFI / Boot e ser nomeados /EFI/Boot/bootx64.efi. Em vez disso, grubx64.efi e shimx64.efi (os bootloaders) normalmente são colocados em / EFI / ubuntu (assim como no disco rígido interno). Eu gosto de usar shimx64.efi como o arquivo bootx64.efi para que a inicialização funcione se a inicialização segura estiver ativada ou desativada. Portanto, copie /EFI/ubuntu/shimx64.efi para /EFI/Boot/bootx64.efi (observe a alteração do nome) e também copie /EFI/ubuntu/grubx64.efi para /EFI/Boot/grubx64.efi. O arquivo grub.cfg pode ser deixado em / EFI / ubuntu.

A entrada de inicialização nvram para USB (discos ...) deve agora inicializar o disco externo - nenhuma nova entrada em nvram deve ser necessária. Se você está obtendo o grub sem o disco rígido externo, parece que foi instalado na EFI do disco rígido interno (sem problemas) e foi colocado antes dos bootloaders do Windows em ordem de inicialização (problema). O efibootmgr do Ubuntu permitirá que você altere a ordem de inicialização ou exclua a entrada indesejada do Ubuntu (lembre-se, você estará inicializando com a entrada USB).

    
por ubfan1 07.06.2015 / 00:26
1

A abordagem de Ubfan1 (colocando uma partição do sistema EFI, ou ESP , no disco externo e colocando uma cópia do GRUB lá ) Deveria trabalhar. Existem vários obstáculos em potencial, no entanto:

  • O disco externo existente pode muito bem usar o sistema de particionamento Master Boot Record (MBR) , em vez da Tabela de Partição GUID (GPT) que a EFI favorece. Embora o EFI geralmente trabalhe com o MBR, isso não é 100% certo. No mínimo, é uma opção menos testada do que a GPT. A conversão de MBR para GPT (via gdisk ) pode superar esse problema, se ele se tornar um.
  • Um ESP deve ser criado no disco externo. Isso quase certamente exigirá o redimensionamento de pelo menos uma partição e a criação de uma nova. Este não é um grande negócio para pessoas experientes, mas é pelo menos um pequeno incômodo.
  • Alternar a inicialização entre sistemas operacionais provavelmente exigirá o uso do gerenciador de inicialização interno do computador. Estes podem ser um pouco desajeitados para serem ativados - eles geralmente exigem um pressionamento de tecla na hora de início do sistema.
  • Você precisará instalar o GRUB no disco rígido externo. AFAIK, os scripts de configuração do GRUB não foram projetados para isso, então você precisará improvisar. A Ubfan1 forneceu algumas informações úteis sobre o end-point, mas conseguir do início ao fim vai demorar muito mais do que isso. O GRUB também não é a melhor escolha para esse tipo de configuração personalizada. No geral, acho que esse é o maior problema em potencial com a sugestão do ubfan1, já que requer "sair do script" da configuração usual do GRUB, e o GRUB é notoriamente difícil de configurar, exceto através de seus scripts de configuração.

Uma alternativa é colocar um gerenciador de inicialização do Linux e / ou um carregador de boot no ESP existente no disco rígido interno. Esse posicionamento significa que o seu gerenciador de inicialização preferido (GRUB ou qualquer outra coisa) pode ser executado sempre que o computador inicializa, portanto, você não precisará lidar com o gerenciador de inicialização interno da máquina com tanta frequência. Você também não precisará reparticionar o disco externo ou convertê-lo de MBR para GPT. O Reparo de inicialização pode ajudar a automatizar a configuração.

Por outro lado, se o arquivo de configuração do GRUB acabar no disco externo, ele não funcionará se o disco externo for removido. (É possível colocar o arquivo grub.cfg do GRUB e outros arquivos de suporte necessários no ESP, e não no diretório /boot do Linux, mas não me lembro dos detalhes precisos de como configurá-lo.) Em vez de usar o GRUB neste Para mim, o gerenciador de inicialização do rEFInd pode ser uma escolha melhor. Ele pode ser testado a partir de uma unidade flash USB ou CD-R, mas as imagens prontas para isso não suportam o Secure Boot, portanto, é necessário desativá-lo para testes. O rEFInd deve permitir que você inicialize o Windows ou (quando o disco estiver conectado) o Ubuntu. A menos que a configuração do GRUB seja mais fácil do que eu esperava, o rEFInd deve ser mais fácil de configurar - se o rEFInd na unidade flash USB ou CD-R puder inicializar seu Ubuntu existente, basta instalar o pacote Debian ou PPA no Ubuntu e automaticamente para o ESP no disco interno. (Se o disco externo também tiver um ESP, há uma chance de que o rEFInd seja instalado lá.)

    
por Rod Smith 07.06.2015 / 01:09