web-dev-qa-db-fra.com

efibootmgr ne correspond pas à ce qui est vraiment utilisé sur MacBook Air

Je suis sur un MacBookAir5,2 (2012) et j'exécute Ubuntu avec Mac OS X depuis un certain temps. J'ai utilisé rEFIt lors de la première installation d'Ubuntu et cela a bien fonctionné.

Lorsque j'ai commencé à travailler avec Docker, j'ai dépassé l'espace disque disponible et j'ai décidé d'obtenir un nouveau lecteur SSD. Je l'ai fait, j'ai échangé les disques et installé Ubuntu 14.10.

Après ce point, j'ai tripoté rEFInd (car rEFIt n'est pas maintenu) et j'ai lu beaucoup de pages de Rod Smith

Cependant, maintenant je ne veux qu'Ubuntu et ne démarre plus rien sur cette machine. Mais d'une certaine manière, ce que je pense que je dis à efibootmgr de faire, ce ne sera pas le cas. Le problème est que rEFInd n'est pas exécuté après le démarrage. La seule façon de démarrer mon système consiste à appuyer sur la touche alt au démarrage et à sélectionner rEFInd sur une clé USB. Cela fonctionne très bien cependant, aucun problème avec cette approche - c'est juste un peu gênant. :-)

Si je démarre sans la clé USB attachée, tout ce que j'obtiens est l'écran gris sans rien s'afficher. Il reste gris "pour toujours" (je n'ai pas attendu bien plus longtemps que 20 minutes).

Mon SSD contient quatre partitions:

 GPT fdisk (gdisk) version 0.8.8 
 
 Analyse de la table de partition: 
 MBR: hybride 
 BSD: non présent 
 APM: non présent 
 GPT: présent 
 
 GPT valide trouvé avec MBR hybride; en utilisant GPT. 
 Disque/dev/sda: 937703088 secteurs, 447,1 Gio 
 Taille de secteur logique: 512 octets 
 Identificateur de disque (GUID): B30ED5AD-A6B6-4FF9-9CC4-1F440536FB9F 
 La table des partitions peut contenir jusqu'à 128 entrées 
 Le premier secteur utilisable est 34, le dernier secteur utilisable est 937703054 
 Les partitions seront alignées sur les limites de 8 secteurs 
 Espace libre total est 264949 secteurs (129,4 Mio) 
 
 Numéro Début (secteur) Fin (secteur) Taille Code Nom 
 1 40 409639 200,0 Mio EF00 EFI Partition du système EFI 
 2 409640 195722143 93,1 GiB AF00 Macintosh HD 
 3 195985408 921180159 345,8 GiB EF00 LINUX 
 4 921180160 937701375 7,9 GiB 0700 SWAP 

et j'ai en fait effacé tous les fichiers dans le ESP comme mesure pour réduire le problème. Ce que j'ai maintenant, c'est efibootmgr rapports:

BootCurrent: 0000
Timeout: 5 seconds
BootOrder: 0000
Boot0000* rEFInd Boot Manager   HD(1,28,64000,7fa6ae3f-d9a7-4411-838a-1d0133b9993a)File(\EFI\refind\refind_x64.efi)
BootFFFF*   ACPI(a0341d0,0)PCI(1f,2)SATA(0,0,0)HD(2,64028,e066090,00007690-046d-0000-175e-0000ca5e0000)File(\System\Library\CoreServices\boot.efi)

et

 root @ fredrik-mbair: ~ # arbre/boot/efi/| grep -v png 
/boot/efi /
 └── EFI 
 ├── refind 
 │ ├── icônes 
 │ ├─ ─ touches 
 │ │ ├── altlinux.cer 
 │ │ ├── canonical-uefi-ca.der 
 │ │ ├── Fedora-ca.cer 
 │ │ ├── openSUSE-UEFI-CA-Certificate.cer 
 │ │ ├── refind.cer 
 │ │ └── SLES-UEFI-CA-Certificate.cer 
 │ ├── refind.conf 
 │ └── refind_x64.efi 
 └── outils 
 
 5 répertoires, 68 fichiers 

La dernière information est la suivante: lorsque je démarre avec une clé USB détachée et appuie sur alt, j'obtiens une (1) icône de disque dur avec le texte Windows en dessous. Si je sélectionne celui-là, l'écran s'éteint et j'obtiens un curseur blanc clignotant (caractère souligné) dans le coin supérieur gauche de l'écran, comme des lignes 80x25 ou une console similaire. Rien ne se passe après ça. L'option "rEFInd Boot Manager" n'apparaît pas.

Je n'ai aucune idée d'où vient l'option "Windows", et je ne sais pas non plus quelle est l'option FFFF.

root@fredrik-mbair:~# efibootmgr -b FFFF -B
invalid hex value FFFF

Comme je n'utiliserai rien d'autre qu'un seul système d'exploitation Ubuntu et un noyau Linux, je serais d'accord avec gummiboot mais je ne sais pas comment cela va aider lorsque efibootmgr ne peut pas exécuter rEFInd au démarrage ...

Dernière tentative d'exécution install.sh (installé à partir de PPA) donne cette sortie:

 root @ fredrik-mbair: ~ # /usr/share/refind/install.sh 
 Installation de rEFInd sous Linux .... 
 ESP a été trouvé dans/boot/efi en utilisant vfat 
 Installation de rEFInd trouvée dans/boot/efi/EFI/refind; 
 Fichiers binaires rEFInd copiés 
 
 Remarque: Sauvegarde du répertoire d'icônes existant en tant que sauvegarde d'icônes. 
 Fichier refind.conf existant trouvé; copie du fichier d'exemple sous refind.conf-sample 
 pour éviter d'écraser vos personnalisations. 
 
 rEFInd a été défini comme gestionnaire de démarrage par défaut. 
 Existant // boot/refind_linux.conf trouvé; pas d'écrasement. 
 
 L'installation s'est terminée avec succès. 

Je ne sais pas où aller ensuite.

1
Fredrik Wendt

Voici donc ce que j'ai fait pour arriver quelque part:

La première tentative était la suivante:

  • tout supprimer sous/boot/efi
  • effacer le MBR hybride (en utilisant gdisk, menu expert, puis n puis w)
  • /usr/share/refind/install.sh
  • efibootmgr -c -l \\EFI\\refind\\... -L TIRED

En fait, cela a permis à rEFInd de fonctionner après le redémarrage. Cependant, il n'a pas détecté le vmlinuz-3.16.0-28-generic.efi.signed noyau que je veux exécuter. Il a montré des options et les deux conduisent à No bootable device dans une console 80x25.

Aha, j'ai donc essayé de relancer le install.sh script avec --alldrivers. Après un redémarrage, je reviens à l'écran gris qui ne montre jamais rien.

Redémarré, est allé chercher rEFInd à partir de ma clé USB, puis:

  • anéanti le /boot/efi cloison
  • tout copié de la clé USB sur /boot/efi
  • créé une nouvelle entrée (en supprimant l'ancienne) avec efibootmgr

Et comment j'ai un système qui fonctionne.

Détails:

 root @ fredrik-mbair: ~ # gdisk -l /dev/sda[.____.[GPT fdisk (gdisk) version 0.8.8 
 
 Analyse de la table de partition: 
 MBR: protecteur 
 BSD: absent 
 APM: absent 
 GPT: présent 
 
 GPT valide trouvé avec MBR protecteur; en utilisant GPT. 
 Disque/dev/sda: 937703088 secteurs, 447,1 Gio 
 Taille de secteur logique: 512 octets 
 Identificateur de disque (GUID): B30ED5AD-A6B6-4FF9-9CC4-1F440536FB9F 
 La table des partitions peut contenir jusqu'à 128 entrées 
 Le premier secteur utilisable est 34, le dernier secteur utilisable est 937703054 
 Les partitions seront alignées sur les limites de 8 secteurs 
 Espace libre total est 264949 secteurs (129,4 Mio) 
 
 Numéro Début (secteur) Fin (secteur) Taille Code Nom 
 1 40 409639 200,0 Mio EF00 EFI Partition du système EFI 
 2 409640 195722143 93,1 GiB AF00 Macintosh HD 
 3 195985408 921180159 345,8 GiB EF00 LINUX 
 4 921180160 937701375 7,9 GiB 0700 SWAP 
/boot/efi /
 ├── EFI 
 │ └── boot 
 │ ├── bootia32.efi 
 │ ├── bootx64.efi 
 │ ├── drivers_ia32 
 │ │ ├── btrfs_ia32.efi 
 │ │ ├── ext2_ia32.efi 
 │ │ ├── ext4_ia32 .efi 
 │ │ ├── hfs_ia32.efi 
 │ │ ├── iso9660_ia32.efi 
 │ │ ├── LICENSE_GPL.txt 
 │ │ ├─ ─ LICENSE.txt 
 │ │ └── reiserfs_ia32.efi 
 │ ├── drivers_x64 
 │ │ ├── btrfs_x64.efi 
 │ │ ├─── ext2_x64.efi 
 │ │ ├── ext4_x64.efi 
 │ │ ├── hfs_x64.efi 
 │ │ ├── iso9660_x64.efi 
 │ │ ├ ── LICENSE_GPL.txt 
 │ │ ├── LICENSE.txt 
 │ │ └── reiserfs_x64.efi 
 │ ├── icônes 
 │ └── refind.conf 
 ├── shellia32.efi 
 └── shellx64.efi 
 
 5 répertoires , 81 fichiers 
 root @ fredrik-mbair: ~ # efibootmgr -v 
 BootCurrent: 0000 
 Délai d'expiration: 5 secondes 
 BootOrder: 0000 
 Boot0000 * COPY HD (1,28,64000,7fa6ae3f-d9a7-4411-838a-1d0133b9993a) Fichier (\ EFI\boot\bootx64.efi) 
 BootFFFF * ACPI (a0341d0,0) PCI (1f, 2) SATA (0 , 0,0) HD (2,64028, e066090,00007690-046d-0000-175e-0000ca5e0000) Fichier (\ System\Library\CoreServices\boot.efi) 
1
Fredrik Wendt