Estoy buscando una manera de reiniciar Windows desde Ubuntu en un sistema de arranque dual 10.10 / Vista. El caso de uso específico es que me gustaría poder ingresar a mi instancia de Ubuntu en ejecución y emitir un comando que iniciará un reinicio directamente en Windows.
Encontré una publicación de blog prometedora , pero el script que sugiere no funciona:
#!/bin/bash
WINDOWS_ENTRY=`grep menuentry /boot/grub/grub.cfg | grep --line-number Windows`
MENU_NUMBER=$(( `echo $WINDOWS_ENTRY | sed -e "s/:.*//"` - 1 ))
sudo grub-reboot $MENU_NUMBER
sudo reboot
man grub-reboot
no es de mucha ayuda, pero parece estar guiándome en la dirección correcta:
configura la entrada de arranque predeterminada para GRUB, solo para el próximo arranque
WINDOWS_ENTRY=`grep menuentry /boot/grub/grub.cfg | grep --line-number Windows`
MENU_NUMBER=$(( `echo $WINDOWS_ENTRY | sed -e "s/:.*//"` - 1 ))
echo $MENU_NUMBER
Esto devuelve el valor esperado, pero al reiniciar la primera entrada del menú todavía está resaltada. ¿Alguna idea de por qué esto no funciona o sugerencias para otras soluciones?
sudo reboot now
debería reiniciar la máquina en el primer elemento de la lista de grub.Respuestas:
Tienes que editar tu grub primero.
Busque la línea GRUB_DEFAULT = 0 y modifíquela a GRUB_DEFAULT = guardada
Actualice su grub con el siguiente comando.
Ahora crea un archivo de script,
Luego agrega estas líneas.
Haga que el script sea ejecutable.
Y ahora puede ejecutar este script desde la terminal para reiniciar en Windows.
O puede ejecutar el siguiente comando en su terminal
Donde X es la posición de menuentry del sistema operativo en el que desea reiniciar desde el menú GRUB. (Comenzando con 0 como la primera entrada)
Por ejemplo:
sudo grub-reboot 5
fuente
grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2
sudo grub-reiniciar "$ WINDOWS_TITLE" reiniciar sudoHay un comando grub para hacerlo, es
grub-reboot
.Parece que solo funciona cuando tiene grub configurado para comenzar con la última entrada guardada. Entonces, si aún no lo ha hecho, modifique
/etc/default/grub
y configureluego actualice el archivo de configuración de grub:
A partir de ahora, en cada arranque de arranque se iniciará la última entrada utilizada.
Ahora, si desea establecer de antemano cuál debería ser el sistema para iniciar la próxima vez, use
donde
ENTRY
podría ser un número relativo a una entrada de menú (numerado a partir de 0), o un título exacto de entrada de menú, por ejemploEste comando puede estar fácilmente disponible como un lanzador
pero no sé cómo podría integrarse en el menú del sistema.
Puede obtener el título de entrada de menú disponible con
fuente
GRUB_DEFAULT=saved
, dañaría su configuración. Lo que grub-reboot hace es escribirnext_entry=ENTRY
a/boot/grub/grubenv
. Eso no essaved_entry=ENTRY
. Sin embargo, el próximo reinicio estará bien, dice grubnext_entry
. Las siguientes botas pueden fallar si no se guarda ninguna entrada comosaved-entry=ENTRY
en grubenv.Creo que he encontrado una forma aún más agradable para las personas que quieren hacer lo mismo mientras están localmente en su PC sin ssh.
Una solución para reiniciar en un sistema específico elegido a través de un lanzador de la unidad se acaba de publicar en webupd8. Ver http://www.webupd8.org/2011/05/custom-unity-launcher-to-reboot-in.html
Sé que esto no es exactamente de lo que se trata la pregunta, pero en caso de que alguien tenga una pregunta similar más adelante, esto podría ser útil.
fuente
Según tengo entendido, esto no será exactamente lo que quieres, pero supongo que muy cerca. Simplemente siga el enlace del artículo de actualización web .
fuente
Entonces, para mí, lo mejor fue crear el siguiente script con
grub-reboot
comandofuente
La información de todos fue útil para mí, pero al final no pude lograr cambiar el valor predeterminado de grub y luego reiniciar con un solo clic. Después de jugar dos horas, descubro este programa que es exactamente lo mismo que todos intentamos construir y en 5 minutos reinicio en Windows. Gracias a todos, aquí está el enlace tramposo para aquellos que también se rinden. http://www.webupd8.org/2013/01/unity-reboot-launcher-to-quickly-reboot.html
fuente
No estoy seguro de si esto funcionará 100% también en Ubuntu, pero una vez lo hice funcionar en una máquina centos
básicamente tendrá que decirle a grub qué ID # de grub.conf debería ejecutarse a continuación. El id # se puede encontrar por
así que en mi caso esto sería, por ejemplo, la salida "4-1" como la cuarta entrada en mi grub.conf contiene el texto "Windows". (Reemplace esto con el nombre de la entrada real (también parcialmente) que desea usar. Luego puede alimentarlo para que comience de la siguiente manera:
y en el próximo reinicio, debería arrancar automáticamente la entrada que le indicó.
Todo esto se puede armar en un script como el siguiente:
el script determinará automáticamente qué entrada de su grub.conf corresponde al texto "Windows", lo alimentará a grub para indicar qué debe cargarse en el próximo arranque y reiniciará su PC.
para una interfaz gráfica de usuario, por ejemplo, puede agregar un icono de acceso directo a su escritorio para lograr esto.
fuente
Simplemente edite
/boot/grub/grub.cfg
y cambie la entrada predeterminada para que apunte a la entrada que desea arrancar. El valor puede ser el número ordinal de la entrada (comenzando desde cero para la primera) o puede colocar el título completo de la entrada que desea entre comillas.fuente
boot.cfg
, se restaurará en cada manual o automáticoupdate-grub
. El usuario debe modificar/etc/default/grub
, en su lugar.