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

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

Estoy intentando realizar un arranque dual de Windows 8 y Ubuntu 12.10 en mi Surface Pro y me gustaría utilizarreencontrarpara mi administrador de arranque.

No quiero instalar GRUB nunca, ni siquiera durante la instalación de Ubuntu, ya que mi experiencia pasada al intentar hacerlo en este dispositivo ha provocado la corrupción del cargador de arranque de Windows, lo que puede bloquear efectivamente el dispositivo, ya que parece necesitarlos para arrancar desde USB. Soy consciente del éxito de¿Surface Pro de arranque dual con Ubuntu?, pero quiero alejarme completamente de GRUB.

Hasta ahora he probado lo siguiente:

  1. Instale y pruebe que rEFInd funciona solo para Windows 8 sin problemas
  2. Instale Ubuntu 12.10 desde "ubiquity -b" para evitar que se instale GRUB
  3. Verificar que todavía puedo iniciar correctamente Windows 8

Desafortunadamente, esto no parece generar ningún código auxiliar .efi para Ubuntu, por lo que no estoy seguro de qué hacer en este momento. ¿Qué puedo hacer para generarlos sin instalar GRUB o cualquier otro gestor de arranque? Tenga en cuenta que en esta etapa no puedo iniciar directamente Ubuntu, sólo una instalación en vivo, a menos que haya algo más que deba hacer durante la instalación real.

Para reiterar, lo que quiero hacer es: instalar Ubuntu sin GRUB, generar apéndices efi para Ubuntu, nunca tocar el firmware efi o el directorio de inicio de Windows y luego confiar en rEFInd para encontrar estos apéndices durante el arranque.

Respuesta1

Primero, supongo que por "stubs .efi" te refieres a archivos con .efiextensiones en la partición del sistema EFI (ESP). Esos son archivos de programa EFI, más comúnmente cargadores de arranque, pero a veces también programas y utilidades.

Si desea iniciar Windows y Ubuntu mediante rEFIndsinusando GRUB, entonces los únicos programas EFI que necesita tener en el ESP son el cargador de arranque de Windows (instalado por Windows), rEFInd ( refind_x64.efi) y un controlador de sistema de archivos EFI para cualquier sistema de archivos que haya usado con Ubuntu (probablemente ext4_x64.efi, en el subdirectorio driverso de drivers_x64el directorio que contiene refind_x64.efi). El controlador ext4fs permitirá que EFI, y por lo tanto rEFInd, lea el kernel de Linux en la partición principal de Linux. Los kernels de Linux desde la versión 3.3.0 han incluido un cargador auxiliar EFI, que es una forma de convertir el kernel de Linux en su propio cargador de arranque. Por lo tanto, con rEFInd y un controlador ext4fs en el ESP, rEFInd puede iniciar el kernel de Linux directamente desde una partición de Linux. Sin embargo, necesitarás otra cosa: un /boot/refind_linux.confarchivo que contenga opciones para Linux. Un ejemplo mínimo se parece a este:

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

Este ejemplo inicia la instalación en /dev/sda8. Puede agregar más opciones para que presente una pantalla gráfica de inicio o por otros motivos, pero lo anterior (con un root=valor modificado, con toda probabilidad) funcionará con la mayoría de los sistemas.

Una variante de este enfoque es copiar su(s) núcleo(s) al ESP (probablemente en el EFI/ubuntudirectorio del ESP) ynoInstale un controlador del sistema de archivos Linux. Esto tiene algunas ventajas en algunos sistemas, pero requiere copiar el kernel cada vez que el sistema de empaquetado lo actualiza. Si lo hace de esta manera, colocará refind_linux.confel directorio en el ESP donde almacena sus núcleos.

información relacionada