Como configurar grub ( Debian + Windows 10 )

7 envíos / 0 nuevos
Último envío
#1 Jue, 18/08/2022 - 06:30
Vctrsnts
Imagen de Vctrsnts
Desconectado/a
se unió: 15/03/16

Como configurar grub ( Debian + Windows 10 )

Estado: 
[ACTIVO]

Buenas,

Tengo un portatil Lenovo con Debian Unstable instalado en un SSD de 256Gb con las siguientes particiones :

  • SDA1 --> Sistema Debian
  • SDA2 --> Home

La BIOS la tengo con las siguientes opciones :

  • Boot Mode --> Legacy Support
  • Boot Priority --> Legacy Support

Entonces, aprovechando que nunca llego a usar el 100% del HOME, he pensado en instalar Windows 10 ( se que lo mejor es primero windows y después Debian ) y el nuevo particionado es el siguiente:

  • SDA1 --> Sistema Debian
  • SDA2 --> Home Debian
  • SDA3 --> Windows

La instalació de Windows 10 realizada sin ningun problema y el nuevo particionado del SSD queda de la siguiente manera :

  • SDA1 --> Sistema Debian
  • SDA2 --> Home Debian
  • SDA3 --> EFI System Partition
  • SDA4 --> Microsoft Reserved
  • SDA5 --> Windows
  • SDA6 --> Particion oculta de windows indecision

Pero aqui viene lo mas extraño. Al iniciar el sistema después de la instalación, se inicia Debian sin ningun problema como si no detectara Windows. He realizado un update-grub pero me indicaba que no tenia la opción de GRUB_DISABLE_OS_PROBER, la he añadido a /etc/default/grub y he vuelto a ejecutar update-grub, pero seguia sin detectar el Windows. Tambien he usado la instrucción OS-PROBER pero no detectaba ningun SO.

He comprobado que si eligo de donde quiero iniciar el sistema ( USB, SSD, CD, etc... ), en mi portatil es F12, veo el boot de Debian y el Boot de Windows.

Y aqui es donde me he puesto a experimentar, he cambiado las opciones de la BIOS a UEFI Suport y entonces si que se inicia directamente Windows, despues  a traves de una ISO live ( linux Mint ) he intentado modificar el GRUB de la siguiente manera :

  • sudo mount /dev/sda3 /mnt
  • sudo grub-install --root-directory=/mnt /dev/sda

Y entonces tendria que iniciar Debian para hacer un :

  • sudo update-grub

Pero no ha servido de nada, porque se ha iniciado directamente GRUB pero en modo recovery y no podia hacer nada. He vuelto a modificar la BIOS a Legacy Support y todo ha vuelto como al principio, iniciando Debian sin ningun problema. Asi que he eliminado todas las particiones de Windows para no estropear nada mas y me he puesto a buscar más info antes de volver a meter mano a Windows.

Y aqui me encuentro, se os ocurre como se puede solucionar este lio? A excepción de instalar todo el sistema de nuevo ( Windows + Debian ). Si no me queda más remedio lo hare, pero me da un palo terrible porque tengo que hacer copia de seguridad de todo y volver a empezar...

Gracias si podeis echarme un cable.

PD: Perdon por el toston

Jue, 18/08/2022 - 12:33
caliban
Imagen de caliban
Conectado
moderador
se unió: 14/01/16

Podes deshabilitar os_prober  y luego configurar una entrada para windows en /etc/grub.d/40_custom, y de hecho cualquier otro sistema operativo u otra versión de linux,

No tengo windows hace años pero en su momento lo  tenia de tal modo,

Busca como agregar una entrada para windows10 ,hay cantidad de ejemplos

Por ejemplo algo asi o tambien (busca uno que se adapte a tus necesidades )

Solo asegurate de indicar el disco/particion correcto donde se encuentra

Dom, 21/08/2022 - 05:24
Vctrsnts
Imagen de Vctrsnts
Desconectado/a
se unió: 15/03/16

Muchas gracias por la ayuda.

Al final lo he podido solucionar a medias. Me refiero que puedo acceder al Windows desde GRUB a traves de la siguiente configuración del fichero 40_CUSTOM

menuentry "Windows 10" --class windows --class os {
	insmod ntfs
	# Aqui se indica el UUID del disco donde se tiene el EFI de Windows
	search --no-floppy --fs-uuid --set 4A24-DB5B
	chainloader +1
}

Pero cuando selecciono la opción, me aparece el siguiente mensaje :

No se encontro ningun Sistema Operativo. Intente desconectar cualquier unidad no que no contenga un SO. Pres una tecla para continuar.

Y si le doy al enter, entro en Windows sin problema. Cosas de la informatica.

Gracias por tu ayuda.

Dom, 21/08/2022 - 12:25
Panko
Imagen de Panko
Desconectado/a
moderador
se unió: 18/02/16

Diria que tu problema pasa por el asunto de bios-legacy... me da que windows se ha instalado en modo uefi, y debian en modo legacy, con lo que el grub de tu debian no es capaz de ver el boot uefi de windows. Todo esto es una conjetura, claro está.

Si Debian lo tienes instalado en modo legacy, busca como pasarlo a modo uefi, que se puede hacer sin tener que reinstalar, y después desde una live instalar el grub para uefi, de este modo con ambos sistemas en modo uefi, supongo que grub ya podrá ver el boot de windows y añadirlo al boot. Tras esto, solo te quedaría el paso de entrar a la configuración de uefi y poner el boot de debian el primero para que sea el que inicie al arrancar el ordenador.

Edit...

Fijate en el momento que dices como estaba particionado el disco antes y después de instalar windows, en como la partición EFI no existe cuando solo tenias debian, y se crea al instalar windows. Esto te facilitará la tarea de instalar el arranque uefi de Debian. El proceso debería ser sencillo al existir, como ya he dicho, la partición EFI, puedes probar desde una live o desde el mismo debian si quieres:

sudo grub-install --target=x86_64-efi /dev/sdX
sudo grub-install --recheck
sudo update-grub

Antes de esto, tendrás que sustituir el grub que instalaste por el paquete grub-efi (y grub-efi-amd64).

  No hay bar que por bien no venga....
Dom, 21/08/2022 - 13:35
caliban
Imagen de caliban
Conectado
moderador
se unió: 14/01/16

A lo que te ha dicho @panko; grub tiene su propio modo de detectar discos y particiones ,en algunas ocasiones, lo que se indica en

el archivo de configuración con el UUID no coincide  con lo que detecta grub.

Un buen modo de verificarlo es ,entrar en modo comando   cuando inicia grub ( pulsando la letra "e", ) y  listando los dispositivos

con  'ls',

En cuanto al archivo en si mismo (40_custom) algunos detalles ,

menuentry ,lo que esta escrito antes de la primer llave {   es solo el titulo  que se mostrara (lo que pones entre comillas) y no afecta a los comandos a continuacion en si

podes poner menuentry " bbla bla " {  da igual .

Insmod  le indica a grub cargar ( si no lo hiciera) determinados módulos para manejar datos,  instmod ntfs ,, modulo para sistema de archivos ntfs, y asi

luego indicar en que disco/partición   grub deberá buscar la raíz del sistema operativo deseado ,  ( que es donde hay que indicarle el disco/partición que te muestre en el listado)

y finalmente  chailoader +1, le indica a grub que le pase el control de la carga del sistema al propio cargador de dicho sistema operativo ( en este caso el del propio windows)

Estimo que tu disco  tiene un particionado gpt,( o debiera tenerlo )entonces  tiene que coincidir con dicho  sistema al indicar .

fijate aca hay una guia con ejemplos algo mejor explicado .

 

Dom, 21/08/2022 - 15:23 (Responder a #5)
Vctrsnts
Imagen de Vctrsnts
Desconectado/a
se unió: 15/03/16

Muchas gracias.

Le echare un vistazo a la guia que me has pasado.

Gracias por todo

Dom, 21/08/2022 - 15:28 (Responder a #6)
Vctrsnts
Imagen de Vctrsnts
Desconectado/a
se unió: 15/03/16

Panko wrote:

Diria que tu problema pasa por el asunto de bios-legacy... me da que windows se ha instalado en modo uefi, y debian en modo legacy, con lo que el grub de tu debian no es capaz de ver el boot uefi de windows. Todo esto es una conjetura, claro está.

Si Debian lo tienes instalado en modo legacy, busca como pasarlo a modo uefi, que se puede hacer sin tener que reinstalar, y después desde una live instalar el grub para uefi, de este modo con ambos sistemas en modo uefi, supongo que grub ya podrá ver el boot de windows y añadirlo al boot. Tras esto, solo te quedaría el paso de entrar a la configuración de uefi y poner el boot de debian el primero para que sea el que inicie al arrancar el ordenador.

Edit...

Fijate en el momento que dices como estaba particionado el disco antes y después de instalar windows, en como la partición EFI no existe cuando solo tenias debian, y se crea al instalar windows. Esto te facilitará la tarea de instalar el arranque uefi de Debian. El proceso debería ser sencillo al existir, como ya he dicho, la partición EFI, puedes probar desde una live o desde el mismo debian si quieres:

sudo grub-install --target=x86_64-efi /dev/sdX
sudo grub-install --recheck
sudo update-grub

Antes de esto, tendrás que sustituir el grub que instalaste por el paquete grub-efi (y grub-efi-amd64).

Gracias por todo.

Creo que el problema que tengo es eso. Que tengo Debian con Legacy y Windows con UEFI.

Por lo que veo, Windows no se puede instalar en Legacy ( gracias Microsoft ).

Intentare buscar información de como pasar Debian de Legacy a UEFI y que todo este correctamente.

Si no, a las malas ( siempre puede pasar ) instalare todo de nuevo ( Windows primero con UEFI ) y luego Debian tambien con UEFI ( la instalación, tiene ya unos 3 años y me gusta de vez en cuando hacer instalaciones nuevas para limpiar el sistema )

De nuevo, gracias por vuestra ayuda...