%20para%20usar%20teclas%20modificadoras%3F.png)
Para aclarar, quiero realizar un arranque dual de Windows y una distribución de Linux. Ya sé cómo configurar mi computadora portátil para hacer eso. Sin embargo, no quiero que el menú de grub se muestre al arrancar. Me gustaría que inicie Windows automáticamente de forma predeterminada, a menos que se presione una tecla modificadora durante el inicio (ctrl, por ejemplo). Si se presiona la tecla modificadora, se iniciará la distribución de Linux.
es posible?
Respuesta1
Este hilo en AskUbuntuaborda una cuestión casi idéntica. Aparentemente, puede ocultar el cuadro de diálogo de grub y abrirlo presionando shifty, de lo contrario, dejar que el sistema operativo predeterminado se inicie después del tiempo que definió a través de la GRUB_TIMEOUT
entrada en su grub.cfg.
GRUB_DEFAULT= 2 #depends on which entry Windows is
hiddenmenu #this hides the menu
GRUB_TIMEOUT=3 #example for 3 seconds
Respuesta2
Como escribes en tu comentario, esto es para una nueva instalación, así que supongo que vendrá concomida2.
En realidad, en mi experiencia, siempre arrancar Windows con grub1 fue difícil. La adición de un nuevo kernel a la lista de versiones de kernel para seleccionar (por ejemplo, después de una actualización del kernel de Linux) cambiaría la posición de la entrada de Windows. Esto provocó un punto codificado GRUB_DEFAULT
a otra cosa (la mayoría de las veces, la prueba de memoria insertada por el instalador de grub entre la lista de kernels de Linux y la entrada de Windows en la lista). Con grub1 resolví este problema al tener un script que purgaba todos los kernels excepto los 3 más recientes, manteniendo así fija la posición de Windows.
Así que asegúrese de utilizar grub2, ya que facilita las cosas gracias a 2 características:
- grub2 permitesubmenús, para que el valor de
GRUB_DEFAULT
no deje de ser válido después de una actualización del kernel (lo que coloca los kernels antiguos en el submenú) - grub2 genera las entradas del menú a través deguiones(en
/etc/grub.d
Ubuntu)
Recomiendo hacer el cambio a laguionespara forzar a Windows a ser la primera opción en el menú: en /etc/grub.d
cambiar nombre 30_os-prober
(que genera la entrada de Windows) a algo como 09_os-prober
. Luego, este script se ejecuta antes, 10_linux
ya que los scripts se ejecutan ordenados por nombre de archivo y la entrada de Windows siempre estará en la parte superior. Y la parte superior es la predeterminada si no se especifica nada más.
Ejecute update-grub
para crear el menú en /boot/grub
, de modo que se encargue de iniciar siempre Windows.
En cuanto a que no se muestre el menú que quieres usarGRUB_HIDDEN_TIMEOUT
y algunos otros en /etc/grub/default
:
# wait 5 seconds for a key-press before showing the menu
GRUB_HIDDEN_TIMEOUT=5
# do not show the countdown counter
GRUB_HIDDEN_TIMEOUT_QUIET=true
# after hidden timeout is done wait 0 seconds -> boot without menu
GRUB_TIMEOUT=0
La combinación anterior espera 5 segundos sin salida (cuenta regresiva) o un menú y luego inicia la primera entrada. (Nuevamente: ejecute update-grub
después de cambiar eso).
Respuesta3
En Grub2:
set timeout=0
if keystatus --ctrl; then
set timeout=15
fi
Si se presiona Ctrl, se mostrará el menú durante 15 segundos antes de iniciar la entrada estándar; Si no se presiona Ctrl, iniciará la entrada estándar de inmediato sin ningún menú.
Para obtener más información, consulte info grub
el estado de la clave. Hay algunas advertencias: es posible que no funcione en todas las plataformas. Alternativamente a --ctrl, también admite --alt y --shift, por lo que puede probarlos si --ctrl no funciona.
Alternativamente, puedes poner Grub en una memoria USB. Entonces, Windows arrancará directamente cuando no esté conectado. También puedes colocar varios Live CD y cosas como memtest o freedos en la memoria USB. Algo muy útil para tener en tu billetera :)