Ubuntu 12.10 à double démarrage sur UEFI sous Windows 8 (GRUB - erreur: impossible de trouver la commande drivemap)


8

Bonjour après une installation réussie d'Ubuntu 12.10 amd64, je ne parviens plus à démarrer Windows 8.

Voici mes actions:

  1. Espace disponible (15 Go) pour Ubuntu à partir de la gestion des ordinateurs Windows 8
  2. Boot Ubuntu 12.10 amd64 LiveUSB avec EFI et avec Secure Boot activé
  3. Création de 2 nouvelles partitions à la fin (13 Go Ext4 Root et 2 Go Swap)
  4. Partition système Windows 8 EFI sélectionnée pour installer le chargeur de démarrage

Grub me donne au démarrage:

  1. Ubuntu (fonctionne sans problème)
  2. Environnement de récupération Windows (beaucoup d'erreurs)
  3. Windows 8 (2 messages d'erreur décrivent juste en dessous)

Les 2 messages d'erreur sont:

  • error: can't find command drivemap.
  • error: invalid EFI file path

Rectification J'ai sélectionné "la partition système EFI nouvellement créée" pour installer le chargeur de démarrage, mais en réalité, il a installé le chargeur de démarrage sur Windows 8 EFS ...
Kouros

Avez-vous fait une sauvegarde au préalable? c'est-à-dire que la partition de démarrage / système de Windows 8 est quelque chose de petit comme 150-350 Mo alors peut-être que vous l'avez fait dd if=/dev/sda1 of=/media/some_usb_pendrive/backupfile? Si une telle sauvegarde existe, je restaurerais le système Windows / démarrerait la partition qui aurait pu être "endommagée".
humanityANDpeace

Désolé, pas de sauvegarde, mais j'ai réussi à récupérer Windows 8 à l'aide de Recovery Environment (en appuyant sur le bouton d'assistance au lieu du bouton d'alimentation)
Kouros

avez-vous sérieusement reproduit votre propre question? Installez Ubuntu 12.10 sur UEFI sous Windows 8
duxk.gh

REMARQUE: la mise à niveau vers 13.04 a supprimé cette modification dans mon installation.
gcb

Réponses:


6

J'ai trouvé une solution temporaire.

Ajouter une entrée personnalisée au menu de démarrage GRUB

Ajoutez le code ci-dessous à /etc/grub.d/40_custom.

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

Vous pouvez utiliser Ctrl+ Alt+ Tpour ouvrir un terminal et l'exécuter sudo nano /etc/grub.d/40_custom, puis copiez et collez le code. Enfin, appuyez sur Ctrl+ Opour enregistrer et Ctrl+ Xpour quitter.

Attention: hd0,gpt1 voici l'ID de ma partition système EFI (ESP). Si votre ESP n'est pas la première partition de votre premier disque dur au démarrage , alors la vôtre est différente! Par exemple, hd1,gpt2pour la deuxième partition sur le deuxième lecteur.

Remplacez-le part_gptpar part_msdossi le lecteur utilise le partitionnement MBR et hérité et remplacez- hd0,gpt1le hd0,msdos1respectivement.

Appliquer les modifications à GRUB

Exécutez simplement la commande suivante, qui devrait générer une nouvelle configuration GRUB, y compris la nouvelle entrée personnalisée:

sudo update-grub

Maintenant, redémarrez, vous devriez pouvoir démarrer Windows 8 maintenant. Sinon, et Windows se plaint de la configuration BCD corrompue, continuez sur le superutilisateur: Comment puis-je réparer le chargeur de démarrage Windows 8 EFI?


Avertissement: à certaines occasions, si vous démarrez Windows 8, GRUB sera remplacé par le gestionnaire de démarrage Windows comme gestionnaire de démarrage par défaut.


à quoi dois-je «viser»? Je pensais que c'était la partition de données Windows (gpt4 ici) mais cela a fonctionné avec gpt1, qui est la seule partition EFI que j'ai. bien que l'installation d'ubuntu aurait écrasé le contenu Windows de la partition EFI, comme le fait grub sur le MBR ...
gcb

1
Cette solution ne fonctionne pas pour moi. Le personnage `apparaît-il dans l' set root='(hd0,gpt1)'intention? Cela me donne une erreur (j'essaie avec gpt3) même sans ce caractère également. L'erreur est comme (hd0,gpt1)est introuvable.
iammilind

3

Les mauvaises entrées Windows dans GRUB sont dues à ce bogue: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1024383

Solution: exécutez Boot-Repair est Recommended Repaird'un liveCD (ou liveUSB).


1
J'ai dû désactiver "démarrage sécurisé" dans le bios avant que cela ne fonctionne.
Robin Winslow

@RobinWinslow Oui, la réparation de démarrage a également fonctionné pour moi (Lenovo Thinkpad S540) mais seulement si je l'ai désactivé SecureBootdans le BIOS, sinon Windows 8 se plaint toujours ... Ce serait bien si cela pouvait fonctionner tout en conservant SecureBoot
fpghost

0

J'ai trouvé un moyen de fermer Windows 8. Voir /superuser/499923/preinstalled-windows-8-and-linux-uefi-dual-boot-on-a-laptop/528581

Sous W8, dans une fenêtre de commande avec privilèges élevés, exécutez powercfg / h off. Au moment où vous effectuez cette opération, W8 a peut-être déjà remplacé la partition EFI. Il m'a fallu quelques itérations pour changer bootmgfw.efi et le réinitialiser jusqu'à ce qu'il bloque, mais maintenant je suis content.

Je ne peux pas dire si le simple démarrage de W8 est suffisant, ou si vous devez vous connecter puis redémarrer. Peut-être que quelqu'un avec plus de patience (je travaillais là-dessus depuis plus d'une demi-journée) peut le dire.


0

J'ai le même problème sur mon ordinateur portable Asus-x202 (exécutant W8 et Ubuntu 13.04).

Un travail légèrement ennuyeux est assez bon pour moi pour le moment: dans le menu de démarrage, allez dans le système (ou démarrez le bios depuis le début en utilisant probablement f2). Si vous utilisez le remplacement pour démarrer, Windows démarre comme d'habitude.


1
À quoi faites-vous allusion exactement par «le remplacement pour démarrer»? Je ne comprends pas cette partie de votre réponse.
gertvdijk

0

Le "remplacement pour démarrer" est un menu de l'onglet "démarrage" du menu de configuration des cartes mères. Il vous permet de sélectionner et de démarrer instantanément n'importe quel chargeur de démarrage installé sur votre plate-forme.


1
@edwin Cette réponse pourrait utiliser l'expansion, mais elle semble être une tentative de réponse à la question qui a été posée. vic : Bienvenue sur Ask Ubuntu! Je recommande de le modifier pour ajouter plus d'informations sur la façon d'utiliser cette fonctionnalité, ainsi qu'une explication plus approfondie des raisons pour lesquelles il résout ce problème. Merci.
Eliah Kagan

0

J'ai un problème similaire avec mon nouveau Sleekbook HP Pavillion, modèle 15-b142dx. Il est venu avec W8 préchargé. J'ai pu redimensionner la partition Windows à partir de Windows, puis j'ai installé Ubuntu 13.04 64 bits à partir d'une clé USB. Cependant, au redémarrage, W8 a démarré normalement, sans menu de démarrage. J'ai donc utilisé "boot-repair", ce qui a rendu le système non amorçable. Au démarrage, il imprimerait:

Failed to open \EFI\Microsoft\Boot\grubx64.efi - 800000000000000E 
Failed to load grub
Failed to open \EFI\BOOT\grubx64.efi - 800000000000000E
Failed to load grub
Failed to open \EFI\BOOT\grubx64.efi - 800000000000000E
Failed to load grub

Il s'arrêterait alors.

Après quelques essais et erreurs, j'ai découvert qu'en appuyant sur F10 pendant le démarrage, je pouvais accéder au BIOS, où je pouvais désactiver le démarrage sécurisé. Au prochain démarrage, j'ai obtenu un menu LONG de grub, avec beaucoup d'entrées comme:

Windows UEFI bkpbootmgfw.efi
Windows Boot UEFI loader
EFI/HP/BIOSUpdate/CryptRSA32.efi
.
.
.

Ils étaient tous contenus dans un fichier, "/etc/grub.d/25_custom". J'ai fait une copie de sauvegarde de ce fichier, puis éliminé toutes les entrées à l'exception du chargeur UEFI de démarrage Windows. (C'est l'une des entrées qui permet au W8 de démarrer). J'ai ensuite exécuté "update-grub", et je me suis retrouvé avec un menu de démarrage beaucoup plus agréable, et je peux démarrer l'un des systèmes d'exploitation.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.