web-dev-qa-db-fra.com

Un clic ferme Ubuntu et se charge dans un démarrage alternatif

J'ai un système à double démarrage avec Ubuntu 11.04 et Windows 7.

Mon chargeur de démarrage GRUB est Ubuntu par défaut. J'utilise principalement Ubuntu, mais j'ai parfois besoin de démarrer Windows pour faire certaines choses.

Si j'ai besoin de faire quelque chose dans Windows, je peux "éteindre" Ubuntu et sélectionner Windows 7 dans le chargeur de démarrage. Cependant, ce serait plus efficace si je pouvais le faire en un clic depuis Ubuntu.

  • Est-il possible d'appuyer sur une touche dans Ubuntu qui signifie "Arrêtez-vous, puis démarrez Windows"? (ou d'ailleurs arrêtez et démarrez dans n'importe quel démarrage autre que celui par défaut)
13
Jeromy Anglim

Si vous connaissez le numéro d'entrée de votre installation Windows (commencez à compter avec 0 pour la première position) dans le menu grub, vous pouvez redémarrer Windows (en supposant qu'il soit le 3e de la liste) à l'aide de cette commande:

grub-reboot 2

Vous pouvez également utiliser l’entrée de texte utilisée:

grub-reboot '<type entry here>'

Cette commande peut également être placée dans un programme de lancement pour une utilisation "en un seul clic".

Pour que cette procédure fonctionne, nous avons besoin de l'entrée GRUB_DEFAULT=saved dans /etc/default/grub.

15
Takkat

@Takkat a répondu à la question, mais je pensais décrire quelques détails supplémentaires au cas où cela aiderait les autres.

  • Les menus de démarrage comptent à partir de zéro. J'ai cinq éléments dans mon menu de démarrage. Le cinquième élément est Windows. Par conséquent, pour redémarrer Windows, je devais exécuter la commande grub-reboot 4 (c'est-à-dire, pas 5). UPDATE: Voir les commentaires ci-dessous à propos de cette modification éventuelle .
  • Afin d’éditer /etc/default/grub j’ai émis Sudo vim /etc/default/grub.
  • Pour que la procédure fonctionne, je devais modifier la valeur existante de GRUB_DEFAULT=0 en GRUB_DEFAULT=saved, puis exécuter Sudo update-grub.

J'ai ensuite créé un script basé sur le exemple webupd8 :

Je l'ai appelé winboot et mis dans ~/bin

#!/bin/bash
gksu grub-reboot 4
gksu reboot
6
Jeromy Anglim