J'ai une configuration à double démarrage:
Actuellement, lorsque je veux transférer reboot
d'Ubuntu dans Windows, j'utilise grub-reboot
avec le nombre approprié en tant qu'argument. Ça marche bien.
Cependant, parfois, Windows a besoin d'un redémarrage pour qu'un certain programme puisse être installé ou mis à jour et je dois sélectionner manuellement l'entrée de menu de démarrage appropriée. Existe-t-il une méthode similaire (à partir de l'interface utilisateur Windows) pour indiquer à grub quelle entrée démarrer?
Je suppose que la commande grub-reboot
passe l'argument dans un fichier qui est lu à son tour par grub sur reboot
.
edit (concernant ma réponse choisie): Je cherche actuellement à monter le lecteur ext4 qui contient/boot et à écrire un script pour le modifier. cela prendra peut-être un certain temps puisque je le fais pendant mon temps libre, à côté de mon travail non technique de 40h/semaine. ^^
Vous pouvez répliquer ce que grub-reboot
fait. C'est juste un script qui appelle finalement:
grub-editenv /boot/grub/grubenv set next_entry="Windows"
Où Windows
est le nom de votre entrée de menu grub. Ce n'est peut-être pas
J'ai couru ça. Tout ce que cela fait est d'insérer next_entry=Windows
dans /boot/grub/grubenv
. Sur la ligne 2. Donc, s'il ne s'agit que d'un fichier, sur un système de fichiers , vous pouvez faire exactement la même chose depuis Windows . C'est un problème Windows à résoudre, mais voici l'aperçu de haut niveau:
Montez le disque où habite boot. C'est probablement la partie la plus difficile car c'est probablement ext4. This pourrait aider, mais il n’est pas inconcevable que vous ayez besoin que Linux soit exécuté sous Windows pour l’éditer.
Comme le souligne muru, ce n'est pas si difficile. Vous pouvez déplacer /boot
vers sa propre partition FAT32 . Cela rend trivial le montage sous Windows.
Insérez next_entry=Windows
(ou autre) dans le fichier après le commentaire, avant les hachages.
L'écriture de script dans Windows est bien en dehors de ma zone de confort et pas vraiment ce que nous faisons ici. Mais cela devrait être tout ce que vous devez faire.
Il est difficile de contrôler grub
sous Windows. Une application tierce permettant d’accéder à Ubuntu à partir de Windows et au piratage est requise. Cependant, dans la partie supérieure de cet article: Comment modifier l'ordre des disquettes à double démarrage , vous pouvez configurer grub
pour redémarrer automatiquement à la dernière option du menu. Ainsi, lorsque vous démarrez initialement avec Windows et qu'il se réveille à 2 heures du matin pour exécuter les mises à jour, grub
rechargera Windows afin qu'il puisse terminer correctement les mises à jour.
Lorsque vous redémarrez manuellement et que vous choisissez Ubuntu à partir de grub
, tous vos prochains redémarrages chargent automatiquement Ubuntu. Cette fonctionnalité fonctionne tout aussi bien si vous avez des bogues dans le noyau actuel et que vous voulez que grub
redémarre automatiquement avec une version de noyau plus ancienne que vous avez sélectionnée.
C'est assez simple. Utiliser Sudo
permet de modifier /etc/default/grub
et de modifier les éléments suivants:
#GRUB_DEFAULT=0 # Rather than option #1, we'll always default to last boot choice.
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
La première ligne que vous allez commenter et juste en dessous insère les deux lignes suivantes.
Enregistrez le fichier et tapez dans le terminal:
Sudo update-grub
Actuellement, vous utilisez quelque chose comme ceci:
Sudo grub-reboot x # Where x is Windows zero-based grub menu number
Sudo reboot now
À partir de cet échange de pile modifié réponse vous pouvez utiliser la valeur par défaut grub pour redémarrer sous Windows. Copiez ce code dans votre fichier ~/.bashrc
:
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
}
~/.bashrc
avec la nouvelle fonction reboot-to-windows
.~/.bashrc
à charger.: ~/.bashrc
pour le recharger dans la session de terminal existante, mais certaines personnes le déconseillent.Pour redémarrer Windows à partir de la ligne de commande, utilisez:
reboot-to-windows
Si Windows redémarre automatiquement lorsque vous ne regardez pas, Windows est redémarré. Cela permet aux mises à jour automatiques de Windows d'être traitées normalement sur plusieurs cycles de redémarrage que Windows utilise parfois.
grub-set-default
devrait faire la même chose que grub-reboot, mais rendre le paramètre permanent. Ce n'est pas exactement de l'interface utilisateur Windows, comme vous l'avez demandé, mais peut-être que cela fonctionne pour vous.
Vous n'avez pas indiqué quelle version de Windows ni si vous êtes sur UEFI.
Si vous utilisez un démarrage UEFI correct (et non un démarrage hérité), il est possible de démarrer temporairement avec l'entrée de démarrage Windows UEFI. Sous Linux, vous pouvez utiliser des outils tels que efibootmgr
. Sur Windows, j'utilise personnellement EasyUEFI . Il est gratuit pour une utilisation personnelle et une interface utilisateur graphique, mais pas pour une utilisation en entreprise ou en CLI. Je ne peux pas garantir sa sécurité. Cela semble aussi être un peu lent, mais cela semble fonctionner
Dans ma propre configuration, qui utilise Arch Linux (noyau EFI shim, sans GRUB) et Windows 10, voici à quoi cela ressemble, après avoir sélectionné "Manage EFI Boot Option" sur l'écran de démarrage:
Si vous utilisez le démarrage UEFI, vous devriez voir quelque chose de similaire pour Windows, plus une entrée unique pour Ubuntu (qui charge GRUB), ainsi que d'autres options spécifiques au périphérique. L'option d'amorçage ponctuel peut ensuite être utilisée pour configurer l'amorçage sur l'entrée de démarrage UEFI pour Windows, puis de nouveau sur GRUB le démarrage. Après avoir paramétré cela, vous redémarrez normalement.