Ajouter Windows 10 à la liste de GRUB OS

29

J'ai récemment obtenu un ordinateur de l'école. Il est venu avec Windows 8.1 installé. J'ai ensuite installé une autre copie de Windows 8.1 (afin qu'elle utilise la licence Windows Pro intégrée) et l'ai mise à niveau vers Windows 10. J'ai ensuite installé Ubuntu avec Windows 8 et 10.

Notez que j'ai créé une partition ext2 de 255 Mo séparée pour / boot.

Maintenant, lorsque je démarre l'ordinateur, je vois d'abord une invite GRUB (j'ai déjà dévoilé l'invite grub 'car j'aime ça) avec Windows 8 et les options Ubuntu. Cependant, il n'y a pas d'option Windows 10. Si je sélectionne Ubuntu, l'ordinateur démarre dans Ubuntu. Cependant, si je sélectionne l'option Windows 8, je suis ensuite envoyé au chargeur de démarrage Windows, où il me donne ensuite des options pour démarrer Windows 8 ou Windows 10. (Cependant, à ce stade, l'ordinateur a déjà chargé le noyau et tout . Apparemment, Microsoft a mal compris le concept de chargeur de démarrage et a décidé que cela signifiait "démarrer pratiquement tout le système avant de montrer le chargeur de démarrage". Microsoft typique.)

Comment puis-je désactiver le chargeur de démarrage Windows et ajouter une option Windows 10 à GRUB? EDIT: Quelqu'un a répondu en me disant de désactiver le chargeur de démarrage Windows. Cependant, je ne sais toujours pas comment ajouter Windows à la liste GRUB OS. Quelqu'un peut-il m'aider?

EDIT 2: Après avoir supprimé Windows 10 du chargeur de démarrage Windows avec EasyBCD, il semblait qu'après quelques redémarrages, il se dévoilait continuellement et Windows 10 réapparaissait. Cependant, j'ai ensuite supprimé Windows 10 de la liste des systèmes d'exploitation dans msconfig, et il semble être resté supprimé.

Cependant, je n'ai toujours pas réussi à faire apparaître Windows 10 dans GRUB. C'est comme si GRUB ne le détectait tout simplement pas.

De plus, je vais mettre cela dans la question pour que les gens le voient - j'ai essayé d'utiliser boot-repair, cependant, cela n'a PAS aidé.

Hitechcomputergeek
la source
1
@ daltonfury42 Arrêtez de croire si vous n'écoutez pas ou ne comprenez pas quelles sont les exigences de l'OP! Il est trompeur et contre-productif de recommander un outil qui résout principalement les problèmes courants dans les configurations de démarrage héritées typiques, pour les installations UEFI atypiques avec des exigences particulières.
LiveWireBT
2
@LiveWireBT Je suis vraiment désolé. J'ai vu ta réponse. J'ai supprimé mon commentaire (et j'ai cessé de croire: P). Merci!
daltonfury42
1
Je pense que je vais simplement supprimer la partition Windows 10 entière et la déplacer vers une machine virtuelle, de toute façon.
Hitechcomputergeek
Honnêtement, je ne sais pas pourquoi les gens votent toujours pour cela, car à l'OMI, ce n'est pas une grande question. Cependant, cette année, j'ai résolu cela d'une autre manière - en convertissant le MBR en démarrage GPT et UEFI. Fondamentalement, j'ai converti le schéma de partitionnement en GPT, redimensionné la partition Windows, ajouté une partition système EFI et mis rEFInd dessus, et créé un BCD Windows à l'aide d'un disque d'installation Windows. Maintenant, le système démarre à l'aide du démarrage UEFI, ce qui facilite la lecture avec les systèmes d'exploitation. Contrairement à ce que dit Internet, il n'a pas été trop difficile de convertir l'installation de Windows du BIOS en UEFI, mais ce n'était pas facile non plus.
Hitechcomputergeek
1
Pour quiconque à l'avenir veut faire quelque chose comme ça et veut s'en tenir au BIOS - je crois que la réponse réside dans le BCD Windows. Je crois que l'installation de Windows 10 n'a pas de chargeur de démarrage ou de BCD ou quelque chose comme ça, et n'est pas capable de démarrer indépendamment. Si cela est fait correctement, j'ai un pressentiment que GRUB devrait commencer à trouver automatiquement la partition Windows 10.
Hitechcomputergeek

Réponses:

25

Utilisation:

sudo update-grub
sudo grub-install /dev/[BOOT PARTITION eg. Sda6]

commandes dans le terminal d'Ubuntu, cela résoudra probablement votre problème.

Par cette commande, le système détectera automatiquement vos installations Windows et les ajoutera à la liste GRUB.

Neel Shah
la source
2
Cela n'a malheureusement pas fonctionné. Il ne semble pas détecter la partition Windows 10.
Hitechcomputergeek
1
En fait, j'ai eu le même problème avec mon système (Windows 10 et Ubuntu 14.04), et cela a été résolu par ces commandes.
Neel Shah
Quelle commande l'a résolu, le update-grubou grub-install? Et avez-vous une partition séparée / boot? Le fait est que j'ai une partition de démarrage distincte sur je pense que c'est en fait sda6.
Hitechcomputergeek
Faire ces deux commandes (évidemment) ne l'a pas résolu.
Hitechcomputergeek
7
sudo update-grubl'a fait.
thameera
21

Parfois, os-prober a tort.

Regardez l'UUID de votre partition Windows 10, par exemple:

sudo blkid /dev/sda2

Modifiez ensuite /etc/grub.d/40_custom, et à la fin du fichier, ajoutez:

menuentry "Windows 10" --class windows --class os {
   insmod ntfs
   search --no-floppy --set=root --fs-uuid $your_uuid_here$
   ntldr /bootmgr
}

N'oubliez pas de changer l'UUID.

Et enfin mettez à jour votre fichier de configuration grub:

sudo update-grub

La source

noraj
la source
2
Il convient de noter que pour Windows 10, généralement la première partition n'est PAS celle du système Windows (c.-à-d. sdb2 est correct et sdb1 n'est PAS) C'est à cause de la façon dont Windows 10 est stocké sur le disque pendant l'installation, et la partition réservée au système ou la réparation du système est toujours la première). Grub échoue souvent à trouver la deuxième partition si la première sur le disque fournit déjà quelque chose d'amorçable. le moyen le plus simple de trouver l'UUID correct est de trouver la plus grande partition via sudo fdisk -let de la faire correspondre avec le résultat de blkid.
janmyszkier
9

Cette solution fournit une entrée appropriée dans le menu grub2 et charge la chaîne directement dans Windows 10 sans référence au BIOS. Il vient de https://ihaveabackup.net/article/grub2-entry-for-windows-10-uefi donc je ne revendique aucun crédit. Ce fut un tel soulagement de trouver une solution de travail

Brièvement, éditez /etc/grub.d/40_custom et ajoutez:

menuentry 'Windows 10' {
    search --fs-uuid --no-floppy --set=root CC66-4B02
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

Pour trouver l'UUID de la ligne --set = root (CC66-4B02 dans l'exemple), vous utilisez sudo fdisk -l pour identifier la partition EFI puis sudo blkid / dev / sda1 (ou autre) pour trouver l'UUID de la partition EFI . Notez que ce n'est pas la partition Windows mais celle EFI dont vous avez besoin. Une fois que vous avez enregistré la modification, exécutez sudo update-grub pour générer le fichier /boot/grub/menu.cfg, puis redémarrez pour tester.

peterthevicar
la source
Je suppose que la commande sudo / dev / sda1 devrait être sudo blkid / dev / sda1
makapuf
@makapuf - vous avez absolument raison, merci. Corrigée.
peterthevicar
J'ai suivi ce didacticiel exact et j'obtiens "Erreur: partition introuvable" lorsque j'essaie de démarrer l'entrée. Lors du montage de la partition, il semble que "EFI / Microsoft / Boot / bootmgfw.efi" n'existe pas sur cette partition.
Xerus
8

utilisez cette application EasyBCD pour Windows http://neosmart.net/EasyBCD/ téléchargez la version gratuite et installez-la.

lorsque vous l'ouvrez, vous verrez une entrée pour Windows 8 et une pour Windows 10.

supprimez l'entrée de Windows 8 et vous serez prêt à partir.

Mettez à jour après avoir effectué les étapes ci-dessus, revenez à Ubuntu,

ouvrez le terminal en appuyant sur ctrl+ alt+T

puis copiez-y ces commandes l'une après l'autre,

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair

et par cela, vous installerez un outil appelé boot-repair.

ouvrez la réparation de démarrage à partir du tableau de bord et vous obtiendrez cette fenêtre

entrez la description de l'image ici

choisissez la réparation recommandée et suivez les étapes.

Notez que vous devez être connecté à Internet lorsque vous utilisez la réparation de démarrage.

RonnieDroid
la source
1
@Hitechcomputergeek si vous avez besoin de plus d'aide, faites-moi savoir que je vais démarrer sur Windows et vous faire des captures d'écran.
RonnieDroid
Est-ce que cela ajoute Windows 10 à GRUB? (Laissez-moi deviner: non) Je veux pouvoir accéder aux trois systèmes d'exploitation à partir de GRUB, et cela ne résout qu'une partie du problème.
Hitechcomputergeek
J'ai mis à jour la question pour demander comment ajouter Windows 10 à la liste GRUB OS. J'ai voté pour votre réponse car elle a résolu une partie du problème, mais comme je dois encore ajouter Windows 10 à GRUB, je n'accepte pas encore la réponse.
Hitechcomputergeek
2
De plus, j'ai remarqué que vous disiez d'ouvrir Boot Repair depuis le tableau de bord, mais la ligne l' sudo apt-get install -y boot-repair && boot-repairaurait déjà ouvert.
Hitechcomputergeek
1
Vous pouvez également utiliser cet outil en iso "mode de test d'ubuntu (mode live cd)" où vous pouvez l'installer, l'exécuter et l'utiliser après vous être connecté à Internet ou à votre femme.
Alamjit Singh
4

Pour autant que j'ai compris votre question, vous avez deux installations Windows différentes sur un ou plusieurs disques durs et vous ne voulez pas que le chargeur Windows vous gêne ou gère les deux installations Windows. Je me souviens qu'il était possible sur les configurations héritées de démarrer directement le noyau Windows à partir de Grub (je peux me tromper ici) mais je n'ai pas pu le faire sur les configurations UEFI. Avoir deux configurations indépendantes de chargeur de démarrage Windows qui peuvent être appelées depuis Grub indépendamment devrait être très proche de ce que vous recherchez.

Il est venu avec Windows 8.1 installé.

Je vais supposer qu'il s'agit d'un ordinateur compatible UEFI.

  1. Veuillez vérifier que l'ordinateur est réellement compatible UEFI (je supprimerai ma réponse si ce n'est pas le cas) et familiarisez-vous avec les différences entre le BIOS et l'UEFI ( différents modes de démarrage , efibootmgr, différentes tables de partition, partition système EFI (ESP), chargeurs EFI …).
  2. Vérifiez ensuite que tous les systèmes d'exploitation sont installés en mode UEFI et vérifiez que vous disposez d'une table de partition GPT. Vous pouvez utiliser Windows dismpour sauvegarder et restaurer des partitions dans une nouvelle disposition de table de partition et utiliser l'invite de commande du dernier support d'installation Windows pour réinstaller le chargeur de démarrage, plus de détails à ce sujet au point suivant.
    • Comme il vous a été recommandé d'essayer divers autres outils qui ne résolvent pas votre problème, vous devez rétablir ces modifications dans un état vierge, sinon cela deviendra de plus en plus déroutant. Désolé pour ça. :(
  3. Vous pouvez utiliser ma réponse de Comment démarrer Windows 8 à partir d'une partition MBR héritée en mode UEFI via GRUB?
    • Cette réponse installe une configuration indépendante du chargeur de démarrage Windows bcdbootdans un emplacement différent où Grub l'appellera. Pour plus de commodité, j'ai choisi la partition racine Windows. Vous devrez le faire pour chaque installation de Windows, afin que chaque installation de Windows ait la sienne et ne démarre que d'elle-même (nettoyez les menus de démarrage Windows individuels des autres entrées).
    • N'oubliez pas que vous devez créer une entrée individuelle pour chaque installation de Windows dans laquelle vous souhaitez démarrer /etc/grub.d/40_customet suivre les instructions et les explications concernant les UUID, les partitions et les tables de partition.
    • Désactivez probablement toutes les fonctionnalités semi-intelligentes qui détectent différents systèmes d'exploitation comme OS-prober dans Grub ( GRUB_DISABLE_OS_PROBER) ou dépannez les problèmes de démarrage avec Windows ou la réparation de démarrage (ou nettoyez manuellement après eux).

NB: Votre demande était de pouvoir gérer tous les OS avec Grub, cependant avec UEFI, le terme traditionnel "dualboot" devient presque un terme impropre. UEFI permet la coexistence de plusieurs chargeurs de démarrage sur l'ESP et vous pouvez choisir lequel démarrer (s'ils ont été enregistrés dans le micrologiciel UEFI et que le micrologiciel du fabricant ne respecte pas les spécifications avec condescendance, comme le démarrage de Windows uniquement). Ce qui est triste ici, c'est que très peu de gens peuvent penser à installer plus d'une version (indépendante) de Windows , Linux ou une version d'Ubuntu sur un ordinateur(ou un disque dur utilisé avec plusieurs ordinateurs et démarre une installation différente de la même version de système d'exploitation sur chaque ordinateur). La plupart de cela est déjà possible, mais les mécanismes de Windows et Ubuntu (Fedora,…) choisissent clairement d'écraser ce qui se trouve dans leur espace de noms sous l'hypothèse fausse qu'il ne peut y en avoir qu'un.

(Je démarre Windows8 / 10, Ubuntu, Ubuntu LTS et Fedora sur un ordinateur et j'ai bricolé à quelques reprises avec le démarrage UEFI selon différentes exigences.)

LiveWireBT
la source
1
Je n'utilise pas Windows. Mais quelqu'un a-t-il essayé de copier / EFI / Windows vers / EFI / Windows10 et / ou / EFI / Windows8 et d'éditer chaque BCD uniquement pour cette version? Et puis, dans UEFI, créez des ententes pour chacun. Si cela fonctionne à partir d'UEFI, grub peut se connecter directement à chacun.
oldfred
@oldfred C'est en quelque sorte ce que je voulais souligner dans la section inférieure et il peut même y avoir un paramètre pour bcdbootspécifier un autre répertoire cible, mais je ne suis pas sûr. Le chargement en chaîne des autres fichiers binaires EFI à partir d'un seul ESP simplifie considérablement le processus 40_customet le rend moins sujet aux erreurs, vous avez raison. Je pense que l'accent était trop mis sur les scénarios multi-disques durs (dans ce cas, vous devriez toujours pouvoir dire à bcdboot de démarrer Windows sur hdd2 à partir d'ESP sur hdd1, je pense). m (
LiveWireBT
L'ordinateur est compatible UEFI, mais je n'ai honnêtement aucune idée que wtf est en place avec les partitions en ce moment. L'école avait une image personnalisée de Windows 8 installée, et bien qu'elle utilisait UEFI et Secure Boot (je crois que le BIOS est configuré pour autoriser à la fois UEFI et le démarrage hérité en ce moment; je me souviens avoir désactivé Secure Boot), le disque dur lui-même est formaté en utilisant MBR. Ici, ayez une capture d'écran: imgur.com/1vDS4jf (Ouais, je prévois de redimensionner un tas de partitions bientôt.) De plus, Ubuntu lui-même (de grepping dmesg) ne semble pas avoir été démarré en mode EFI, mais Je ne sais pas si GRUB lui-même le peut
Hitechcomputergeek
@Hitechcomputergeek La capture d'écran montre une table de partition msdos / MBR avec une partition étendue et aucune partition EFI. Comme je l'ai dit plus tôt, vous devriez avoir GPT et vous pouvez l'utiliser dismpour les partitions Windows.
LiveWireBT
être démarré en tant qu'UEFI, mais ensuite démarrer d'autres systèmes d'exploitation en tant que non-UEFI ou quelque chose. UEFI prête à confusion. EDIT: GRUB n'est pas démarré en tant qu'UEFI. Je n'ai aucune idée de ce qui s'est passé avec le Windows d'origine. En fait, à bien y penser, je suppose qu'il est possible que ce n'était PAS UEFI en premier lieu. J'ai supposé que c'était parce qu'il était fondamentalement impossible d'accéder au BIOS à cause de l'hibernation de Windows 8, à moins que vous ne l'ayez d'abord démarré, puis que vous ayez appuyé sur "Redémarrer", PUIS essayé d'accéder au BIOS. Je n'ai pas eu besoin de recommencer depuis l'installation d'Ubuntu (et GRUB).
Hitechcomputergeek
2

Connectez-vous simplement à votre système d'exploitation Ubuntu, ouvrez un terminal:

sudo update-grub

redémarrer

Nidhan
la source