web-dev-qa-db-fra.com

Grub n'affiche pas d'option Windows 8 après le double démarrage

Ainsi, j'ai réussi à double amorcer ma machine Windows 8 avec Ubuntu 12.04. Cependant, je n'ai toujours pas de méthode pratique pour choisir le système d'exploitation à charger au démarrage.

Après l’installation d’Ubuntu, mon ordinateur charge toujours directement Windows 8. J'ai ensuite ajouté grubx64.efi à la liste blanche de mon chargeur de démarrage. Mais après cela, ma machine charge Ubuntu directement sans même que l’ombre de GRUB se montre!

J'ai utilisé boot-repair et j'ai obtenu l'URL paste.ubuntu: paste.ubuntu.com/1326074 . Après avoir exécuté la réparation de démarrage (et ré-répertoriant le fichier grubx64.efi), GRUB apparaît maintenant, mais sans aucune option Windows 8!

Enfin, j'ai exécuté Sudo fdisk -l et cela m'a donné ceci:

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x6396389f

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  1465149167   732574583+  ee  GPT
Partition 1 does not start on physical sector boundary.

Je suppose que mon problème a quelque chose à voir avec l'avertissement de fdisk ci-dessus mais je ne sais pas quoi en faire. Comment puis-je procéder maintenant?

Modifier

Mon etc/default/grub est le suivant:

# 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_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
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"

Aussi, juste pour le compte rendu, c'est ce que j'ai suivi en installant mon dual-boot. Le tutoriel (qui utilise, 11.10, je dois le noter), ne mentionne rien à ce problème. Y a-t-il quelque chose que je n'aurais pas dû faire?

25
skytreader

Tout d’abord, votre sortie fdisk -l n’est pas un problème; qui identifie simplement votre disque comme utilisant le système de partitionnement GUT Partition Table (GPT) . Pour afficher vos partitions, vous devez plutôt utiliser un outil compatible GPT, tel que gdiskou partedname__, plutôt que fdiskname__, qui ne comprend pas GPT.

Deuxièmement, vous pourrez peut-être obliger GRUB à charger en chaîne Windows en ajoutant une entrée appropriée à /etc/grub.d/40_custom, puis en effectuant un Sudo update-grub. Une entrée pourrait ressembler à quelque chose comme ça:

menuentry "Windows 8" {
    set root='(hd0,gpt1)'
    chainloader /EFI/Microsoft/BOOT/bootmgfw.efi
}

Les détails peuvent toutefois dépendre de votre installation.

Troisièmement, si vous considérez que rEFInd est moche, vous pouvez toujours essayer un autre thème rEFInd ou créer le vôtre, comme décrit dans la documentation de rEFInd. Sinon, si vous préférez un chargeur de démarrage en mode texte, vous pouvez: définissez l'option textonlydans refind.conf. Vous pouvez atteindre un but similaire en passant à gummiboot.

Quatrièmement, si rEFInd signale périodiquement des erreurs, notez-les ou prenez une photo de l'écran avec un appareil photo numérique et signalez-la-moi. (Je suis le responsable de rEFInd.) Les bugs ne peuvent pas être corrigés si personne ne les rapporte. ou s'ils ne sont pas des bogues dans rEFInd, les messages peuvent fournir des indices sur la façon de résoudre le problème.

Enfin, il est possible de démarrer Linux via rEFInd (ou gummiboot) sans utiliser GRUB; vous avez juste besoin d'un autre chargeur de démarrage EFI. Ma préférence personnelle est celle du noyau chargeur EFI. du noyau Linux. Cette option est disponible uniquement dans les noyaux 3.3.0 et ultérieurs. Étant donné que Ubuntu 12.04 est livré avec un noyau 3.2.0, vous devez soit trouver un 3.3.0 pré-construit pour Ubuntu 12.04 (j'ai entendu parler de telles choses, mais je n'ai aucun lien à portée de main), soit créer votre posséder du code source. (Vous pouvez également installer Ubuntu 12.10, qui est livré avec un noyau approprié, mais vous souhaitez probablement une version LTS, ce qui risque de ne pas être optimal.) Voir la documentation rEFInd page sur le démarrage de Linux pour plus de détails sur comment mettre cela en place. Vous pouvez également utiliser ELILO ou GRUB Legacy. Si vous vous opposez simplement au délai, vous pouvez réduire la valeur du délai d'attente GRUB 2 et le définir pour ne pas afficher le menu par défaut.

17
Rod Smith

Démarrez Ubuntu avec un CD,
Choisissez "Essayez Ubuntu",
Se connecter à Internet,
Ouvrez une fenêtre de terminal à l'aide de Ctrl-Alt-t puis exécutez: boot-repair

Si boot-repair n'est pas trouvé, installez-le:

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

Cliquez sur Réparation recommandée. Écrivez sur un papier la nouvelle URL qui apparaîtra. Redémarrez le PC, vous devriez obtenir un menu GRUB avec un accès à la fois à Ubuntu et à Windows. En cas de problème, indiquez la nouvelle URL.

8
Scott Stensland

Les deux réponses avec /EFI/Microsoft/Boot/bootmgfw.efi feraient l'affaire. Cependant, j'ai piraté comme un diable pour obtenir les bons paramètres pour set root='(hd0,gpt1)'. Si vous savez c'est très simple

Lorsque GRUB commence: appuyez sur c donnez la commande lsà l'invite.
Vous obtenez une liste de partitions sur des disques durs comme (hd0, gpt1) etc.
Tapez ls(hd0, gpt1) et essayez les autres.
Regardez l'étiquette et si elle indique EFI, vous savez que vous avez un succès.

Attention: il pourrait y avoir plus de partitions étiquetées EFI, selon la manière dont vous avez installé Ubuntu. Essayez-les tous.

7
Jørgen

Essayez d'exécuter Sudo update-grub. Si tout va bien, cela devrait reconnaître Windows 8 automatiquement et l'ajouter au GRUB et reconfigurer le menu.

Si cela échoue, partagez votre fichier /etc/default/grub ici, nous y jetterons un coup d'oeil.

6
Tom Klino
  1. S'il vous plaît télécharger Super Grub et suivez ses instructions. Je ne quitte jamais la maison sans elle. Très utile lorsque le menu de commande ne s'affiche pas.

  2. Vous devrez charger un CD et le démarrer. Suivez simplement les instructions qui l'accompagnent.

  3. Il peut également être utilisé pour réparer les fenêtres. Comme vous ne pouvez démarrer que sous Windows 8, vous voulez choisir le correctif Linux.

Jouez avec cela, mais lisez les instructions. Vous vous sentirez comme un expert après un moment. RS

1
Fox

Ma solution de contournement ultime

(* Parce que Tom n'a pas fonctionné et que le lien de NikTh est trop compliqué. Mais hé, merci de m'avoir dérangé!)

Installez rEFInd .


J'accepte ma propre réponse jusqu'à ce que quelqu'un m'indique une faille possible et une solution ou corrige mes problèmes (qui, malheureusement, ne pose que la question "Comment puis-je mettre Windows 8 dans GRUB facilement ? ").

( Edit 06/08/17: J'ai finalement utilisé rEFInd pour résoudre ce problème (voir la réponse acceptée ci-dessus).)

Loin d’être une solution parfaite, utiliser rEFInd semble être un travail très difficile. D'une part, il a l'air moche (désolé rEFInd) et me dit que l'accès a été refusé sur certains .efi ({ext2_x64, hfs_x64, iso9660_x64, reiserfs_x64} .efi) au démarrage - rien de très critique, et s'en va avec un bouton presse*. Enfin, le choix de Ubuntu efi charge toujours GRUB, ce qui est une étape totalement inutile, du moins puisque je ne me soucierai pas de conserver plusieurs versions du noyau.

En résumé...

Avantages: mon système fonctionne maintenant plus ou moins comme mes dual-boots antérieurs à l'UEFI. Inconvénients: il semble moche, plus un temps de démarrage plus long.

* Je dois noter que ce rEFInd a été installé via install.sh sur ma partition Ubuntu. Les expériences précédentes avec rEFInd (configuration via Windows) n’avaient pas ce problème.

0
skytreader