Jump to content

Problemas con el Grub con Dual Boot


Burt
 Compartir

Publicaciones recomendadas

Buenas, resulta que hace unos días actualicé la BIOS UEFI de mi PC y se me cargó (típico) el Dual Boot que tenía para Windows y Neon (una distro linuxera). Dejó de verse ese Neon en la BIOS como opción de arranque y ya no aparecía la posibilidad de hacer Dual Boot, solo podía acceder a Windows. Total, que cogí un USB Live con Neon e intenté reinstalar el GRUB, algo que no me acabó de funcionar (no soy ningún experto en Linux) y al final utilicé una utilidad llamada Boot-Repair que se ejecuta a través del Live USB de la distro. Pareció que había funcionado ya que me dio el mensaje 'Boot successfully repaired'.

 

Reinicié el PC pero solo me aparece el Grub Minimal Bash-Like, con lo cual sigo con:

GRUB> set root=(hd0,gpt5)
GRUB> set prefix=(hd0,gpt5)/boot/grub
GRUB> insmod normal
GRUB> normal

 y entonces ahí ya sí consigo que me aparezca un dual boot (con fondo azul?!) y puedo entrar en mi sesión de Neon. Vuelvo a pasarle el Boot-Repair con aparente éxito pero una vez más nada, al reiniciar vuelve a saltarme el Grub Minimal Bash-Like.

Os paso el report de Boot-Repair por si veis donde puede estar el problema:

Spoiler

boot-repair-4ppa200                                              [20220801_2316]

============================= Boot Repair Summary ==============================

grub-probe: error: cannot find a GRUB drive for /dev/sda2.  Check your device.map.
FUSE exfat 1.3.0
FUSE exfat 1.3.0
grub-probe: error: cannot find a GRUB drive for /dev/sda2.  Check your device.map.
FUSE exfat 1.3.0
FUSE exfat 1.3.0

Recommended repair: ____________________________________________________________

The default repair of the Boot-Repair utility will reinstall the grub-efi of
nvme0n1p5,
using the following options:  nvme0n1p1/boot/efi
Additional repair will be performed: unhide-bootmenu-10s use-standard-efi-file restore-efi-backups


rm /mnt/boot-sav/nvme0n1p1/efi/Boot/bootx64.efi
mv /mnt/boot-sav/nvme0n1p1/efi/Boot/bkpbootx64.efi /mnt/boot-sav/nvme0n1p1/efi/Boot/bootx64.efi
Mount nvme0n1p1 on /mnt/boot-sav/nvme0n1p5/boot/efi
No nvme0n1p5/boot/efi/efi/ ubuntu/mint folder

===================== Reinstall the grub-efi of nvme0n1p5 ======================

chroot /mnt/boot-sav/nvme0n1p5 grub-install --version
grub-install (GRUB) 2.04-1ubuntu26.15
modprobe: FATAL: Module efivars not found in directory /lib/modules/5.15.0-41-generic
chroot /mnt/boot-sav/nvme0n1p5 modprobe efivars

chroot /mnt/boot-sav/nvme0n1p5 efibootmgr -v before grub install
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0001,0000,0002
Boot0000* neon  HD(1,GPT,1829c7c6-2676-482c-8a34-e4d63900eeed,0x800,0x32000)/File(EFINEONGRUBX64.EFI)
Boot0001* Windows Boot Manager  HD(1,GPT,1829c7c6-2676-482c-8a34-e4d63900eeed,0x800,0x32000)/File(EFIMICROSOFTBOOTBOOTMGFW.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.}.................^?...
Boot0002* UEFI:  USB, Partition 2       PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0)/USB(3,0)/HD(2,GPT,a2c2cdbe-a9aa-4286-83ad-a986de4fbc91,0x3937fd8,0x10000)..BO

chroot /mnt/boot-sav/nvme0n1p5 uname -r
5.15.0-41-generic

chroot /mnt/boot-sav/nvme0n1p5 grub-install --efi-directory=/boot/efi --target=x86_64-efi
Installing for x86_64-efi platform.
Installation finished. No error reported.
cp /mnt/boot-sav/nvme0n1p5/boot/efi/efi/neon/grubx64.efi /media/neon/68F1-0308/EFI/neon/grubx64.efi
df /dev/nvme0n1p1
mv /mnt/boot-sav/nvme0n1p5/boot/efi/EFI/Boot/bootx64.efi /mnt/boot-sav/nvme0n1p5/boot/efi/EFI/Boot/bkpbootx64.efi
cp /mnt/boot-sav/nvme0n1p5/boot/efi/efi/neon/grubx64.efi /mnt/boot-sav/nvme0n1p5/boot/efi/EFI/Boot/bootx64.efi
df /dev/sdb1
touch /media/neon/68F1-0308/EFI/Boot/bootx64.efi.grb
cp /mnt/boot-sav/nvme0n1p5/boot/efi/efi/neon/grubx64.efi /media/neon/68F1-0308/EFI/Boot/bootx64.efi

chroot /mnt/boot-sav/nvme0n1p5 grub-install --efi-directory=/boot/efi --target=x86_64-efi
Installing for x86_64-efi platform.
Installation finished. No error reported.

chroot /mnt/boot-sav/nvme0n1p5 efibootmgr -v after grub install
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0000,0001,0002
Boot0000* neon  HD(1,GPT,1829c7c6-2676-482c-8a34-e4d63900eeed,0x800,0x32000)/File(EFIneongrubx64.efi)
Boot0001* Windows Boot Manager  HD(1,GPT,1829c7c6-2676-482c-8a34-e4d63900eeed,0x800,0x32000)/File(EFIMICROSOFTBOOTBOOTMGFW.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.}.................^?...
Boot0002* UEFI:  USB, Partition 2       PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0)/USB(3,0)/HD(2,GPT,a2c2cdbe-a9aa-4286-83ad-a986de4fbc91,0x3937fd8,0x10000)..BO

chroot /mnt/boot-sav/nvme0n1p5 update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/99_breeze-grub.cfg'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.13.0-30-generic
Found initrd image: /boot/initrd.img-5.13.0-30-generic
Found linux image: /boot/vmlinuz-5.13.0-28-generic
Found initrd image: /boot/initrd.img-5.13.0-28-generic
Found linux image: /boot/vmlinuz-5.4.0-122-generic
Found initrd image: /boot/initrd.img-5.4.0-122-generic
Found linux image: /boot/vmlinuz-5.4.0-121-generic
Found initrd image: /boot/initrd.img-5.4.0-121-generic
Found linux image: /boot/vmlinuz-5.4.0-120-generic
Found initrd image: /boot/initrd.img-5.4.0-120-generic
Found linux image: /boot/vmlinuz-5.4.0-117-generic
Found initrd image: /boot/initrd.img-5.4.0-117-generic

 

Lo que no tengo claro tampoco es de donde intenta pillar el GRUB, si de la ruta /boot/grub/grub.cfg o de /boot/efi/EFI/Neon donde parece que hay otro fichero de grub.cfg

 

A ver si me podéis echar una mano porque ya no sé qué más intentar y estoy algo desesperado.

 

Un saludo.

 

 

Editado por Burt
Enlace al comentario
Compartir en otros sitios web

Publicado (editado)
hace 8 minutos, Ronon dijo:

Buenas, mira a ver si esto te ayuda, yo uso el Grub Customizer y va muy bien:

 

Suerte!!

 

En realidad ya usaba Grub Customizer porque fue eso lo que sacó de un apuro al actualizarse un kernel incompatible con los drivers Nvidia y que provocaba que no se cargara el Grub.

Miraré con detenimiento el hilo que has mencionado, a ver si con las explicaciones de los compañeros soluciono algo.

 

Muchas gracias.

Editado por Burt
Enlace al comentario
Compartir en otros sitios web

Hola.

 

En modo UEFI/GPT los gestores de arranque se encuentran en la partición EFI (o ESP) en diferentes carpetas y, generalmente, en los sistemas Linux se monta en /boot/efi, y generalmente son archivos con extensión .efi (BOOTX64.efi, por ejemplo, que suele ser el de Windows).

En /boot/grub/ se guarda la configuración de Grub.

 

Al arrancar el equipo se carga la configuración de la UEFI y luego se miran los gestores de arranque disponibles, partición EFI, y se cede el control al sistema operativo en cuestión.

 

Los comandos de Grub sólo afectan a la parte de sistema, tanto para indicar dónde poner el archivo .efi en la partición EFI como la configuración del propio Grub (menú, opciones, etc.).

 

Pero aún falta indicarle a la UEFI que guarde el gestor de arranque, que por defecto sólo "ve" al gestor de Windows.

Para ello es necesario ejecutar:

# efibootmgr -c -d /dev/sda -p 2 -L "Neon" -l "/boot/efi/EFI/Neon/neon.efi"

Por supuesto tienes que adaptar el comando a tu caso concreto.

Con ésto ya debería aparecer de nuevo la entrada de Neon en el menú de la UEFI.

 

Para el tema del kernel (¿5.18 quizás?) con los drivers de nVidia y un Intel de 11 o 12 generación hay que añadir a las opciones de arranque de Grub ibt=off.

 

Suerte y un saludo. 8-)

Editado por el_angel_caido
Enlace al comentario
Compartir en otros sitios web

hace 5 horas, el_angel_caido dijo:

Hola.

 

En modo UEFI/GPT los gestores de arranque se encuentran en la partición EFI (o ESP) en diferentes carpetas y, generalmente, en los sistemas Linux se monta en /boot/efi, y generalmente son archivos con extensión .efi (BOOTX64.efi, por ejemplo, que suele ser el de Windows).

En /boot/grub/ se guarda la configuración de Grub.

 

Al arrancar el equipo se carga la configuración de la UEFI y luego se miran los gestores de arranque disponibles, partición EFI, y se cede el control al sistema operativo en cuestión.

 

Los comandos de Grub sólo afectan a la parte de sistema, tanto para indicar dónde poner el archivo .efi en la partición EFI como la configuración del propio Grub (menú, opciones, etc.).

 

Pero aún falta indicarle a la UEFI que guarde el gestor de arranque, que por defecto sólo "ve" al gestor de Windows.

Para ello es necesario ejecutar:

# efibootmgr -c -d /dev/sda -p 2 -L "Neon" -l "/boot/efi/EFI/Neon/neon.efi"

Por supuesto tienes que adaptar el comando a tu caso concreto.

Con ésto ya debería aparecer de nuevo la entrada de Neon en el menú de la UEFI.

 

Para el tema del kernel (¿5.18 quizás?) con los drivers de nVidia y un Intel de 11 o 12 generación hay que añadir a las opciones de arranque de Grub ibt=off.

 

Suerte y un saludo. 8-)

 

Jeje, espectacular :) , gracias por las aclaraciones. A ver si puedo ponerme el fin de semana y ver que pasa.

 

La parte buena de esto es que me obliga a aprender y entender qué estoy haciendo, porque en general, vas instalando cosas a través de repositores tipo Discover y si encima encuentras algo más gráfico como Grub Customizer o Boot-repair ya ni te molestas en comprender porque suceden las cosas y en cuanto algo se rompe estás bastante vendido...

 

Muchas gracias, os comentaré mis progresos, si es que los hay

Un saludo.

hace 16 horas, el_angel_caido dijo:

Pero aún falta indicarle a la UEFI que guarde el gestor de arranque, que por defecto sólo "ve" al gestor de Windows.

Para ello es necesario ejecutar:

# efibootmgr -c -d /dev/sda -p 2 -L "Neon" -l "/boot/efi/EFI/Neon/neon.efi"

Por supuesto tienes que adaptar el comando a tu caso concreto.

Con ésto ya debería aparecer de nuevo la entrada de Neon en el menú de la UEFI.

 

Para el tema del kernel (¿5.18 quizás?) con los drivers de nVidia y un Intel de 11 o 12 generación hay que añadir a las opciones de arranque de Grub ibt=off.

 

Suerte y un saludo. 8-)

 

Hola de nuevo. A mi ya me aparece en la UEFI mi Neon, pero es al darle al iniciar en él o ponerlo por defecto como S.O. principal con el que arrancar que no me aparece el gestor de arranque, sale esa pantalla de Minimal BASH-like, cuando aparentemente lo tengo todo bien configurado. Boot-repair me dice que todo está ok, si lo configuro manualmente también parece ir todo bien. Es que no entiendo lo que ocurre.

 

Respecto a lo del kernel, fue hace unos meses, todo iba bien con el 5.13.0-30 pero al actulizarse a uno superior tenía algún conflicto con los drivers de Nvidia, pero ya no recuerdo qué kernel era. Conseguí que iniciara con el 5.13 y ya todo resuelto. Eso sí, ya nunca más se me actualizó el kernel, no sé si es bueno que siempre esté con el mismo...Leí que a más gente le había dado problemas. Mi CPU es una AMD 5600X

 

Por cierto, ejecuto esto que me has comentado adaptándolo a mi caso pero no soluciona nada.

$ efibootmgr -c -d /dev/sda -p 2 -L "Neon" -l "/boot/efi/EFI/Neon/neon.efi"

 

Un saludo

Enlace al comentario
Compartir en otros sitios web

hace 17 horas, Burt dijo:

A mi ya me aparece en la UEFI mi Neon

 

Si te aparece el gestor de arranque de Linux en la UEFI entonces el comando de efibootmgr no lo necesitas ya que sería para meter dicha entrada en la UEFI. Había entendido que no te aparecía.

Por cierto, es un comando para ejecutar como root, por éso puse delante #; lo comento porque has puesto $ donde el comando y éso indica ejecución como usuario normal, no root. En resumen, ejecutar como root o con sudo.

 

Puedes probar a generar una nueva configuración de Grub una vez entres al sistema operativo:

 

sudo grub-mkconfig -o /boot/grub/grub.cfg

 

Y como estamos en entorno UEFI/GPT crear un nuevo gestor de arranque:

 

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Neon --recheck

 

Y por último actualizar la configuración de todo:

 

sudo update-grub

 

Y reiniciar a ver qué pasa.

 

De nuevo adáptalo a tu caso.

 

Te dejo el enlace a la Wiki de Arch de Grub para la parte teórica: AQUÍ.

 

Ojo una cosa, si has cambiado o formateado alguna partición, o has cambiado el disco duro de arranque (por ejemplo, de un SSD a un NVME), puede que vengan por ahí los tiros y haya que tocar el /etc/fstab.

Haz un sudo blkid y un sudo cat /etc/fstab y compara que los UUID estén correctos.

 

Respecto al kernel, en principio el problema surge con Intel 11-12 generación/nVidia a partir del 5.18, con el 5.17 para abajo no hay problema.

Pero al tener un AMD no debería haber conflictos.

 

No uso ni he probado KDE Neon, así que si fuera algo específico de la distro en cuestión no sabría decirte, sorry.

 

Un saludo. 8-)

Enlace al comentario
Compartir en otros sitios web

Bueno, pues tema solucionado, a ver como cuento esta historia, porque vaya tela..😂

Ninguna solución me había funcionado, ni con la inestimable ayuda de @el_angel_caido

 

Tengo un segundo PC en el que también tengo instalado un 'Neon' en dual boot con otro Windows. Pues bien, casi de casualidad, en ese segundo PC, me fijé que la estructura de las carpetas EFI era la siguiente:

 

/boot/efi/EFI/Boot
/boot/efi/EFI/Microsoft
/boot/efi/EFI/neon

/boot/efi/EFI/Ubuntu

 

Y digo, "¿qué diablos hace esa carpeta de Ubuntu en mi sistema KDE neon?, se debe haber instalado en alguna sesión de Ubuntu Live USB o actualizando o instalando algún paquete, ya que Neon está basado en Ubuntu y Kubuntu. Me la cepillo al igual que hice con esa misma carpeta en mi PC1 cuando intentaba volver a tener el gestor de arranque cuando actualicé la BIOS, hay que ser pulido 😂" . Pues bien, reinicio ese PC2 y zasca, el mismo problema que intentaba resolver en el PC1. En ese momento, después de muchas horas, vi que ahí radicaba el problema.

 

Buscando por la red di con un problema parecido o igual al mío Repairing GRUB on KDE Neon, ahí se enlaza a una documentación de KDE neon donde se dice:

 

Cita

ISO booting by UEFI support is done by copying the grub-efi files from a Kubuntu ISO, putting them in live-build and in the lb efi script copying it into the binary/ directory and extracting the efi images (with mcopy) to add the right files on the CD. The breeze-grub theme is added and boot name changed to Neon in grub.cfg.

 

Ubiquity installs the EFI files into /boot/EFI/efi/neon on the installed system but the path "efi/ubuntu" is hardcoded in two places

 

Y según esa persona del primer enlace que he puesto, "el usuario no puede anular esto y debería cambiar y compilar el GRUB". Tócate las pelotas!! 😆, ¿quien iba a imaginar que los amigos de KDE neon podían inventarse semejante "solución" para el GRUB.

 

En fin, que lo que he hecho es crear una nueva carpeta 'Ubuntu' y copiar con privilegios -r -a el contenido de la carpeta /boot/efi/EFI/neon hacia /boot/efi/EFI/Ubuntu y tema resuelto, ahora ya me arranca con normalidad.

 

En fin, al menos me ha servido para aprender unas cuantas cosas.

 

Un saludo y muchas gracias por vuestra ayuda.

 

 

Editado por Burt
  • Gracias 1
Enlace al comentario
Compartir en otros sitios web

Por favor conéctate para comentar

Podrás dejar un comentario después de iniciar sesión



Conectar ahora
 Compartir

×
×
  • Crear nuevo...