¿Es posible "volver" a GRUB después de iniciar Linux sin reiniciar

21

Estoy iniciando dualmente Windows y Linux en mi SSD y a menudo me encuentro cambiando entre los dos sistemas operativos. El SSD es realmente rápido y ambos sistemas operativos se inician en aproximadamente 3 segundos una vez seleccionados en GRUB. Sin embargo, mi BIOS, RAID y mi segundo controlador SATA tardan una eternidad (unos 30 segundos) en iniciarse antes de que finalmente esté en GRUB.

Así que me preguntaba si es posible omitir estas inicializaciones y simplemente "regresar" a GRUB una vez que haya arrancado Linux. Idealmente, también podría hacer lo mismo desde Windows, pero mi esperanza no es muy alta allí :)

Hice una pequeña búsqueda en línea y no encontré nada más que un cargador de Linux algo anticuado: loadlin.exe, que se podía ejecutar desde DOS o Windows 95/98 para arrancar Linux. Entonces, al menos, el concepto de cambiar de SO sin reiniciar no es nuevo. Alguien sabe de una herramienta actual que hace esto?

Si no es así, ¿hay algún problema técnico que nos impida escribir dicho programa o simplemente no hay suficiente demanda?

ACTUALIZACIÓN: Un amigo mío acaba de contarme sobre Kexec . Usando eso, parece posible iniciar un kernel de Linux diferente desde un kernel en ejecución, pero ¿es posible volver a GRUB o iniciar una instalación de Windows directamente?

Dimitar Asenov
fuente
44
Interesante pregunta. Una razón por la que puedo pensar que no hay mucho interés en esto es que las máquinas virtuales han mejorado recientemente. La mayoría de las personas simplemente ejecutan su sistema operativo secundario dentro de una VM en su sistema primario en lugar de un arranque dual.
Noufal Ibrahim
También estaba considerando usar una VM, pero necesito un rendimiento gráfico rápido y hasta ahora las VM no ofrecen un rendimiento satisfactorio. Tal vez las cosas cambien ahora que Xen (y pronto otros) tienen una opción de transferencia completa para tarjetas gráficas. Sin embargo, aún sería interesante ver si hay una manera de cambiar rápidamente. Con respecto al segundo comentario, en realidad no estaba al tanto de unix.stackexchange.com. Sin duda echaré un vistazo y tal vez publique allí si no obtengo una respuesta primero. Gracias por la sugerencia.
1
30 segundos ? Creo que en un servidor ibm son como 5 minutos.
Sirex
1
Debería ser posible con los cargadores de arranque EFI (no tengo idea de cómo). Un poco más difícil con los MBR, ya que esperan iniciarse en modo real de 16 bits y configurar todo ellos mismos, lo que podría no ser posible después de que el sistema se haya inicializado una vez.
Grawity
@Sirex: ¿Pero quién dualboots servidores de IBM? :)
Grawity

Respuestas:

6

Usando kexec puedes resolver el problema. No hay necesidad de involucrar a GRUB. Puede usar kexec-loader para arrancar directamente en diferentes sistemas operativos desde Linux. (Asegúrese de que el soporte de kexec esté compilado en su núcleo).

Fabel
fuente
1
Hasta donde yo sé, el kexec_load()syscall está destinado solo para cargar un kernel de Linux. La herramienta kexec-loader que vinculaste parece admitir solo los núcleos de Linux también. --- Es posible arrancar, por ejemplo, memtest86, pero nunca he visto que alguien haya arrancado Windows directamente usando el mecanismo kexec, pero es posible a través de GRUB : Cómo arrancar directamente en Windows desde kexec + Grub4DOS .
pabouk
2

Comprueba si tienes soporte UEFI. Eso puede mejorar DRASTICAMENTE la velocidad de arranque.

Milind R
fuente
Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar una aclaración de un autor, deje un comentario debajo de su publicación.
Jawa
1
@Jawa, el OP tiene un problema porque su POST está tomando un tiempo inaceptablemente largo. UEFI definitivamente corta este tiempo: el propósito mismo de su creación.
Milind R
2
Aquí hay dos cosas: 1) La pregunta no es "¿cómo arranque más rápido" sino "cómo regreso a GRUB después del arranque?" 2) Las respuestas de una línea son probablemente mejores como comentarios.
Kevin Panko
Gracias por la sugerencia. Desde que publiqué la pregunta original, he cambiado la configuración de mi disco duro y justo ahora, optimicé algunas configuraciones en la BIOS para mejorar los tiempos de arranque. En esencia, podría deshabilitar cosas relacionadas con RAID (que ya no necesito) y también habilité el arranque EFI. El efecto general es un arranque mucho más rápido. Sin embargo, la pregunta original sigue siendo interesante para mí y hasta ahora no he encontrado una solución confiable.
Dimitar Asenov
1

Larga historia corta, no con la forma en que funcionan las cosas ahora. Un mejor enfoque puede ser encontrar por qué su BIOS / RAID / controlador SATA está tardando tanto. Puede haber actualizaciones de BIOS disponibles y posiblemente actualizaciones de firmware para el controlador RAID.

Zeroedout
fuente
Una posible razón para una POST lenta es que tiene su controlador HDD configurado para detectar automáticamente unidades inexistentes en el BIOS. Si tiene un solo HDD y un solo CD / DVD, no tiene sentido tratar de detectar automáticamente las otras 2 (o 4) ranuras, estas pruebas tienen que agotar el tiempo y pueden tomar un tiempo.
Haqa
1

No. A menos que su BIOS tenga una opción de configuración específica para omitir POST durante un reinicio (lo vi una vez), esto no ha existido desde Windows 98 / ME (el truco de reinicio rápido que realmente solo recargó Windows).

Quizás alguien con suficiente tiempo de piratería de arranque podría reproducir eso y volver a cargar GRUB, pero tendría que cambiar la forma en que INIT reinicia el sistema.

Nakarti
fuente
0

Si no puede encontrar las actualizaciones como sugirió Zeroedout, es posible que desee ejecutar su sistema host en máquinas virtuales, por lo que el reinicio es casi gratuito.

Además, algunos sistemas tienen un modo de inicio rápido / rápido donde se omiten algunas comprobaciones. Es posible que desee comprobar eso.

billc.cn
fuente