Ver la versión completa : Problema con Grub (Bug)
Hola
Pues ya me ha pasado varias veces esto, y es lo siguiente:
Desde linux ,en opensuse pongo reiniciar con Windows, esto es: que automáticamente grub en el siguiente reinicio me elija windows ( y en reinicios posteriores muestre el menú), que se hace desde el menú de opensuse, en reiniciar como (y ahí seleccionas la partición)
Bien, esto, funciona correctamente , excepto en un caso:
Si por ejemplo reinicias , entras en Windows y la mierda de windows se te cuelga y tienes que meter un reset al pc (hasta aquí, todo normal, es lo que siempre suele ocurrir), entonces grub siempre te selecciona Windows, aunque reinicies el pc veinticuatro veces o lo apagues desde windows, es decir, no sale el menú de grub en reinicios posteriores, entrando directamente en Windows.
Entonces, echas mano del cd o de una live cd y reinstalas grub, y te vuelve a salir el ansiado menú de grub, con windows y linux o lo que tengas.
Pero el problema es que si ahora, eliges windows en el menú de grub vuelve a pasar lo mismo : entras en un bucle y grub vuelve a hacer lo de antes.
???
Esto ya me ha pasado en otras versiones de grub y de linux .
¿A alguien se le ocurre qué hacer?
Quizá , se me ha ocurrido reinstalar en el MBR el menú de inicio de Windows y después volver a instalar grub.No lo he probado todavía, pero quería preguntar si a alguien se le ocurre qué hacer.
un saludo :)
Edito: (por supuesto, cada vez con una versión de grub distinta me ha ocurrido, no es que sea masoca...)
Me pasaba algo parecido. En mi caso (ubuntu) se arreglaba arrancando en modo "live CD". Se apagaba el ordenador habiendo sacado el CD live y a la siguiente funcionaba el grub perfectamente.
Es una chapucilla, pero más rápido que reinstalar el grub.
:h:
Sigo pensando (como dije en el chat) que se trata más de un problema de windows que un bug de grub.
Tal y como está pensado el arranque, existe la posibilidad de evitar el menú cuando, por ejemplo, das a reiniciar con un reboot, shutdown -r o con el menú.
Cuando entras a windows y apagas o reinicias limpiamente queda constancia de que fue asi y no pasa nada pero cuando sufres un fallo, windows ejecuta el diagnóstico al principio del arranque y es en ese punto cuando te jode el arranque.
¿Maneras de evitarlo? Lo primero sería probar a instalar el arranque en una partición /boot en vez de en el MBR, a ver que tal.
Hola...
Cometo, eso no lo he probado... a ver si me lo soluciona, porque habré reinstalado como 7 veces grub , lo que pasa que no tengo live cd de opensuse.
¿Maneras de evitarlo? Lo primero sería probar a instalar el arranque en una partición /boot en vez de en el MBR, a ver que tal.
Muy buena idea sí... lo que me queda dudas es entonces si mover esto a un lugar distinto del MRB (que está en NTFS de sistema de archivos,sino me falla la memoria) entonces me deshabilitará la opción de poder reiniciar eligiendo windows u otra partición desde linux, ya que yo no uso fat32, sino reisers.
No sé... es que no sé exactamente cómo funciona esta opción de grub ¿qué le dice a grub que se ha terminado la sesión correctamente en windows? es más que nada para reportarlo si es un bug, porque si es Grub quien LEE algún fichero desde el MRB o en el MRB para cerciorarse si ya se ha terminado sesión en windows , pues entonces es problema de grub, sino, es para variar , la escoria inmunda de windows.
El otro día después del chat, estuve haciendo pruebas y efectivamente, no puede ser problema de YasT desde la partición de linux, por lo siguiente:
Una vez reinstalo grub (de cero) y vuelvo a reiniciar el pc, me aparece , como antes dije win y linux a elegir:
Si elijo Windows , grub me entra en bucle y si elijo Linux, también grub me entra también en bucle , eligiendo por defecto en los siguientes reinicios Windows (sin darme opción a elegir). Es decir , esto supone que:
Si entro en Windows , no se ha activado la partición de linux, luego ahí no tiene nada que ver YasT , entonces tiene que ser Windows quien en el MRB toque algo que confunda a Grub con algún archivo o log de las sesiones terminadas en windows.
un saludo
¿qué le dice a grub que se ha terminado la sesión correctamente en windows?
Es que no es así. Vamos a ver. Cuando el sistema operativo se cierra, en este caso Windows, guarda el estado de que todo ha ido ok. Si se cuelga y lo apagas por la brava no se realiza este checkeo y al iniciarse, windows encuentra que falta el visto bueno en el apagado y ejecuta el diagnóstico.
Sí MiGUi, si estamos hablando de lo mismo ... es decir, Grub leerá en algún lugar o quedará grabado en algún archivo que no se ha cerrado sesión correctamente . Lo malo, es que aunque en futuras sesiones sí se cierre sesión correctamente, grub SIGUE creyendo que no ha sido así.
Por ejemplo:
Una vez se ha tenido que resetear windows porque se ha bloqueado, si reinstalo Grub de CERO, me vuelve a salir el menú al inicio , y ahí puedo elegir windows o linux, pero:
Cualquiera de las dos que elija (win o linux), Grub entra en bucle (eligiendo windows por defecto y no dejándome elegir para todas las futuras veces que encienda el pc)
Hay algún archivo en donde se ha quedado grabado que Windows no cerrado sesión y Grub lo sigue leyendo, aunque esté caducado de 15 días.
Creo que es un error de grub, no sé si en la versión 2 que está por salir esto está solucionado.Creo que es un error de confianza de grub esperar a que se cierre sesión en windows, creo que sería más práctico y se evitarían muchos problemas si fuera sólo con iniciar sesión...
un saludo
Si arranca windows sin ningun tipo de retraso, como si unicamente estuviese instalado windows en ese ordenador, entonces es que windows ha reescrito el MBR.
La solucion es reinstalar grub, para que reescriba el "stage 1" en el MBR.
Aunque separar /boot a otra particion es una buena idea, no tengo claro que esto vaya a resolver el problema. Porque el "stage 1" de grub sigue residiendo en el MBR, es el "stage 2" (o el 1.5 y el 2 si usas GRUB legacy) el que reside en la particion /boot. Si windows reescribe el MBR, igualmente te quedaras sin arrancar GRUB.
En mi caso tengo una particion NTFS de 25 GiB (/dev/sda1) donde reside windows, que fue reparticionada a ese tamaño nada mas comprar mi portatil. Y la siguiente particion (/dev/sda2) es una ext3, de unos 75 MiB (si quieres ir sobre seguro puedes ampliarla a 100MiB) en la que reside /boot . Esta particion tiene activada la opcion de booteable.
Me parece que GRUB 2 tiene un cd booteable que permite su instalacion, quiza quieras trastear con el y dar el paso de legacy a 2.
Hola!
Al final se ha arreglado de la siguiente forma:
Pensando en que probablemente Grub lea en algún lado lo de activar la partición de Win, y ésta tiene en grub un "identificador" a modo de nombre, que se pone arbitrariamente (yo es que siempre ponía el mismo: Windows Profesional o algo así) , pues puse simplemente windows y solucionado, ya me sale el menú.
Todavía no sé cómo funciona esta versión de grub, pero según me cuentas n0mad, paso del todo si en la próxima versión cambia completamente todo.
Seguramente estaba en un archivo que grub iniciara la entrada "Windows Profesional" , pero ahora como no existe, pues me muestra el menú.
un saludo
Hola!
Al final se ha arreglado de la siguiente forma:
Pensando en que probablemente Grub lea en algún lado lo de activar la partición de Win, y ésta tiene en grub un "identificador" a modo de nombre, que se pone arbitrariamente (yo es que siempre ponía el mismo: Windows Profesional o algo así) , pues puse simplemente windows y solucionado, ya me sale el menú.
Todavía no sé cómo funciona esta versión de grub, pero según me cuentas n0mad, paso del todo si en la próxima versión cambia completamente todo.
Seguramente estaba en un archivo que grub iniciara la entrada "Windows Profesional" , pero ahora como no existe, pues me muestra el menú.
un saludo
Entonces los tiros iban por lo que yo te sugeri en el chat. Sin embargo, la solucion no me encaja. GRUB guarda la informacion sobre que SO arrancar como
default n
donde n es un entero mayor o igual que 0 e identifica que SO se arrancara segun aparece en tu menu.lst . Por eso no entiendo como cambiar el nombre puede resolver nada. Quiza este relacionado con lo que pueda haber tocado YaST, pero entiendo que ya miraste a fondo el asunto cuando te lo sugeri.
Hola n0mad
donde n es un entero mayor o igual que 0 e identifica que SO se arrancara segun aparece en tu menu.lst
Sí, pero no tiene porqué ser la misma identificación que grub lea para reiniciar por defecto sin mostrar ni el menú , a la identificación (que es la de default) que usa grub para que dentro del menú se autoseleccione por defecto , con un tiempo que configures.
De hecho, no lo es, porque si cambiando el nombre se ha solucionado, esto descartado.
En fin, yo no sé cómo funciona el grub internamente, y sinceramente, si va a sacar una versión dentro de poco, que poco tiene que ver con esta, ni me esfuerzo en saber de dónde ha venido el error.
un saludo y gracias!
Powered by vBulletin® Version 4.1.6 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.