J'ai un système standard à double démarrage: Ubuntu et Windows. Grub est configuré pour lancer Windows par défaut.
Existe-t-il un moyen de créer un type de lien dans Windows qui:
Vous n'avez pas besoin de modifier /boot/grub/grub.cfg
comme suggéré par Michal Hagara. Cela pourrait endommager Ubuntu si vous installez un nouveau noyau et ne mettez pas à jour le e:\home\user\Grubshift\ubuntudefault\grub.cfg
.
Tout ce que vous avez à faire est de créer/copier un fichier /boot/grub/grubenv
avec le contenu suivant
# GRUB Environment Block
next_entry=2
###########################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
Où next_entry
est la ligne de la prochaine entrée du menu grub qui doit être démarrée la prochaine fois (à partir de zéro). Donc, next_entry=2
serait la 3ème ligne.
Grub supprimera automatiquement la valeur après le démarrage afin que vous redémarriez votre système d'exploitation par défaut la prochaine fois.
Voici comment fonctionne grub-reboot
.
Voici ce que j'ai en tête:
Je peux me tromper complètement avec cette approche, mais je ne vois pas pourquoi cela ne fonctionnerait pas.
EDIT:
Et aussi il y a: http://www.paragon-drivers.com/extfs-windows/ que je n'ai jamais essayé.
1.Raccourci pour redémarrer Windows et démarrer Ubuntu
OK, il faut modifier grub.cfg (/boot/grub/grub.cfg) directement (il est déconseillé - https://askubuntu.com/a/437341/402801) , car il n’existe aucun moyen d’exécuter update-grub
à partir de Windows ... si vous pouvez continuer à lire avec cette lecture.
/home/user/Grubshift
avec 3 sous-répertoires: backup (pour sauvegarder le fichier /boot/grub/grub.cfg actuel), ubuntudefault (pour stocker grub.cfg avec Ubuntu par défaut), windowsdefault ( tu as l'idée) Après l'installation, Ubuntu est défini par défaut. Copiez donc ce grub.cfg
dans le répertoire de votre choix. J'ai la configuration "Windows par défaut" en modifiant GRUB via grub-customizer (c'est plus sûr, à mon avis), après avoir copié Windows grub.cfg
dans le répertoire de votre choix
Après cela, ouvrez le bloc-notes et insérez:
copy e:\boot\grub\grub.cfg /y e:\home\user\Grubshift\backup
copy e:\home\user\Grubshift\ubuntudefault\grub.cfg /y e:\boot\grub
shutdown /r /t 0
/y
- option de la commande copy
, supprime l'invite pour confirmer que vous souhaitez écraser un fichier de destination existant
/r /t 0
- options d'arrêt, 1. signifie reboot, 2. signifie immédiatement, sans messages laids
Modifiez le chemin en conséquence !!!
*.bat
shift.bat
, cliquez avec le bouton droit de la souris sur shorctur -> propriétés -> onglet de raccourci -> Exécuter: réduit (ce qui éliminera CMD qui apparaît). J'ai essayé ceci au moins 8 fois, en configurant Windows par défaut avec grub-customizer
...
Je ne dis pas que c'est sans danger, mais HEY !, nous gérons le chargeur de démarrage ... ce n'est pas sûr
Quand cela fonctionne complètement, nous pouvons nous débarrasser complètement du menu GRUB, car il démarrera toujours dans le bon système d'exploitation ...
Pour résumer: le système redémarre par défaut jusqu'au dernier actif, redémarre de Windows vers Linux et inversement à l'aide d'un simple script.
Sous linux:
GRUB_DEFAULT=saved
and GRUB_SAVEDEFAULT=true
dans/etc/default/grubSudo update-grub
voir http://www.paragon-drivers.com/extfs-windows/
Si/boot/grub/grubenv n'existe pas, créez-le en utilisant le réponse de Germar
@echo off
"C:\Program Files (x86)\Paragon Software\ExtFS for Windows\extmounter" /mount disk1 L:
:CheckForFile
IF EXIST "L:\boot\grub\grubenv" GOTO FoundIt
GOTO CheckForFile
:FoundIt
sed -i -e '/next_entry/c\next_entry=0' L:/boot/grub/grubenv
"C:\Program Files (x86)\Paragon Software\ExtFS for Windows\extmounter" /umount disk1 L:
echo press enter to reboot
pause
shutdown -r -t 00
/mount disk1 L:
par quelque chose de spécifique à votre système. Vous pouvez trouver les disques disponibles à l'aide de la commande extmounter /list
et de la lettre de lecteur. De plus, L:
ne doit pas déjà être pris.reboot-linux.bat
run as administrator
pour l'exécuterSudo sed -i -e '/next_entry/c\next_entry=2' /boot/grub/grubenv
Sudo reboot
next_entry=2
par quelque soit votre entrée Windows.~/reboot_windows
et marquer comme exécutable: chmod +x ~/reboot_windows