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

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

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

Eu não quero nunca instalar o GRUB, inclusive durante a instalação do Ubuntu, já que minha experiência anterior ao tentar fazer isso neste dispositivo levou à corrupção do carregador de inicialização do Windows, o que pode efetivamente bloquear o dispositivo, pois parece precisar deles para inicializar a partir de USB. Estou ciente do sucesso deInicialização dupla do Surface Pro com Ubuntu?, mas quero ficar completamente longe do GRUB.

Até agora eu tentei o seguinte:

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

Infelizmente, isso não parece gerar nenhum stub .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 boot? Tenha em mente que neste estágio não consigo inicializar diretamente no Ubuntu, apenas uma instalação ao vivo, a menos que haja algo mais que eu deva fazer durante a instalação real.

Para reiterar, o que eu quero fazer é: Instalar o Ubuntu sem GRUB, gerar stubs efi para o Ubuntu, nunca tocar no firmware efi ou no diretório de inicialização do Windows e, em seguida, confiar no rEFInd para encontrar esses stubs durante a inicialização.

Responder1

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

Se você deseja inicializar o Windows e o Ubuntu via rEFIndsemusando GRUB, então os únicos programas EFI que você precisa ter no ESP são o carregador de inicialização do Windows (instalado pelo Windows), rEFInd ( refind_x64.efi) e um driver de sistema de arquivos EFI para qualquer sistema de arquivos que você usou com o Ubuntu (provavelmente ext4_x64.efi, no driversou drivers_x64subdiretório de o diretório que contém refind_x64.efi). O driver ext4fs permitirá que o EFI e, portanto, o rEFInd, leia o kernel Linux na partição principal do Linux. Os kernels Linux desde a versão 3.3.0 incluem um carregador de stub EFI, que é uma forma de transformar o kernel Linux em seu próprio carregador de boot. Assim, com o rEFInd e um driver ext4fs no ESP, o rEFInd pode iniciar o kernel Linux diretamente de uma partição Linux. Porém, há outra coisa que você precisará: um /boot/refind_linux.confarquivo para armazenar opções para 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 no /dev/sda8. Você pode adicionar mais opções para que apresente uma exibição gráfica de inicialização ou por outros motivos, mas o acima (com um root=valor modificado, com toda probabilidade) funcionará com a maioria dos sistemas.

Uma variante desta abordagem é copiar seu(s) kernel(s) para o ESP (provavelmente no EFI/ubuntudiretório do ESP) enãoinstale um driver de sistema de arquivos Linux. Isto 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ê colocará refind_linux.confo diretório no ESP onde armazena seus kernels.

informação relacionada