Converter dual boot de Legacy para EFI [DESAFIO]

Seguinte. Eu estive pensando se algo do tipo é possível e como poderia ser feito. Mas antes vou colocar a problemática na mesa:

Eu tenho um sistema com dois discos, um SSD de 120 GB e um HDD de 1 TB. Ambos estão formatados em MBR. O SSD possue duas partições, uma de 80 GB para o Windows 10 e uma de 40 GB para a montagem / de nossa distro Linux. Já no HDD de 1 TB, existem três partições. Uma de armazenamento geral de 820 GB chamada Backup, uma criptografada em LUKS para o ponto de montagem /home de nossa distro linux e uma partição swap de 8 GB.

Agora o desafio para essa situação hipotética é a seguinte. Converter essas tabelas de partições de MBR para GPT e habilitar o EFI. Seria necessário criar uma partição de boot efi no SSD mas considerando que ambos os sistemas operacionais nesse dual boot estão instalados em modo Legacy, é plausível converter para EFI? Eu dei uma lida nas interwebs e vi algo que poderia permitir o Windows mudar para modo EFI mas e sobre a nossa distro linux? Apenas instalar o GRUB em EFI seria necessário ou algo teria de ser feito no lado do sistema para que tudo dê certo. Lembrando que formatação não é uma opção.

1 Curtida

Eu acredito que é possível sim mas deve dar um trabalho… Hipoteticamente falando.

Bem, eu lembro que converter de MBR para GPT sem perder o conteúdo das partições é possível. Ou pelo menos era quando eu estava tentando criar um Hackintosh em um computador antigo vários anos atrás. Agora é ver se os sistemas Windows 10 e distro Linux vão sobreviver a uma mudança de Legacy para EFI sem perda de dados.

Este é o desafio, sera que se acrescentar no título [desafio]… :innocent: pois é um tópico interessante. De repente numa situação empresarial onde simplesmente fazer back up e formatar (especialmente formatar) é algo que só seria aplicado em ultimo caso, após a passagem pela “uti” e o programador vai ser valorizado pelo trabalho então…

Excelente idéia. Troquei de Hipotéticamente Falando para Desafio

1 Curtida

Teoricamente, um terceiro disco (pendrive por exemplo) com grub em EFI deve ser capaz de bootar os outros 2, qualquer outra solução vai ser necessário formatar

1 Curtida

Mas vamos supor que não há a possibilidade para esta solução, 3rd disco…

1 Curtida

Eu lembro dos meus tempos de instalação manual do Arch que o grub é algo instalável em uma partição. Apenas precisa dizer qual partição quer que seja instalado e em qual modo. Talvez seja o necessário para que faça boot em EFI?

1 Curtida

Então lascou, essa situação aperta sem abraçar, EFI até onde sei pode funcionar em MBR do modo que o @ryu_ketsueki , mas o único relato testado foi de alguém que teve problemas

1 Curtida

só instalar o grub em efi e tá tudo pronto

Passo a passo conceitual:

  1. Backup das informações importantes, operações arricadas a serem feitas.
  2. Abra uns 500 MB de espaço para a futura partição EFI
  3. Boot live em modo UEFI
  4. Converta o disco para GPT
  5. Crie a partição EFI
  6. Faça chroot na sua instalação (especial atenção pra montar os diretórios virtuais /sys e também o diretório do efivars)
  7. Adicione o ponto de montagem /boot/efi no /etc/fstab
  8. Confira se houve mudança de UUID das demais partições presentes no seu fstab e atualize
  9. Monte o /boot/efi
  10. Instale o pacote do grub-efi (possível conflito com pacote do grub-pc para ser resolvido)
  11. grub-install com a opção “–target=x86_64-efi”, recomendo especificar o maior numero de parametros possíveis (grub-install --help)
  12. Confira que os arquivos foram copiado em /boot/efi/EFI/suadristro/grubx64.efi
  13. Confira que a entrada na NVRAM foi criada “efibootmgr -v” e está na ordem certa.
  14. Reboot, desative o secure boot, se funcionar deu tudo certo. Se não funcionar verifique a falha.
  15. Parabéns.
1 Curtida

Mano, esse seu passo a passo parece quase perfeito. Eu dei uma pesquisada sobre conversão de MBR para GPT e algo que faltou mencionar foi descriptografar a partição que estava em LUKS. Isso é necessário porque na hora de converter a tabela de partições, a que estava em LUKS pode acontecer de ter os setores de começo e fim definidos erroneamente, tendo apenas o header do LUKS definido corretamente, o que resultaria em ter que definir o ponto de início e fim da partição manualmente só para a parte de tentar recuperar a partição. Aí começa a causar problemas desnecessários, mesmo que um backup tenha sido feito anteriormente. Mas fora isso, parece está tudo em ordem xD

Ah e faltou a parte do Windows, já que é um Dual Boot. Se fizer apenas a parte da distro Linux, o Windows não é bootável