La forma más fácil es con Grub.

La forma más fácil es con Grub.

Tengo una configuración de arranque dual:

  1. Ubuntu 16.04 LTS
  2. ventanas

Actualmente, cuando quiero rebootpasar de Ubuntu a Windows, lo uso grub-rebootcon el número apropiado como argumento. Esto funciona bien.

Sin embargo, a veces Windows necesita reiniciarse para que un determinado programa pueda instalarse o actualizarse y tengo que seleccionar manualmente la entrada correcta del menú de inicio de grub. ¿Existe una forma similar (desde la interfaz de usuario de Windows) de indicarle a grub qué entrada iniciar?

Supongo que el grub-rebootcomando pasa el argumento a un archivo que a su vez es leído por grub reboot.

editar (con respecto a mi respuesta seleccionada): Actualmente estoy pensando en montar la unidad ext4 que contiene /boot y programar la edición. Es posible que esto lleve bastante tiempo, ya que lo hago en mi tiempo libre además de mi trabajo no tecnológico de 40 horas a la semana. ^^

Respuesta1

La forma más fácil es con Grub.

Es engorroso controlarlo grubdesde Windows. Se requiere una aplicación de terceros para acceder a Ubuntu desde Windows y algo de piratería. Sin embargo, desde la parte superior de esta publicación:Cómo cambiar el orden en mis distribuciones de arranque dual, puede configurar grubpara que se reinicie automáticamente en la última opción del menú. Entonces, cuando inicia inicialmente con Windows y se activa a las 2 a.m. para ejecutar actualizaciones, grubWindows recargará para que pueda finalizar las actualizaciones correctamente.

Cuando reinicia manualmente y elige Ubuntu en grubtodos sus próximos reinicios, carga automáticamente Ubuntu. Esta característica funciona igualmente bien si tiene errores en el kernel actual y desea grubreiniciar automáticamente en una versión anterior del kernel que seleccionó.

Cómo hacer que Grub repita la última selección de arranque

Esto es bastante sencillo. Usando sudopoderes edite /etc/default/gruby cambie lo siguiente:

#GRUB_DEFAULT=0 # Rather than option #1, we'll always default to last boot choice.
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

La primera línea la comentarás y justo debajo insertarás las dos líneas siguientes.

Guarde el archivo y escriba en la terminal:

sudo update-grub

Línea de comando de Ubuntu para reiniciar en Windows

Actualmente usas algo como esto:

sudo grub-reboot x # Where x is Windows zero-based grub menu number
sudo reboot now

De este Stack Exchange modificadorespuestapuedes usar el valor predeterminado de grub para reiniciar en Windows. Copie este código en su ~/.bashrcarchivo:

function reboot-to-windows {
    WINDOWS_TITLE=`grep -i "^menuentry 'Windows" /boot/grub/grub.cfg|head -n 1|cut -d"'" -f2`
    sudo grub-set-default "$WINDOWS_TITLE"
    sudo reboot
}
  • Guarde el ~/.bashrcarchivo con la nueva reboot-to-windowsfunción.
  • Cierre su sesión de terminal actual.
  • Abra una nueva sesión de terminal para ~/.bashrccargar los cambios.
  • Puede escribir : ~/.bashrcpara recargarlo en la sesión de terminal existente, pero algunas personas recomiendan no hacerlo.

Para reiniciar Windows desde la línea de comando use:

reboot-to-windows

Si Windows se reinicia automáticamente cuando no estás mirando, Windows se reinicia. Esto permite que las actualizaciones automáticas de Windows se procesen normalmente durante múltiples ciclos de reinicio que a veces utiliza Windows.

Respuesta2

Puedes replicar lo que grub-reboothace. Es sólo un script que eventualmente llama:

grub-editenv /boot/grub/grubenv set next_entry="Windows"

¿Dónde Windowsestá el nombre de la entrada del menú de grub? Puede que no sea eso

Ejecuté eso. Todo lo que hace es next_entry=Windowsinsertarlo /boot/grub/grubenv. En la línea 2. Entonces, si es solo un archivo, en un sistema de archivos,puedes hacer exactamente lo mismo desde Windows. Es un problema de Windows que hay que resolver, pero aquí está la descripción general de alto nivel:

  • Monte el disco donde reside el arranque. Esta es probablemente la parte más difícil porque probablemente sea ext4.Estepodría ayudar, pero no es inconcebible que necesite Linux ejecutándose con Windows para editarlo.

    Como señala muru, no tiene por qué ser tan difícil.Puede pasar /boota su propia partición FAT32. Esto hace que sea trivial montarlo en Windows.

  • Inserte next_entry=Windows(o lo que sea) en el archivo después del comentario, antes de los hashes.

  • Desmontar.
  • Reiniciar.

Scripting esoen Windowsestá fuera de mi zona de confort y no es realmente lo que hacemos aquí. Pero eso debería ser todo lo que necesitas hacer.

Respuesta3

grub-set-defaultdebería hacer lo mismo que grub-reboot, pero hacer que la configuración sea permanente. Esto no es exactamente de la interfaz de usuario de Windows, como preguntaste, pero tal vez funcione para ti.

Respuesta4

No has dicho qué versión de Windows ni si estás en UEFI.

Si está utilizando un arranque UEFI adecuado (y no un arranque heredado), es posible iniciar temporalmente desde la entrada de arranque UEFI de Windows. En Linux, esto se puede hacer usando herramientas como efibootmgr. En Windows, yo personalmente usoFácilUEFI. Es gratuito para uso personal, GUI, pero no para uso empresarial o CLI. No puedo garantizar su seguridad. También parece algo lento, pero parece funcionar.

En mi propia configuración, que usa Arch Linux (kernel EFI shim, sin GRUB) y Windows 10, así es como se ve, después de seleccionar "Administrar opción de arranque EFI" en la pantalla de inicio:

Imagen que muestra la opción de inicio único

Si está utilizando el arranque UEFI, debería ver algo similar para Windows, además de una única entrada para Ubuntu (que carga GRUB), además de algunas otras opciones específicas del dispositivo. La opción de inicio único se puede usar para configurar el inicio en la entrada de inicio UEFI para Windows una vez y luego volver a iniciar con GRUB después de eso. Después de configurar eso, reinicia normalmente.

información relacionada