Ir al contenido

Cambiar entre KDE Linux y otro sistema operativo

Si has instalado KDE Linux junto a otro sistema operativo basado en Linux, lo normal es que puedas acceder a ambos mediante el menú de arranque del firmware de tu equipo: el que se muestra al pulsar una tecla (como F12) cuando arranca el equipo.

Esto funciona, aunque es necesario que pulses una tecla en uno o dos segundos cada vez que arranques. Esta página muestra cómo puedes añadir una estrada para cada sistema en el menú de arranque del otro sistema, de modo que puedas escoger uno de ellos en un menú que te espera.

Esta página no explica cómo puedes instalar dos sistemas operativos uno al lado del otro. Da por sentado que ya has instalado ambos y que funcionan, que están instalados en modo UEFI y que comparten la misma partición del sistema EFI (ESP). Ten en cuenta que instalar KDE Linux en cualquier parte que no sea un disco duro completo fallará en ciertas circunstancias y que todavía no es una configuración oficialmente compatible.

¿En qué sistema estoy escribiendo esto?

Cada una de las siguientes secciones está etiquetada con el sistema al que pertenecen sus órdenes, ya que ambos no son intercambiables:

  • En KDE Linux, las órdenes del administrador usan run0, del mismo modo que se hace en esta documentación.
  • En el otro sistema se suele usar sudo en su lugar. Además, las ubicaciones de los archivos pueden variar según la distribución que se use.

Ejecutar una orden en el sistema equivocado no tendrá ningún efecto, en el mejor de los casos.

Si el otro sistema también usa systemd-boot

Por lo general, no hay nada que configurar: systemd-boot encuentra las entradas consultando la partición ESP, por lo que si ambos sistemas escriben en la misma, ambos deberían aparecer ya en el mismo menú.

Para comprobarlo, ejecuta lo siguiente en KDE Linux o en el otro sistema:

bootctl list

Si el otro sistema usa GRUB

GRUB y systemd-boot no se ven el uno al otro automáticamente, por lo que se debe añadir una entrada en cada parte.

Añadir KDE Linux al menú de GRUB

Haz esto en el otro sistema, el que usa GRUB.

Añade lo siguiente a /etc/grub.d/40_custom debajo de las líneas que ya contiene:

menuentry "systemd-boot" --class systemd {
    insmod part_gpt
    insmod fat
    insmod chain
    search --no-floppy --file --set=root /EFI/systemd/systemd-bootx64.efi
    chainloader /EFI/systemd/systemd-bootx64.efi
}

No hay nada que ajustar: bootctl siempre instala systemd-boot en la misma ruta, independientemente de la distribución en la que se ejecute.

A continuación, haz que el archivo sea ejecutable y vuelve a generar la configuración de GRUB:

sudo chmod +x /etc/grub.d/40_custom
sudo grub-mkconfig -o /boot/grub/grub.cfg

Algunas distribuciones usan nombres distintos: por ejemplo, grub2-mkconfig y /boot/grub2/grub.cfg en Fedora y openSUSE. Comprueba lo que usa tu distribución.

Añadir GRUB al menú de KDE Linux

Haz esto en KDE Linux.

Para ello, primero debes saber dónde se encuentra GRUB en la partición ESP. No hay una respuesta única: cada distribución elige su propio nombre de directorio, por lo que debes consultarlo en lugar de copiarlo.

Para encontrarlo:

run0 find /boot -name 'grub*.efi' 2>/dev/null

Quédate con el resultado y descarta todo lo que hay delante de /EFI. Si obtienes /boot/EFI/debian/grubx64.efi, la ruta que necesitas es /EFI/debian/grubx64.efi.

Si está activado el arranque seguro, busca en ese mismo directorio shimx64.efi y usa esa ruta en su lugar, si existe. No todas las distribuciones lo contienen.

Ahora abre un editor de texto, crea un archivo con el nombre grub.conf en tu directorio personal y pon esto en él:

title    GRUB ([aquí va el nombre para el otro sistema operativo])
efi      [aquí va la ruta al archivo EFI, como /EFI/debian/grubx64.efi]
sort-key zz-grub

Sustituye la parte de la primera línea con lo que quieras que aparezca en la entrada del menú y la parte de la segunda línea con la ruta que has buscado. Luego, sitúa el archivo en su lugar correspondiente:

run0 mv ~/grub.conf /boot/loader/entries/grub.conf

bootctl list debería mostrarlo ahora. Aparecerá al final del menú de arranque la próxima vez que vuelvas a arrancar.

Notas

  • Si la entrada predeterminada de cada menú es el otro gestor de arranque, asigna un tiempo de espera superior a cero a al menos uno de ellos, o saltarás de uno al otro repetidamente como en un acelerador de partículas. Así que evita hacerlo.
  • Una partición ESP compartida guarda los núcleos de ambos sistemas, por lo que puede llenarse. Merece la pena echarle un vistazo a df -h /boot si las actualizaciones empiezan a fallar.
  • Las actualizaciones de cada sistema pueden modificar el orden de arranque del firmware o eliminar entradas. Si algo cambia de forma inesperada, efibootmgr -v y bootctl list son buenos donde empezar a buscar.
  • Si los dos sistemas tienen particiones ESP distintas, la parte de GRUB puede seguir funcionando, aunque lo más probable es que la parte de systemd-boot no lo haga, ya que solo puede cargar archivos de su propia partición ESP.

Artículo escrito por bajo las condiciones de la licencia CC-BY-4.0.