Lien pour redémarrer de Windows vers Ubuntu

10

J'ai un système à double démarrage standard: Ubuntu et Windows. Grub est configuré pour lancer Windows par défaut.

Existe-t-il un moyen de créer une sorte de lien dans Windows, qui:

  1. redémarrer Windows
  2. démarrer dans Ubuntu
Dmitriy Berkutov
la source
Le doute existe
Tim
1
C'est possible, mais pas de manière simple .... Je ne connais pas les capacités de ceci: sourceforge.net/projects/grub2win/files essayez-le si vous voulez ou de.mcbf.net/david/grubchoosedefault et vous en aurez 100 % ont besoin de ce ext2fsd.com . Vous pouvez également lire ce linuxquestions.org/questions/linux-software-2/…
RiddleMeThis
1
@Tim où est il y a un testament (ou des tonnes d'argent) il y a un moyen: D
Wilf

Réponses:

8

Vous n'avez pas besoin de modifier /boot/grub/grub.cfgcomme l'a suggéré Michal Hagara. Cela pourrait casser Ubuntu si vous installez un nouveau noyau et ne mettez pas à jour le e:\home\user\Grubshift\ubuntudefault\grub.cfg.

Il vous suffit de créer / copier un fichier /boot/grub/grubenvavec le contenu suivant

# GRUB Environment Block
next_entry=2
###########################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################

Où se next_entrytrouve la ligne de l'entrée de menu grub suivante qui doit être démarrée la prochaine fois (à partir de zéro). Ce next_entry=2serait la 3ème ligne.

Grub supprimera automatiquement la valeur après le démarrage, donc la prochaine fois que vous redémarrerez dans votre système d'exploitation par défaut.

Voilà comment ça grub-rebootmarche.

Germar
la source
C'est une solution beaucoup plus pratique, merci!
Dmitriy Berkutov
Je ne savais pas à propos de cette fonctionnalité:) ... Comme vous pouvez le voir, j'ai souligné que jouer avec grub.cfg n'est pas le plus sage ...
RiddleMeThis
êtes-vous sûr que 987 fois '#' est requis? Je pense que 462 fois est suffisant :-D
Jounathaen
2

Voici ce que j'ai en tête:

  • http://www.ext2fsd.com/ (il devrait être capable d'écrire sur la partition EXT, de "monter" et d'attribuer une lettre au démarrage)
  • alors je préparerais un fichier GRUB modifié, où Ubuntu est défini comme système d'exploitation par défaut (celui-ci serait également stocké sur la partition Linux)
  • Script Windows BATCH (exécuté par le raccourci souhaité) qui:
    1. Sauvegarde OLD GRUB (Windows par défaut)
    2. copier GRUB modifié (par défaut est Ubuntu) sur OLD one (par défaut est Windows)
    3. Redémarrez le PC
  • Script Linux BASH qui modifierait et mettrait à jour GRUB au démarrage (ou redémarrage) pour redéfinir Windows comme système d'exploitation par défaut

Je peux me tromper complètement avec cette approche, mais je ne vois pas pourquoi cela ne devrait pas fonctionner.

ÉDITER:

Et il y a aussi: http://www.paragon-drivers.com/extfs-windows/ que je n'ai jamais essayé.


LE PROGRÈS

1. raccourci pour redémarrer Windows et démarrer Ubuntu

OK, l'inconvénient est que nous devrons modifier grub.cfg (/boot/grub/grub.cfg) directement (il est déconseillé - https://askubuntu.com/a/437341/402801 ), car il y a aucun moyen de fonctionner à update-grubpartir de Windows ... si vous pouvez vivre avec cette lecture plus loin.

  • Comme je l'ai déjà mentionné, installez Ext2Fsd , faites-le monter automatiquement et attribuez une lettre au démarrage
  • J'ai créé mon "dossier de sauvegarde" /home/user/Grubshiftavec 3 sous-répertoires: sauvegarde (pour sauvegarder le /boot/grub/grub.cfg), ubuntudefault (pour stocker grub.cfg avec Ubuntu par défaut), windowsdefault (vous avez le idée)

Après l'installation, Ubuntu est défini par défaut, copiez-le grub.cfgdans le répertoire souhaité. J'ai la configuration "Windows par défaut" en modifiant GRUB via grub-customizer (c'est plus sûr à mon avis), après cela copiez Windows grub.cfgdans le répertoire souhaité

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 copycommande, supprime l'invite pour confirmer que vous souhaitez écraser un fichier de destination existant

/r /t 0 - options d'arrêt, 1. signifie redémarrage, 2. signifie immédiatement, sans messages laids

Modifiez le chemin en conséquence !!!

  • Enregistrez ce fichier (j'ai utilisé UTF-8) et changez l'extension en *.bat
  • Créer un raccourci sur le bureau pour shift.bat, cliquez avec le bouton droit sur shorctur -> propriétés -> onglet de raccourci -> Exécuter: minimisé (cela supprimera le pop-up CMD)

J'ai essayé cela au moins 8 fois, en définissant Windows par défaut avec grub-customizer...

Je ne dis pas que c'est sûr, mais HEY !, nous jouons avec le chargeur de démarrage ... ce n'est pas sûr

Quand il fonctionne pleinement, nous pouvons nous débarrasser complètement du menu GRUB, car il démarrera toujours dans le bon système d'exploitation ...

RiddleMeThis
la source
La logique semble bonne, malheureusement ext2fsd ne prend pas totalement en charge ext4.
Dmitriy Berkutov
1
De plus, si le script est en panne (comme si Windows le ferait jamais :) l'ordinateur ne démarre pas - bonne idée cependant. Un bon exemple est si le script Linux s'exécute au démarrage, mais que l'ordinateur est arrêté pendant le démarrage et l'exécution du script, alors ....
Wilf
0

Voici comment j'ai installé ma configuration:

Pour résumer: le système redémarre par défaut jusqu'à la dernière activité, redémarre de Windows vers Linux et vice versa en utilisant un simple script.

Configurez grub pour toujours démarrer en dernier sélectionné:

Sous Linux:

  • entrez GRUB_DEFAULT=savedet GRUB_SAVEDEFAULT=truedans / etc / default / grub
  • mettre à jour la configuration en utilisant sudo update-grub

Installer le pilote extfs Paragons

voir http://www.paragon-drivers.com/extfs-windows/

Créez des scripts de redémarrage:

Si / boot / grub / grubenv n'existe pas, créez-le en utilisant la réponse de Germar

Fichier batch pour redémarrer de Windows vers Linux:

@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
  • remplacer /mount disk1 L:par quelque chose de spécifique à votre système. Vous pouvez trouver les disques disponibles à l'aide de la extmounter /listcommande et de la lettre de lecteur. Aussi, L:ne doit pas être déjà pris.
  • enregistrez-le par exemple reboot-linux.bat
  • vous pouvez cliquer avec le bouton droit sur la chauve-souris et sélectionner run as administratorpour l'exécuter

Script shell pour redémarrer de Linux vers Windows:

sudo sed -i -e '/next_entry/c\next_entry=2' /boot/grub/grubenv
sudo reboot
  • remplacez-la next_entry=2par votre entrée Windows.
  • enregistrez-le par exemple ~/reboot_windowset marquez comme exécutable:chmod +x ~/reboot_windows
dominik andreas
la source