20 de septiembre de 2018, 08:47:58 pm

Autor Tema: Grub no lee el archivo grub.cfg correcto  (Leído 681 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado DanielGarnero

  • Novato
  • *
  • Mensajes: 18
  • Karma: +0/-0
Grub no lee el archivo grub.cfg correcto
« : 23 de febrero de 2018, 11:49:11 am »
Buen día!!

Comparto un problema un poco raro que tengo en mi netbook, problema que al día de hoy no he podido resolver  :'(

Tengo una netbook de PCI, entregada en Abril 2015.
Es una Noblex NT1015E, tiene 4 Gb de RAM y un procesador Celeron N2806, a 1,6 GHz, de doble núcleo. (con cámara frontal giratoria  ;))

Venía con Huayra 2.0 y Windows (creo que 8, no tengo idea) Y además, como dato extraño para mí, el disco vino con 10 particiones, nombradas de manera secuencial y sin la clasificación entre particiones primarias, extendidas y lógicas... Comento ésto porque nunca logré entender esa manera de particionar y, además, Gparted no puede modificar el tamaño de la /sda9. Por más que use un LiveUSB, esa partición es "inmodificable"...

(coloqué una captura de Gparted en adjunto, no sé si la podrán ver...)
 
Volvamos. En su momento actualicé Huayra y ahora tengo Huayra 3.3. Lo uso para trabajar y hago sin inconveniente alguno todo lo que necesito.

Pero... Pero tengo un problema raro con grub. No carga los kernels que instalo desde los repositorios. Cualquier kernel se instala correctamente y el gestor de paquetes (uso aptitude) termina el proceso de manera correcta y sin errores; se genera el archivo grub.cfg sin inconvenientes, pero grub no lo lee...

Concretamente, cuando la PC arranca lee el archivo
Código: [Seleccionar]
/boot/EFI/EFI/boot/grub.cfgEl cual tiene sólo 2 kernels "viejos", sin ningún tipo de opciones.

Y además tiene una entrada a Windows y 2 entradas más, que nunca usé (creo apuntan a las particiones de recuperación de la PC). Así:
Código: [Seleccionar]
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows Boot Manager (UEFI on /dev/sda3)" --class windows --class os {
insmod part_gpt
insmod fat
set root='(/dev/sda,gpt3)'
search --no-floppy --fs-uuid --set=root 1BED-D47A
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
menuentry "Debian GNU/Linux (5.0.7) (on /dev/sda6)" --class gnu-linux --class gnu --class os {
insmod part_gpt
insmod ext2
set root='(/dev/sda,gpt6)'
search --no-floppy --fs-uuid --set=root 4a5d9a51-a26c-4d36-a500-bc3e6372cfb8
linux /boot/vmlinuz-2.6.26-2-686 root=/dev/sda6
initrd /boot/initrd.img-2.6.26-2-686
}
menuentry "Debian GNU/Linux (5.0.7) (on /dev/sda6)" --class gnu-linux --class gnu --class os {
insmod part_gpt
insmod ext2
set root='(/dev/sda,gpt6)'
search --no-floppy --fs-uuid --set=root 4a5d9a51-a26c-4d36-a500-bc3e6372cfb8
linux /vmlinuz root=/dev/sda6
initrd /initrd.img
}
### END /etc/grub.d/30_os-prober ###

Este archivo quedó allí en la instalación de Huayra y nunca más ha sido escrito por el comando "update-grub" ni por el gestor de paquetes, cuando instalo o actualizo algún kernel.

Pero en mi sistema hay otro archivo de configuración de grub. Éste:
Código: [Seleccionar]
/boot/grub/grub.cfg
Este archivo es regularmente escrito por el gestor de paquetes y por el script de actualización de grub; contiene todas las referencias a los kernels que tengo instalados (4), muestra primero el más nuevo (sin hacer referencia a la versión) y luego las "Opciones avanzadas", dentro de las cuales están las entradas hacia cada uno de los demás kernels, inclusive cada uno con su "Recovery mode" también.

Y la parte que arranca Windows está dentro de otro apartado:
Código: [Seleccionar]
### BEGIN /etc/grub.d/31_partition-finder ###
menuentry "Iniciar el sistema operativo Ms Windows" --class windows --class os {
insmod part_gpt
insmod fat
set root='(/dev/sda,gpt3)'
search --no-floppy --fs-uuid --set=root 1BED-D47A
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}


### END /etc/grub.d/31_partition-finder ###
Desconozco si es significativo o no, pero es diferente.

El punto es que este archivo, que contiene todo lo que quiero y es normalmente actualizado y modificado como se espera que suceda, no es leído por grub en el momento de arranque... Por lo tanto no puedo usar otro kernel...

¿Cómo puedo hacer para que grub use ese archivo, y no el otro? ¿Por qué sucede ésto?

He estado "traficando" con unas cuantas computadoras, viejas y modernas, con diversos GNU/Linux (Debian, Mandriva, Fedora, Ubuntu, Q4OS) y nunca me he encontrado con algo así, por eso les consulto.

Si hacen falta más datos me los piden. Todo sea para resolver esta situación...


Muchas gracias por su tiempo!!

Desconectado Comunidad Huayra

  • Vaqueros
  • Usuario Sr.
  • *
  • Mensajes: 412
  • Karma: +39/-0
  • Comunidad de Usuarios de Huayra GNU/Linux
    • Foros de la Comunidad de Usuarios de Huayra GNU/Linux
Re:Grub no lee el archivo grub.cfg correcto
« Respuesta #1 : 27 de febrero de 2018, 02:46:31 pm »
"Probaste reinstalando Grub?
Tal vez una actualización de Grub no salió bien y el cargador de arranque es una versión vieja mientras que el sistema de paquetes mantiene una nueva que no forma parte del inicio de la máquina
Podés usar grub-install para esto, pero deberías asegurarte de que va a salir bien (sino probablemente necesites un disco de arranque para reparar el bootloader)

Fíjate la versión de Grub, creo que huayra3 usa grub2 y es probable que las versiones viejas usen grub-legacy"

Via: por usuario "mega", en alguna red social, traido al foro, para que no se pierda y pueda servir mas adelante, a quien consultó, o a quien pueda necesitarlo.
« Última Modificación: 27 de febrero de 2018, 02:48:41 pm por Comunidad Huayra »

Desconectado DanielGarnero

  • Novato
  • *
  • Mensajes: 18
  • Karma: +0/-0
Re:Grub no lee el archivo grub.cfg correcto
« Respuesta #2 : 28 de febrero de 2018, 11:40:37 am »
Gracias por traer estas sugerencias al Foro!! (el de los créditos es @soymega  ;) )

El problema persiste, aunque creo que ahora sé algunas cosas más   8)

En primer lugar, estoy usando grub2; en el menú de arranque puede leerse "grub 2.00-17" y los paquetes son los siguientes:

Código: [Seleccionar]
root@netbookPCI:/home/daniel# dpkg -l | grep grub
ii  grub-common                                                 2.02~beta2-22+deb8u1                       i386         GRand Unified Bootloader (common files)
ii  grub-pc                                                     2.02~beta2-22+deb8u1                       i386         GRand Unified Bootloader, version 2 (PC/BIOS version)
ii  grub-pc-bin                                                 2.02~beta2-22+deb8u1                       i386         GRand Unified Bootloader, version 2 (PC/BIOS binaries)
ii  grub2-common                                                2.02~beta2-22+deb8u1                       i386         GRand Unified Bootloader (common files for version 2)

Pero hay 2 paquetes de configuración de grub que provee Huayra (no vienen de Debian) y son los siguientes:

Código: [Seleccionar]
root@netbookPCI:/home/daniel# dpkg -l | grep huayra-config-efi
ii  huayra-config-efi                                           0.4.1                                      all          Archivos de configuracion para Huayra
ii  huayra-config-efi-grub-common                               0.4.1                                      all          Archivo de configuracion para Grub
ii  huayra-config-efi-grub2-common                              0.4.1                                      all          Archivos de configuracion de Grub2 para Huayra

Claramente se observa que uno es de grub (probablemente grub-legacy) y el otro de grub 2. Como yo quiero tener (y usar) sólo grub 2 intenté quitar el paquete que hace referencia sólo a grub. Pero el gestor de paquetes "se lleva" otros paquetes del sistema...

Código: [Seleccionar]
root@netbookPCI:/home/daniel# aptitude purge huayra-config-efi-grub-common
Se ELIMINARÁN los siguientes paquetes:           
  huayra-config-efi-grub-common{p}
0 paquetes actualizados, 0 nuevos instalados, 1 para eliminar y 0 sin actualizar.
Necesito descargar 0 B de ficheros. Después de desempaquetar se liberarán 34,8 kB.
No se satisfacen las dependencias de los siguientes paquetes:
 huayra-config-efi : Depende: huayra-config-efi-grub-common pero no será instalado.
Las acciones siguientes resolverán estas dependencias

     Eliminar los paquetes siguientes:
1)     huayra-config-efi             
2)     huayra-marble                 



¿Acepta esta solución? [Y/n/q/?]q

No estoy seguro de que si elimino esos paquetes el sistema seguirá funcionando...

Y respecto de reinstalar grub... El comando "grub-install" requiere que se le indique dónde se desea instalar grub. Y ahí tengo otro problema: no sé cómo está armado el sistema de booteo de esta PC...  :'(

Tal como comenté en el post inicial, el particionado del disco es un tanto raro (10 particiones secuenciales...)
Y tiene una partición de 100 Mb (/dev/sda3) que es fat16 y Huayra la automonta en /boot/EFI ¿Ahí está instlado el bootloader? ¿O en el MBR del disco? ¿O cómo puedo saber dónde está instalado grub?

Me faltan aprender muchas cosas aún, y una de ellas es el concepto de EFI (o UEFI, no lo sé muy bien) Creo que el núcleo del problema radica allí...
Siempre me he manejado con discos "tradicionales": 3 particiones primarias, una extendida y allí dentro varias lógicas. Siempre instalé el grub del S.O. principal de la PC en el MBR del disco, y el grub de los otros S.O. en su respectiva partición. Con esa estructura he administrado sin problemas muchas PCs... Incluso he reinstalado grub (cuando metí mal los garfios...) y nunca tuve problemas posteriores... Pero esto del EFI me dá vueltas todo...

¿Es necesario usar EFI? ¿Cómo podría reinstalar grub2 sin romper el sistema? Esta PC, además de Huayra (en (dev/sda1, formateada como ext4) tiene Windows (creo que "8.0") en /dev/sda5, formateada como ntfs) No uso Windows, pero Huayra "extrae" de él algunos archivos, datos y/o material variado, propio del PCI, que yo suelo usar y no quiero perder. Por eso no me gustaría "perder" Windows...

Considerando que esta PC ha sido provista por el PCI, y todo su soft ha sido "acomodado" por gente nuestra, me llama la atención que la administración de Huayra no resulte simple y lineal, por llamarlo de alguna manera.
Se supone que las actividades que pretendo hacer son bastante básicas, pero no puedo hacerlas...

Por eso le endilgo la culpa a EFI  ;) Como es un tema que desconozco, quizá por allí pueda resolver el problema...

Gracias por leerme!!

Desconectado DanielGarnero

  • Novato
  • *
  • Mensajes: 18
  • Karma: +0/-0
Re:Grub no lee el archivo grub.cfg correcto
« Respuesta #3 : 15 de abril de 2018, 11:18:09 am »
Buen día!

Retomo un hilo viejo, pero que no he logrado resolver ni entender correctamente...  :'(

Estuve leyendo algo de la documentación de grub y he hecho lo siguiente: correr el comando grub-mkconfig, apuntando la salida del archivo al lugar en el que es leído durante el booteo, así:

Código: [Seleccionar]
grub-mkconfig -o /boot/EFI/EFI/boot/grub.cfg
Por lo tanto, generé un archivo con la configuración que yo quiero, colocado un el lugar legible durante el proceso de booteo habitual. Y reinicé la PC...

Me aparecieron varios errores (no llegué a registrarlos...) pero finalmente Huayra arrancó y me presentó la pantalla de login gráfico.
Ingreso al sistema y está todo según lo esperado, con el último kernel que tengo descargado, pero... Pero no tengo wifi!! La placa wifi no es reconocida por el kernel.


Esta netbbok tiene esta placa inalámbrica:

Código: [Seleccionar]
daniel@netbookPCI:~$ lspci | grep Wirel
01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter

Bien, además tengo instalados los siguientes paquetes:

Código: [Seleccionar]
root@netbookPCI:/home/daniel# dpkg -l | grep 8723
ii  rtk-8723-bt-dkms                                  1.1                              all          Realtek 8723B (bluetooth) kernel module
ii  rtl-8723-firmware-jessie                          1.3.3                            all          Realtek 8723 firmware files (non-free) (dummy package)
ii  rtl-8723-new-dkms                                 1.2                              all          Realtek 8723 kernel module (v4.3)
Código: [Seleccionar]
root@netbookPCI:/home/daniel# dpkg -l | grep marble
ii  elantech-marble-dkms                              0.2.1                            all          Elantech module with lookup fix
ii  huayra-marble                                 0.18                    all          Configuraciones para las maquinas MarblePoint
Código: [Seleccionar]
root@netbookPCI:/home/daniel# dpkg -l | grep realtek
ii  firmware-realtek           0.43             all          Binary firmware for Realtek wired and wireless network adapters

Estos paquetes hacen que todo el hard (bah, no sé si todo, sino el que necesito ;) ) funcione bien con el kernel original de Huayra (3.13.0-3-686-huayra)

Pero cuando he booteado con el kernel nuevo (3.16.0-5-686-pae) la placa wifi no es reconocida por el kernel  :'(


Por otro lado, en los repositorios hay varios paquetes más relacionados con esa placa:

Código: [Seleccionar]
root@netbookPCI:/home/daniel# apt-cache search 8723
rtl-8723-dkms - Realtek 8723 kernel module
rtl-8723-firmware - Realtek 8723 firmware files (non-free)
rtl-8723-firmware-jessie - Realtek 8723 firmware files (non-free) (dummy package)
rtk-8723-bt-dkms - Realtek 8723B (bluetooth) kernel module
rtl-8723-new-dkms - Realtek 8723 kernel module (v4.3)
rtl-8723-rock-dkms - Realtek 8723 kernel module rock branch
rtl-8723-rock-firmware - Realtek 8723 firmware files rock branch (non-free)
firmware-realtek - Binary firmware for Realtek wired and wireless network adapters

Ahora bien, si intento instalar alguno de los paquetes que figuran en esa lista (y no tengo instalados), el gestor de paquetes me propone eliminar de mi sistema alguno de los ya instalados...
Y ahí está mi dilema: con los paquetes actuales, la placa wifi, con este kernel, funciona. ¿Con los nuevos funcionará también? ¿Y con el nuevo kernel va a funcionar?

Si instalo y me quedo sin wifi no me quedará más remedio que revolver por ahí, buscar un cable Ethernet y reinstalar lo que borré via cable. Pero me gustaría evitarlo...

¿Cuáles son los paquetes que hacen funcionar esta placa de red con cualquiera de los kernels que se pueden instalar desde los repositorios de Huayra - Debian?

Muchas gracias por su tiempo!!