EFI Stub Loader para Ubuntu 12.10 / Windows 8 usando rEFInd on Surface Pro

0

Estou tentando fazer uma inicialização dupla do Windows 8 e do Ubuntu 12.10 no Surface Pro e gostaria de usar rEFInd para o meu gerenciador de boot.

Eu não quero instalar o GRUB, inclusive durante a instalação do Ubuntu, já que minha experiência anterior com a tentativa de fazer isso neste dispositivo levou à corrupção do gerenciador de inicialização do Windows, que pode efetivamente bloquear o dispositivo, já que parece precisa deles para inicializar a partir do USB. Estou ciente do sucesso do Dual Boot Surface Pro com o Ubuntu? , mas quer ficar longe do GRUB completamente.

Até agora eu tentei o seguinte:

  1. Instalar e testar se o rEFInd está funcionando apenas para o Windows 8 sem problemas
  2. Instale o Ubuntu 12.10 de "ubiquity -b" para evitar que o GRUB seja instalado
  3. Verifique se ainda posso inicializar corretamente no Windows 8

Infelizmente, isso não parece gerar nenhum stubs .efi para o Ubuntu, então não tenho certeza do que fazer neste momento. O que posso fazer para gerá-los sem instalar o GRUB ou qualquer outro gerenciador de inicialização? Tenha em mente que neste estágio eu não posso inicializar diretamente no Ubuntu, apenas uma instalação ativa, a menos que haja algo mais que eu deva estar fazendo durante a instalação.

Para reiterar, o que eu quero fazer é: Instale o Ubuntu sem o GRUB, gere stubs de efi para o Ubuntu, nunca toque no firmware do efi ou no diretório de inicialização do Windows e confie no rEFInd para localizar esses stubs durante a inicialização.

    
por Azoth 26.03.2013 / 23:20

1 resposta

1

Primeiro, presumo que por "stubs .efi" você quer dizer arquivos com .efi extensões na partição do sistema EFI (ESP). Esses são arquivos de programa EFI - mais comumente carregadores de inicialização, mas também às vezes programas e utilitários.

Se você deseja inicializar o Windows e o Ubuntu via rEFInd sem usando o GRUB, os únicos programas EFI que você precisa ter no ESP são o gerenciador de inicialização do Windows (instalado pelo Windows), rEFInd ( refind_x64.efi ), e um driver do sistema de arquivos EFI para qualquer sistema de arquivos usado com o Ubuntu (provavelmente ext4_x64.efi , no subdiretório drivers ou drivers_x64 do diretório que contém refind_x64.efi ). O driver ext4fs permitirá que o EFI e, portanto, o rEFInd, leia o kernel do Linux na partição principal do Linux. Os kernels Linux desde a versão 3.3.0 incluíram um stub stub loader, que é uma maneira de transformar o kernel Linux em seu próprio gerenciador de inicialização. Assim, com o rEFInd e um driver ext4fs no ESP, o rEFInd pode iniciar o kernel do Linux diretamente de uma partição do Linux. Há uma outra coisa que você precisará, no entanto: um arquivo /boot/refind_linux.conf para conter opções para o Linux. Um exemplo mínimo é assim:

"Boot with normal options"   "ro root=/dev/sda8"
"Boot into single-user mode" "ro root=/dev/sda8 single"

Este exemplo inicializa a instalação em /dev/sda8 . Você pode adicionar mais opções para apresentar uma exibição de inicialização gráfica ou por outros motivos, mas o acima (com um valor root= modificado, com toda a probabilidade) funcionará com a maioria dos sistemas.

Uma variante desta abordagem é copiar seu (s) kernel (s) para o ESP (provavelmente no diretório EFI/ubuntu do ESP) e não instalar um driver do sistema de arquivos Linux. Isso tem algumas vantagens em alguns sistemas, mas requer a cópia do kernel toda vez que o sistema de empacotamento o atualiza. Se você fizer dessa maneira, você colocaria refind_linux.conf no diretório no ESP onde você armazena seus kernels.

    
por Rod Smith 27.03.2013 / 17:27