web-dev-qa-db-fra.com

Windows 10 n'apparaît pas dans GRUB

aujourd'hui, j'ai installé Ubuntu 18.04 sur mon ordinateur portable, je l'ai installé à partir de liveUSB et il est à double démarrage avec Win 10. Lorsque je redémarre mon ordinateur et que grub apparaît, il n'y a pas d'option Win 10. J'ai essayé beaucoup de choses en ligne, réparation de démarrage, j'ai essayé

Sudo update-grub

et

Sudo os-prober

, mais cela ne montre rien du tout. Je fournirai plus de détails lorsque vous en parlerez, mais n'oubliez pas que je suis un débutant en ce qui concerne Ubuntu. Je vous remercie.

Edit: SecureBoot est désactivé (qui est la sortie de la commande mokutil --sb-state), quand je tape

ls /sys/firmware/efi/

ça montre

config_table  efivars  esrt  fw_platform_size  fw_vendor  runtime  runtime-map  systab  vars

Je ne pense pas avoir installé Ubuntu en mode hérité, je l'ai vérifié avant mais je ne sais pas comment le vérifier à nouveau, pour être sûr.

Edit 2: Le résultat d'une commande cat /etc/default/grub est

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

le GRUB_TIMEOUT_STYLE= la ligne a été modifiée par moi, la valeur d'origine est hidden, je modifie pour que le GRUB apparaisse toujours au redémarrage, avant même qu'il n'apparaisse.

2
kihit0mi

Étape 1

Il a été confirmé que l'installation ubuntu de Questioner @ kihit0mi possède EFI boot loader Via la commande suivante:

$ ls /sys/firmware/efi/

Dont la production était:

config_table  efivars  esrt  fw_platform_size  fw_vendor  runtime  runtime-map  systab  vars

Étape 2

La commande suivante n'a donné aucun résultat:

$ Sudo os-prober

étape 3

La commande suivante a été émise pour générer GRUB menu:

$ Sudo update-grub

Le système a été redémarré et une tentative a été effectuée pour atteindre le menu GRUB via la commande shift. Mais il a été observé qu'au lieu d'atteindre GRUB, il s'est retrouvé sur l'écran de connexion d'Ubuntu!

Étape 4

Pour atteindre l'écran de connexion Windows, la seule façon était de passer par l'écran BIOS setup. Le système a été redémarré et a atteint l'écran BIOS setup En appuyant sur la touche del. Il a été observé la présence de three chargeurs de démarrage, répertoriés comme suit:

Ubuntu
Windows Boot Manager and 
EFI PXE.

Après avoir configuré Windows Boot Manager En priorité absolue, Windows-10 a été connecté avec succès!

Étape-5

Connectez-vous à Windows-10. Appuyez sur les touches Windows + R, Tapez msinfo32.exe Dans la boîte de dialogue Run, puis appuyez sur Enter pour ouvrir la fenêtre System Infomation. Dans le volet droit de System Summary, Vous devriez voir la ligne BIOS MODE. Si la valeur de BIOS MODE est Legacy, Windows est démarré en mode legacy. Si la valeur de BIOS MODE est UEFI, Windows est démarré en mode UEFI. Questioner @ kihit0mi a confirmé que la ligne de mode BIOS ne contenait que UEFI. C'était vraiment bien!

Étape-6

Ensuite, le BIOS du micrologiciel a été mis à jour vers la dernière version. Reportez-vous Comment vérifier votre version actuelle du BIOS et la mettre à jour .

La commande suivante a été exécutée à nouveau pour générer GRUB menu:

$ Sudo update-grub

Le système a été redémarré et une tentative a été effectuée pour atteindre GRUB menu Via la commande shift. Il était bon d'observer que cette fois GRUB menu A été atteint avec succès mais la présence de Windows-10 n'a pas été trouvée!

Étape-7

Il a été décidé de mettre un menuentry dans le fichier /etc/grubd./40_custom Qui est capable de générer une entrée Windows dans le menu GRUB. Afin de découvrir le disk et partition correspondant au chargeur de démarrage Windows, il a été redémarré et GRUB a été atteint en appuyant sur la touche 'shift'. La ligne de commande grub > était entré, en appuyant sur c, et la commande suivante a été donnée:

grub > ls

Mais aucune sortie n'a donné. Les chiffres disk et partition pour le chargeur Windows étaient donc supposés être respectivement 0 Et 2 Nécessaires à la préparation de menuentry.

menuentry "Windows" {
    set root=(hd0,2)
    chainloader +1
}

Après avoir créé le menuentry ci-dessus dans le fichier /etc/grubd./40_custom, Exécutez la commande suivante pour rendre le fichier de script 40_custom Exécutable:

$ Sudo chmod +x /etc/grub.d/40_custom

Générez le menu GRUB avec la commande suivante:

$ Sudo update-grub

Le système a été redémarré et GRUB menu A été atteint en appuyant sur la touche shift. Cette fois, un chargeur Windows a été trouvé. Mais en essayant de démarrer, l'erreur suivante a été supprimée:

The EFI file path is incorrect error

Étape-8

Il a été tenté à plusieurs reprises avec diverses entrées de numéros de disque et de partition dans menuentry, mais toutes ont généré le même message d'erreur the EFI file path is incorrect error Après avoir sélectionné le chargeur de démarrage Windows dans GRUB = menu.

Tous ces obstacles se sont produits depuis que l'ordinateur portable de Questioner @ kihit0mi n'a pas répondu à la commande ls de GRUB ligne de commande du menu: grub > ls.

J'ai essayé la même chose dans le menu GRUB de mon bureau avec la commande grub > ls, Ce qui a donné la sortie suivante:

(hd0) (hd0.gpt8) (hd0.gpt7) (hd0.gpt6) (hd0.gpt5) (hd0.gpt4) (hd0.gpt3) (hd0.gpt2) (hd0.gpt1) (hd1) (hd2) (hd2,gpt4) (hd2,gpt3) (hd2,gpt2) (hd2,gpt1) (hd3) (hd3,gpt4) (hd3,gpt3) (hd3,gpt2) (hd3,gpt1)

Comment interpréter la sortie ci-dessus à partir de la commande GRUB ls?

  1. Exécutez la commande suivante pour (hd0):

    grub > ls (hd0)

    Dont la production était:

    Device hd0: No known file system detected - Search size 512 B - Total size 117220824 KiB.
    

    Même si la sortie est affichée comme No known file system Mais elle représente vraiment /dev/sda (Regardez la taille totale). Si vous continuez à sonder comme ls (hd0,gpt8), ls (hd0,gpt7), et ainsi de suite jusqu'à ls (hd0,gpt1), il affichera les partitions correspondant à des périphériques tels que /dev/sda8, /dev/sda7 Et ainsi de suite jusqu'à /dev/sda1

    Le périphérique ci-dessus /dev/sda (SSD 120 Go) contient mon installation Ubuntu qui était affichée comme (hd0) Dans la ligne de commande grub. Les gpt1 À gpt8 Représentent les partitions qui sont efi, swap, /, /usr, /opt, /tmp, /var Et /home Respectivement.

  2. Maintenant, exécutez la commande suivante pour (hd1):

    grub > ls (hd1)

    Dont la production était:

    Device hd1: No known file system detected - Search size 2048 B - Total size 514 KiB.
    
  3. Maintenant, exécutez la commande suivante pour (hd2):

    grub > ls (hd2)

    Dont la production était:

    Device hd2: No known file system detected - Search size 512 B - Total size 976762584 KiB.
    

    Bien que la sortie était No known file system Mais elle représente vraiment /dev/sdb (Regardez la taille totale). Si vous continuez à sonder comme ls (hd2,gpt4), et ainsi de suite jusqu'à ls (hd2,gpt1), il affichera les partitions correspondant à des périphériques tels que /dev/sdb4 Et ainsi de suite jusqu'à /dev/sdb1

    Le périphérique ci-dessus /dev/sdb Est mon 1 TB disque dur avec système de fichiers NTFS qui était affiché comme (hd2) Dans la ligne de commande grub. Le gpt1 à gpt4 représente les partitions NTFS qui sont unknown, CodeWrite, ShareMe et Warehouse respectivement.

  4. Maintenant, exécutez la commande suivante pour (hd3):

    grub > ls (hd3)

    Dont la production était:

    Device hd3: No known file system detected - Search size 512 B - Total size 244198584 KiB.
    

    Bien que la sortie soit affichée comme No known file system Mais elle représente vraiment /dev/sdc (Regardez la taille totale). Si vous continuez à sonder comme ls (hd3,gpt4), et ainsi de suite jusqu'à ls (hd3,gpt1), il affichera les partitions correspondant à des périphériques tels que /dev/sdc4 Et ainsi de suite jusqu'à /dev/sdc1

    Le périphérique ci-dessus /dev/sdc (SSD 250 Go) contient mon installation Windows-10 qui était affichée sous la forme (hd3) Dans la ligne de commande grub. Les gpt1 À gpt4 Représentent les partitions qui sont respectivement EFI, unknown, WindowsOS et WinRE.

Étape-9

Remarque: Questionneur @ Ubuntu de kihit0mi: aucune sortie pour la commande Sudo os-probed. Reportez-vous à l'étape 2 .

Encore une fois, j'ai essayé la commande Sudo os-probed De mon terminal Ubuntu, ce qui a donné la sortie suivante:

/dev/sdc1@/efi/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi

Un indice a été trouvé à partir de la sortie de la commande os-probed Ci-dessus. Afin d'éviter d'utiliser la méthode d'essai et d'erreur pour rechercher les numéros de disque et de partition, la chaîne de recherche suivante a été incorporée dans /etc/grubd./40_custom:

search --set=root --file /efi/Microsoft/Boot/bootmgfw.efi

Remarque: Pour en savoir plus sur la commande search du menu Grub, reportez-vous à ce lien

Le nouveau menuentry est maintenant capable de rechercher automatiquement les numéros de disque et de partition correspondant au chargeur de démarrage EFI Windows-10, comme indiqué ci-dessous:

menuentry "Windows" {
    search --set=root --file /efi/Microsoft/Boot/bootmgfw.efi
    chainloader /efi/Microsoft/Boot/bootmgfw.efi
}

Après avoir créé le menuentry ci-dessus dans le fichier /etc/grubd./40_custom, La commande suivante a été donnée pour générer GRUB:

$ Sudo update-grub

Le système a été redémarré et GRUB menu A été atteint en appuyant sur la touche shift.

Cette fois, le chargeur de démarrage EFI Windows-10 a été sélectionné et démarré avec succès dans le système Windows-10.

Étape-10:

pas encore terminé.

La présence de Questioner @ kihit0mi est requise lors de la session chat afin de terminer la tâche en attente qui est la suppression du chargeur de démarrage extraneous présent dans l'écran de configuration du BIOS.

3
Marmayogi