35 votos

Cómo reiniciar en Windows desde Ubuntu?

Estoy buscando una manera de reiniciar en Windows desde Ubuntu en una 10.10/Vista sistema de arranque dual. El caso de uso específico es que me gustaría ser capaz de ssh en mi ejecutando Ubuntu instancia y emitir un comando que va a iniciar un reinicio directamente en Windows.

He encontrado un prometedor blog, pero la secuencia de comandos que se 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 ser que me lleva en la dirección correcta:

establecer el valor predeterminado de la entrada de inicio de GRUB, para el siguiente arranque sólo

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 en el reinicio de la primera entrada del menú aún está resaltada. Alguna idea de por qué esto no funciona o sugerencias para otras soluciones?

43voto

Rob Gray Puntos 1556
  • Tienes que editar el grub en primer lugar.

    sudo gedit /etc/default/grub
    
  • Busque la línea de GRUB_DEFAULT=0 y modificarlo para GRUB_DEFAULT=guardados alt text

  • Actualizar el grub con el siguiente comando.

    sudo update-grub  
    
  • Ahora cree un archivo y agregar estas líneas,

    !/bin/bash
    WINDOWS_ENTRY=`grep menuentry /boot/grub/grub.cfg  | grep --line-number Windows`
    MENU_NUMBER=$(( `echo $WINDOWS_ENTRY | sed -e "s/:.*//"` - 1 ))
    gksu grub-reboot $MENU_NUMBER
    gksu reboot
    
  • Hacer el script ejecutable.
  • Y ahora usted puede ejecutar esta secuencia de comandos desde la terminal a reiniciar en windows.
  • O puede ejecutar el siguiente comando en tu terminal

    sudo grub-reboot X  
    
  • Donde X es el menuentry posición de la OS desea reiniciar desde el menú de GRUB.(a partir de 0 como la primera entrada)

Por Ejemplo:

  • Si este es tu menú de grub y si quieres arrancar en windows debe dar el valor de X como 5.
  • sudo grub-reboot 5

    alt text

  • También puede crear un lanzador el comando de arriba,así que un doble clic en el launcher se reinicia en windows.

12voto

enzotib Puntos 38044

Hay una de comandos de grub sólo para hacerlo, es grub-reboot.

Parece que sólo cuando el trabajo tiene grub configurado para que se inicie con la última vez que se guardó la entrada. Así que si usted no lo ha hecho ya, modificar /etc/default/grub y el conjunto de

GRUB_DEFAULT=saved

luego actualizar el archivo de configuración de grub:

sudo update-grub

A partir de ahora, en cada arranque grub comenzará la última entrada.

Ahora, si desea establecer de antemano lo que debe ser el sistema para que arranque la próxima vez, el uso de

sudo grub-reboot ENTRY

donde ENTRY podría ser un número en relación a una entrada de menú (contados a partir de 0), o un exacto menú del título de la entrada, por ejemplo

sudo grub-reboot "Microsoft Windows XP Professional (on /dev/sda1)"

Este comando puede ser fácilmente disponible como un lanzador de

#!/usr/bin/env xdg-open
#
# save as ~/Desktop/reboot-into-windows.desktop
#

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=sh -c 'gksu "grub-reboot 2" && gnome-session-save --shutdown-dialog'
Name=Reboot into Windows
Icon=gnome-panel-launcher

pero no sé cómo podría ser integrado en el sistema de menú.

Usted puede obtener el menú disponibles título de la entrada con

sed -n '/menuentry/s/.*\(["'\''].*["'\'']\).*/\1/p' /boot/grub/grub.cfg 

4voto

kristof Puntos 145

Creo que he encontrado una mejor manera para la gente que quiere a la misma, mientras que localmente en su pc sin ssh.

Una solución para el reinicio en un sistema específico elegido a través de una unidad launcher 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 lo que la pregunta es sobre pero en caso de que alguien tiene una pregunta similar, más tarde, esto puede ser de ayuda.

3voto

dago Puntos 1663

Por lo que entendía que esto no será exactamente lo que usted desea, pero supongo que bastante cerca. Sólo siga el enlace webupdate artículo.

0voto

shailja Puntos 11

Simplemente edite /boot/grub/grub.cfg y cambiar el valor predeterminado de entrada, seleccione la entrada que desea iniciar. El valor puede ser el número ordinal de la entrada (a partir de cero para la primera) o usted puede colocar el título completo de la entrada que desee en las comillas.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: