Est-il possible de «retourner» à GRUB après avoir démarré Linux sans redémarrer

21

Je démarre Windows et Linux en double démarrage sur mon SSD et je me retrouve souvent à basculer entre les deux systèmes d'exploitation. Le SSD est vraiment rapide et les deux OS démarrent en 3 secondes environ une fois sélectionnés dans GRUB. Cependant, il faut une éternité (environ 30 secondes) pour que mon BIOS, RAID et mon deuxième contrôleur SATA s'initialisent avant d'être enfin dans GRUB.

Je me demandais donc s'il était possible d'ignorer ces initialisations et de simplement "revenir" à GRUB une fois que j'aurais démarré Linux. Idéalement, je pourrais également faire la même chose depuis Windows mais mon espoir n'est pas très élevé là-bas :)

J'ai fait une petite recherche en ligne et je n'ai rien trouvé d'autre qu'un chargeur Linux quelque peu dépassé - loadlin.exe, que l'on pourrait exécuter à partir de Dos ou de Windows 95/98 pour démarrer Linux. Donc, au moins, le concept de changement de système d'exploitation sans redémarrage n'est pas nouveau. Quelqu'un connaît un outil actuel qui fait cela?

Sinon, y a-t-il un problème technique qui nous empêche d'écrire un tel programme ou la demande est-elle tout simplement insuffisante?

MISE À JOUR: Un de mes amis vient de me parler de Kexec . En utilisant cela, il semble possible de démarrer un autre noyau Linux à partir d'un noyau en cours d'exécution, mais est-il possible de revenir à GRUB ou de démarrer une installation de Windows directement?

Dimitar Asenov
la source
4
Question interessante. L'une des raisons pour lesquelles je peux penser car il n'y a pas beaucoup d'intérêt pour cela est que les machines virtuelles se sont améliorées récemment. La plupart des gens exécutent simplement leur système d'exploitation secondaire dans une machine virtuelle sur leur système d'exploitation principal au lieu d'un double démarrage.
Noufal Ibrahim
J'envisageais également d'utiliser une machine virtuelle, mais j'ai besoin de performances graphiques rapides et jusqu'à présent, les machines virtuelles ne fournissent pas de performances satisfaisantes. Peut-être que les choses vont changer maintenant que Xen (et bientôt d'autres) a une option de relais complète pour les cartes graphiques. Néanmoins, il serait toujours intéressant de voir s'il existe un moyen de basculer rapidement. En ce qui concerne le deuxième commentaire, je ne connaissais pas unix.stackexchange.com. Je vais certainement jeter un œil et peut-être poster là-bas si je n'obtiens pas de réponse en premier. Merci pour la suggestion.
1
30 secondes ? je pense que sur un serveur ibm c'est comme 5 minutes.
Sirex
1
Cela devrait être possible avec les chargeurs de démarrage EFI (aucune idée de comment). Un peu plus difficile avec les MBR, car ils s'attendent à être démarrés en mode réel 16 bits et à tout configurer eux-mêmes, ce qui pourrait ne pas être possible une fois le système initialisé.
grawity
@Sirex: Mais qui double les serveurs IBM? :)
grawity

Réponses:

6

En utilisant kexec, vous pouvez résoudre le problème. Il n'est pas nécessaire d'impliquer GRUB. Vous pouvez utiliser kexec-loader pour démarrer directement dans différents systèmes d'exploitation à partir de Linux. (Assurez-vous que le support kexec est compilé dans votre noyau.)

Fabel
la source
1
Pour autant que je sache, le kexec_load()syscall est uniquement destiné au chargement d'un noyau Linux. L'outil kexec-loader que vous avez lié semble également ne prendre en charge que les noyaux Linux. --- Il est possible de démarrer par exemple memtest86 mais je n'ai jamais vu que quiconque a démarré Windows directement en utilisant le mécanisme kexec mais il est possible via GRUB : Comment démarrer directement dans Windows à partir de kexec + Grub4DOS .
pabouk
2

Vérifiez si vous avez un support UEFI. Cela peut considérablement améliorer la vitesse de démarrage.

Milind R
la source
Cela ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire sous son article.
Jawa
1
@Jawa l'OP a un problème parce que son POST prend un temps inacceptable. L'UEFI coupe définitivement cette fois: le but même de sa création.
Milind R
2
Deux choses ici: 1) La question n'est pas "comment puis-je démarrer plus rapidement" mais "comment puis-je retourner à GRUB après le démarrage?" 2) Les réponses d'une ligne sont probablement les meilleures en tant que commentaires.
Kevin Panko
Merci pour la suggestion. Depuis que j'ai posté la question d'origine, j'ai changé la configuration de mon disque dur et tout à l'heure, j'ai optimisé certains paramètres dans le bios pour améliorer les temps de démarrage. En substance, je pouvais désactiver les choses liées au RAID (dont je n'ai plus besoin) et également activer le démarrage EFI. L'effet global est un démarrage beaucoup plus rapide. Néanmoins, la question d'origine est toujours intéressante pour moi et jusqu'à présent je n'ai pas trouvé de solution fiable.
Dimitar Asenov
1

Bref, pas avec la façon dont les choses fonctionnent maintenant. Une meilleure approche peut être de trouver pourquoi votre contrôleur BIOS / RAID / SATA prend autant de temps. Il peut y avoir des mises à jour du BIOS disponibles, et éventuellement des mises à jour du firmware pour le contrôleur RAID.

Zeroedout
la source
Une des raisons possibles d'un POST lent est que votre contrôleur de disque dur est configuré pour détecter automatiquement les disques inexistants dans le BIOS. Si vous avez un seul disque dur et un seul CD / DVD, il est inutile d'essayer de détecter automatiquement les 2 (ou 4) autres emplacements, ces tests doivent expirer et peuvent prendre un certain temps.
Haqa
1

Non. À moins que votre BIOS n'ait une option de configuration spécifique pour ignorer le POST lors d'un redémarrage (je l'ai vu une fois), cela n'existe pas depuis Windows 98 / ME (l'astuce de redémarrage rapide qui n'a vraiment rechargé que Windows.)

Peut-être que quelqu'un avec suffisamment de temps de piratage de démarrage pourrait reproduire cela et recharger GRUB, mais cela devrait changer la façon dont INIT redémarre le système.

Nakarti
la source
0

Si vous ne trouvez pas les mises à jour suggérées par Zeroedout, vous souhaiterez peut-être exécuter votre système hôte sur des machines virtuelles, donc le redémarrage est presque gratuit.

De plus, certains systèmes ont un mode de démarrage rapide / rapide où certaines vérifications sont omises. Vous voudrez peut-être vérifier cela.

billc.cn
la source