Cambiar el orden de inicio en arranque múltiple Windows 10 - Ubuntu 15.10 - Fedora 23

Cambiar el orden de inicio en arranque múltiple Windows 10 - Ubuntu 15.10 - Fedora 23

Tengo problemas para configurar el orden de inicio, ya que quiero que esté en mi computadora de inicio múltiple que contiene Windows 10 - Ubuntu 15.10 - Fedora 23.

Esto es lo que hice: solía tener solo un arranque dual con Windows 10 y Ubuntu 15.10 que funcionaba como se esperaba:

  • Podría configurarlo y, por ejemplo, configurar un tema.
  • Podría arrancar fácilmente en un USBLive.

Como quería probar otras distribuciones de Linux, instalé Fedora 23.

Sucedió que Fedora tomó el poder en el arranque. Primero necesitaba cambiar la configuración de arranque de Fedora, reemplazando Linux e initrd por linuxefi e initrdefi para poder arrancar en Ubuntu, como se explicó.aquí.

Luego puedo acceder a todos los sistemas operativos instalados en mi computadora. Pero quiero devolverle el poder de arranque a Ubuntu.

Así que primero intenté reparar el arranque desde Ubuntu, pero no es eficiente.

Luego intenté usar efibootmgr:

$ sudo efibootmgr 
Mot de passe [sudo] pour xavier : 
BootCurrent: 0004
Timeout: 2 seconds
BootOrder: 0004,0006,0000,0007,0001,0002,0003
Boot0000* Windows Boot Manager
Boot0001* ubuntu
Boot0002  UEFI: IP4 Qualcomm Atheros PCIe Network Controller
Boot0003  UEFI: IP6 Qualcomm Atheros PCIe Network Controller
Boot0004* Fedora
Boot0006* grub
Boot0007* ubuntu

Luego probé tanto en Ubuntu como en Fedora para cambiar el orden:

$ sudo efibootmgr --bootorder 0006,0004,0000,0001,0007,0002,0003
BootCurrent: 0004
Timeout: 2 seconds
BootOrder: 0006,0004,0000,0001,0007,0002,0003
Boot0000* Windows Boot Manager
Boot0001* ubuntu
Boot0002  UEFI: IP4 Qualcomm Atheros PCIe Network Controller
Boot0003  UEFI: IP6 Qualcomm Atheros PCIe Network Controller
Boot0004* Fedora
Boot0006* grub
Boot0007* ubuntu

Pero al reiniciar, el cambio que hice con efibootmgr no se aplica, y si vuelvo a preguntar a efibootmgr por el orden de arranque, me dará el de Fedora...

Creo que el problema puede deberse a diferentes parámetros que realmente no entiendo, como por ejemplo:

  • ¿Cuál es la diferencia entre arranque efi, grub y grub2?
  • ¿Cuál es el impacto del arranque seguro?
  • ¿Qué es el arranque heredado?

Gracias a cualquiera que pueda ayudarme a obtener una configuración limpia.

EDITAR: La respuesta de Rod Smith me hace darme cuenta de que puedo obtener más información con el argumento -v:

$ sudo efibootmgr -v
BootCurrent: 0004
Timeout: 2 seconds
BootOrder: 0004,0006,0000,0007,0001,0002,0003
Boot0000* Windows Boot Manager  HD(2,GPT,e0e2d47c-9086-47d6-b1e5-0ec248d9d6f0,0x12c800,0x96000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...3................
Boot0001* ubuntu    HD(2,GPT,e0e2d47c-9086-47d6-b1e5-0ec248d9d6f0,0x12c800,0x96000)/File(\EFI\UBUNTU\SHIMX64.EFI)
Boot0002  UEFI: IP4 Qualcomm Atheros PCIe Network Controller    PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)/MAC(448a5b4783b6,0)/IPv4(0.0.0.0:0<->0.0.0.0:0,0,0)..BO
Boot0003  UEFI: IP6 Qualcomm Atheros PCIe Network Controller    PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)/MAC(448a5b4783b6,0)/IPv6([::]:<->[::]:,0,0)..BO
Boot0004* Fedora    HD(2,GPT,e0e2d47c-9086-47d6-b1e5-0ec248d9d6f0,0x12c800,0x96000)/File(\EFI\FEDORA\SHIM.EFI)
Boot0006* grub  HD(2,GPT,e0e2d47c-9086-47d6-b1e5-0ec248d9d6f0,0x12c800,0x96000)/File(\EFI\GRUB\SHIMX64.EFI)
Boot0007* ubuntu    HD(2,GPT,e0e2d47c-9086-47d6-b1e5-0ec248d9d6f0,0x12c800,0x96000)/File(\EFI\UBUNTU\GRUBX64.EFI)

Gracias a estocorreoDe Rod Smith, entiendo el papel de ambas entradas de Ubuntu. Pero el grub parece no ser deseado ya que el archivo no existe:

$ ls -a
.  ..  Boot  fedora  Microsoft  MSI  ubuntu

¿Quizás debería borrarlo?

Luego probé un orden diferente:

$ sudo efibootmgr --bootorder 0001,0004,0000,0006,0007,0002,0003

Pero, lamentablemente, los cambios no funcionan.

Entonces, si entiendo bien la respuesta de Rod Smith, ¿la única solución es borrar la entrada de Fedora? Eso tal vez causaría algunos problemas si algún día quiero conservar solo Fedora, pero hasta ese momento, ¿me permitiría arrancar en USBLive?

Gracias de nuevo !

Respuesta1

Comenzaré respondiendo las preguntas al final de tu publicación:

  • El arranque en modo EFI utiliza el modo de arranque nativo del firmware, mientras que el arranque en modo BIOS/CSM/heredado utiliza el módulo de soporte de compatibilidad, que permite arrancar cargadores de arranque en modo BIOS más antiguos. Veresta pregunta y mi respuesta en superuser.compara más información sobre este tema.
  • GRUB es uno devarios cargadores de arranque en modo EFI para Linux.(También hay versiones de GRUB para BIOS y otros tipos de firmware). GRUB Legacy, también conocido como GRUB 1, nunca fue oficialmente compatible con EFI, aunque Fedora tenía una versión con muchos parches que ahora es abandonware. Por lo tanto, la mayoría de las referencias a GRUB en un contexto EFI se refieren a GRUB 2.
  • El arranque seguro es una característica opcional de EFI destinada a mejorar la seguridad del sistema al impedir que un EFI lance archivos binarios que no estén firmados criptográficamente por una autoridad confiable. En principio, esta autoridad podrías ser tú; o podría ser alguien más. En la práctica, Microsoft posee las únicas claves comúnmente disponibles para el arranque seguro y, por lo tanto, controla el proceso. Afortunadamente, Microsoft firmará binarios de terceros y Ubuntu ha utilizado esto para que Microsoft firme un binario llamadoCalceque, a su vez, incluye la clave de Canonical, que se utiliza para firmar GRUB y el kernel de Linux en Ubuntu. Tenga en cuenta que, al realizar un arranque dual en dos distribuciones de Linux, el Shim de ninguna distribución incluirá la clave para la otra distribución. Por lo tanto, debe registrar la clave de la otra distribución en la lista de claves de propietario de la máquina (MOK), lo que puede hacer con la MokManager.efiutilidad en EFI. Creo que la sb-updatevarutilidad también puede hacer esto en Linux, pero tengo menos experiencia con ella. Veraquípara varias llaves en un lugar práctico; necesitarías .cero .derllaves. Vermi página sobre arranque seguropara más información sobre este tema.

En cuanto a su problema principal, el comando efibootmgr -o(o )efibootmgr --bootorderdeberíadé control a cualquier programa de arranque que especifique. Sin embargo, tenga en cuenta que probablemente quiso darle el control a Boot0001o Boot0007no Boot0006: Ubuntu usa el nombre ubuntu, no grub, para describir sus propias entradas de arranque. Puede identificar mejor cada uno de ellos escribiendo sudo efibootmgr -v, lo que produce rutas completas a las entradas de inicio (identificadas mediante identificadores de ruta EFI, que son largos y complejos y se refieren, entre otras cosas, a los números GUID de las particiones, que puede obtener con gdisko algunos versiones de blkid). Por lo tanto, antes de hacer cualquier otra cosa, es posible que desee intentar cambiar el orden de inicio al valor correcto, en lugar de Boot0004.

En la práctica, efibootmgrlos cambios a veces no funcionan debido a EFI defectuosos o datos corruptos en la NVRAM de la máquina (que es donde efibootmgrse almacenan los datos que se muestran y ajustan). Comúnmente se emplean tres soluciones a estos problemas:

  • Limpiar entradas no deseadas- A veces, eliminar una entrada no deseada o duplicada, como sudo efibootmgr -b 0004 -Beliminar Boot0004, solucionará un problema. (Sin embargo, es posible que desee o no eliminar esta entrada). A veces, es posible que necesite eliminar varias entradas de inicio para que el sistema vuelva a funcionar.NoSin embargo, elimine las entradas que necesita para arrancar. Además, la mayoría de las computadoras tienen entradas que crea el propio firmware, como las dos Network Controllerentradas en su salida. Por lo general, no es aconsejable eliminar esas entradas.
  • Restablecer el firmware a sus valores predeterminados-- La mayoría de los EFI ofrecen una opción para restablecer todas las configuraciones a sus valores predeterminados en la utilidad de configuración del firmware. (Lo que algunas personas llaman "pantallas de configuración del BIOS" o algo similar, aunque los EFI técnicamente no son BIOS, a pesar de que muchas personas, e incluso los fabricantes, a menudo se refieren a ellos como tales). El inconveniente de este enfoque es que es probable que desaparezcatodolas entradas EFI, lo que hace que el sistema no pueda iniciarse hasta que utilice un disco de emergencia para restaurar al menos una entrada que funcione.
  • Utilice su gestor de arranque en otra entrada-- Este enfoque implica copiar o mover/cambiar el nombre del cargador de arranque deseado para usar el nombre de archivo de lo que EFI insista en iniciar. Generalmente se usa cuando un EFI se niega a iniciar cualquier cosa que no sea el cargador de arranque de Windows, por lo que no debería ser necesario en su caso.

Sin embargo, retrocediendo un poco más, diré que realmente no debería importar qué GRUB uses (Fedora o Ubuntu); son básicamente el mismo software. Si tiene problemas para configurar GRUB de Fedora para hacer lo que quiere, siempre puede modificar su configuración, pero OTOH, la configuración de GRUB 2 es notoriamente difícil una vez que va más allá de algunas cosas muy básicas. Por esta razón, muchas personas que realizan arranque dual en múltiples distribuciones de Linux prefieren tener un cargador de arranque independiente de la distribución, ya sea su propio GRUB o algo más. Míoadministrador de arranque rEFIndtiene varias ventajas para tales configuraciones, como la falta de dependencia de los archivos de configuración para detectar actualizaciones del kernel y su independencia de los scripts de configuración de cualquier sistema operativo. Dicho esto, si tiene problemas para efibootmgrcambiar de un GRUB a otro, también puede tener problemas para iniciar rEFInd (o cualquier otro cargador de arranque). Además, si está utilizando Secure Boot, es posible que necesite registrar al menos una clave de Secure Boot con su MOK para que rEFInd funcione. De hecho, si la razón por la que desea cambiar a GRUB de Ubuntu es que GRUB de Fedora no inicia los kernels de Ubuntu, entonces lo más probable es que el problema sea el arranque seguro; agregar la clave de arranque seguro para Canonical/Ubuntu debería solucionar ese problema.


EDITAR:

Boot0001es la entrada que tiene más probabilidades de hacer lo que usted desea, por lo que debe ir al inicio de su lista de inicio; pero parece que eso no funciona para ti.

Si puede vivir dejando a Fedora a cargo del proceso de arranque, podría ser mejor hacerlo, no sea que termine creando una cascada de nuevos problemas. Ciertamente, eliminar por completo la entrada de Fedora es arriesgado, ya que si luego no puedes hacer que nada más funcione, es posible que no puedas iniciar nada.

Podrías intentarlodeshabilitar el arranque seguro,suponiendo que esté actualmente habilitado, ya que esa característica puede causar problemas, particularmente en configuraciones complejas.

Respuesta2

Finalmente, gracias a la ayuda de Rod Smith, encontré una solución para elegir el orden de arranque que quiero.

Como mencionó para deshabilitar el arranque seguro, accedí a la configuración de BIOS y, como era de esperar, el arranque seguro ya estaba deshabilitado, pero aproveché la oportunidad de estar en la configuración de BIOS/UEFI para cambiar sin efibootmgr el orden de arranque. .

Luego elegí arrancar primero en un dispositivo USB, y luego establecí un orden para el arranque en el disco duro, con ubuntu primero, ¡y funcionó!

Así que claramente pienso que cuando efibootmgr no puede, por cualquier motivo, cambiar el orden, ir directamente a la configuración de BIOS/UEFI podría ser la mejor opción, y no una realmente difícil.

Espero que esto pueda ayudar a otros.

De nuevo, gracias por tu ayuda.

Javier

información relacionada