Je cherche un moyen de redémarrer Windows à partir d'Ubuntu sur un système à double démarrage 10.10 / Vista. Le cas d'utilisation spécifique est que je souhaite pouvoir utiliser ssh dans mon instance Ubuntu en cours d'exécution et émettre une commande qui initiera un redémarrage directement dans Windows.
J'ai trouvé un article de blog prometteur , mais le script qu'il suggère ne fonctionne pas:
#!/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
Cela ne m'aide pas beaucoup, mais cela semble me conduire dans la bonne direction:
définir l'entrée de démarrage par défaut pour GRUB, pour le prochain démarrage uniquement
WINDOWS_ENTRY=`grep menuentry /boot/grub/grub.cfg | grep --line-number Windows`
MENU_NUMBER=$(( `echo $WINDOWS_ENTRY | sed -e "s/:.*//"` - 1 ))
echo $MENU_NUMBER
Cela renvoie la valeur attendue, mais au redémarrage, la première entrée de menu est toujours en surbrillance. Des idées pour lesquelles cela ne fonctionne pas ou des suggestions pour d'autres solutions?
sudo reboot now
devrait redémarrer la machine dans le premier élément de la liste de grub.Réponses:
Vous devez d'abord modifier votre vers.
Recherchez la ligne GRUB_DEFAULT = 0 et modifiez-la en GRUB_DEFAULT = sauvegardée.
Mettez à jour votre fichier en utilisant la commande suivante.
Maintenant, créez un fichier de script,
Ajoutez ensuite ces lignes.
Rendre le script exécutable.
Et maintenant, vous pouvez exécuter ce script depuis un terminal pour redémarrer Windows.
Ou vous pouvez exécuter la commande suivante dans votre terminal
Où X est la position du menu du système d'exploitation que vous souhaitez redémarrer à partir du menu GRUB (en commençant par 0 comme première entrée).
Par exemple:
sudo grub-reboot 5
la source
grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2
sudo grub-reboot "$ WINDOWS_TITLE" redémarrage sudoIl y a une commande grub juste pour le faire, ça l'est
grub-reboot
.Cela ne semble fonctionner que si vous avez configuré grub pour démarrer avec la dernière entrée enregistrée. Donc, si vous ne l'avez pas déjà fait, modifiez
/etc/default/grub
et définissezpuis mettez à jour le fichier de configuration grub:
A partir de maintenant, la dernière entrée utilisée sera lancée à chaque démarrage.
Maintenant, si vous voulez définir à l’avance quel devrait être le système pour démarrer la prochaine fois, utilisez
où
ENTRY
pourrait être un numéro relatif à une entrée de menu (numéroté à partir de 0), ou un titre exact d’ entrée de menu, par exempleCette commande peut facilement être mise à disposition en tant que lanceur
mais je ne sais pas comment cela pourrait être intégré dans le menu système.
Vous pouvez obtenir le titre d’entrée de menu disponible avec
la source
GRUB_DEFAULT=saved
, cela gâcherait votre configuration. Qu'est - ce que grub-reboot est d'écrirenext_entry=ENTRY
à/boot/grub/grubenv
. Ce n'est passaved_entry=ENTRY
. Prochain redémarrage sera bien si, lit sans têtenext_entry
. Les démarrages suivants peuvent échouer si aucune entrée n’est sauvegardée commesaved-entry=ENTRY
dans grubenv.Je pense avoir trouvé un moyen encore plus agréable pour les personnes qui veulent la même chose alors qu’elles sont localement sur leur PC sans ssh.
Une solution pour redémarrer dans un système spécifique choisi via un lanceur d'unité vient d'être publiée sur webupd8. Voir http://www.webupd8.org/2011/05/custom-unity-launcher-to-reboot-in.html
Je sais que ce n'est pas exactement le sujet de la question, mais si quelqu'un a une question similaire plus tard, cela pourrait être utile.
la source
Autant que je sache, ce ne sera pas exactement ce que vous voulez, mais je suppose que c'est assez proche. Il suffit de suivre l' article de lien webupdate .
la source
Donc, pour moi, le mieux était de créer le script suivant avec la
grub-reboot
commandela source
Les informations de tout le monde ont été utiles pour moi mais à la fin, je ne pouvais toujours pas changer le paramètre par défaut grub puis le redémarrer en un clic. Après avoir bricolé pendant 2 heures, je découvre ce programme qui est exactement la même chose que nous essayons de construire et en 5 minutes, je redémarre sous Windows. Merci à tous, voici le lien du tricheur pour ceux qui abandonnent aussi. http://www.webupd8.org/2013/01/unity-reboot-launcher-to-quickly-reboot.html
la source
Je ne sais pas si cela fonctionnera à 100% également à Ubuntu, mais j'ai déjà effectué ce travail sur une machine centos
En gros, vous devrez indiquer à grub quel identifiant # de grub.conf il devrait être lancé ensuite. L'identifiant # peut être trouvé par
Ainsi, dans mon cas, cela produirait par exemple "4-1" en tant que quatrième entrée de mon fichier grub.conf contenant le texte "Windows". (Remplacez-le par le nom d'entrée actuel (également partiellement) que vous voulez utiliser. Vous pouvez ensuite le transmettre à grub comme ceci:
et au prochain redémarrage, il devrait automatiquement démarrer l’entrée que vous lui avez indiquée.
tout cela peut être mis en place dans un script comme celui-ci:
le script déterminera automatiquement quelle entrée de votre fichier grub.conf correspond au texte "Windows", le transmettra à grub pour indiquer ce qui doit être chargé au prochain démarrage et redémarrera votre ordinateur.
pour une interface graphique, vous pouvez, par exemple, ajouter une icône de raccourci sur votre bureau pour y parvenir.
la source
Il vous suffit de modifier
/boot/grub/grub.cfg
et de modifier l'entrée par défaut pour qu'elle pointe vers l'entrée que vous souhaitez démarrer. La valeur peut être le nombre ordinal de l'entrée (en commençant par zéro pour la première) ou vous pouvez placer le titre complet de l'entrée que vous voulez entre guillemets.la source
boot.cfg
, il sera restauré à chaque manuel ou automatiqueupdate-grub
. L'utilisateur devrait modifier à la/etc/default/grub
place.