web-dev-qa-db-fra.com

Impossible de faire démarrer Ubuntu depuis EFI sur Mac

J'essaye d'avoir un vieux ca. Macbook 2006 ( spécifications techniques ici) pour démarrer Ubuntu 14.04.2 LTS. J'en suis maintenant au deuxième jour, après avoir essuyé le disque dur plusieurs fois et réinstallé le disque environ 8 fois maintenant. Je suis encore relativement nouveau dans le monde Linux.

J'ai suivi les instructions ici pour faire avancer les choses, et après beaucoup de difficultés, j'ai réussi à courir grub-install et htfs-bless. Ceci est censé permettre au processus de démarrage sur mon mac de reconnaître Ubuntu lors du démarrage (de sorte que je n'ai pas à démarrer manuellement à partir de GRUB, ce que je dois faire maintenant).

J'exécute la commande suivante (en tant que root)

grub-install --target x86_64-efi --boot-directory=/boot --efi-directory=/boot/efi --bootloader-id="$(lsb_release -ds)"

Il renvoie les éléments suivants:

Installing for x86_64-efi platform.
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try: 'modprobe efivars' as root.
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try: 'modprobe efivars' as root.
Installation finished.  No error reported.

Il signale donc une erreur fatale (deux fois), mais termine ensuite l'installation sans erreur. Aucune idée.

Il suggère que j'essaie modprobe efivars à partir de la racine, ce que je fais bien sûr. Il ne retourne rien (ce qu'il n'est pas censé faire), mais une nouvelle exécution produit exactement la même erreur.

Je vais de l'avant et je cours

hfs-bless "/boot/efi/EFI/$(lsb_release -ds)/System/Library/CoreServices/boot.efi"

qui se termine sans commentaire. Le fait qu'il complète indique que le grub-install a créé le système de fichiers approprié dans le dossier de ma distribution. C'est donc un bon signe.

L'étape suivante de mes instructions me dit de redémarrer, pour m'assurer de démarrer directement sur Ubuntu. Cela n'arrive pas. Il dit également que je devrais voir Ubuntu apparaître sous l'écran du chargeur de démarrage mac, et je ne le fais pas.

Après avoir redémarré manuellement à partir de GRUB, je reviens et essaie de continuer avec les instructions, et ici je frappe le mur. J'écris

efibootmgr

et je rencontre la même erreur

Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.

J'essaie donc modprobe efivars en tant que root, et lorsque je lance à nouveau, j'obtiens à nouveau la même erreur.

Certaines recherches suggèrent que le problème est que je démarre dans le BIOS et non dans EFI. La solution est évidemment de démarrer à la place dans EFI, mais je ne sais pas comment faire cela. Il n'y a pas de partition BIOS sur ma machine; il n'y a qu'une partition EFIBoot. Il n'y a plus de système Mac OSX sur ma machine; il n'y a que Ubuntu 14.04.2 LTS.

Parfois, je peux faire démarrer Ubuntu, d'autres fois je dois le faire manuellement. Je n'arrive pas à faire apparaître une image disque Ubuntu dans le chargeur de démarrage Mac et je ne peux pas accéder aux variables EFI.

S'il y a un fichier que je pourrais modifier manuellement à partir de la ligne de commande qui me permettrait de démarrer dans EFI, cela pourrait m'aider à résoudre ce problème.

Toute aide à ce sujet serait grandement appréciée.

1
user2635606

Je ne suis pas sûr à 100%, mais un Mac aussi ancien a probablement un EFI 32 bits, même s'il a un processeur 64 bits. (Les premiers Mac à processeur Intel avaient des processeurs 32 bits avec des EFI 32 bits. Lorsque Apple mis à jour vers les processeurs 64 bits, les EFI étaient en retard d'une génération ou deux avant la mise à jour de l'EFI à 64 bits.) Pour un démarrage en mode EFI natif, l'installation en mode EFI se fait plus facilement avec un système d'exploitation qui correspond à la profondeur de bits de l'EFI - en d'autres termes, un système d'exploitation 32 bits sur un EFI 32 bits, ou un système d'exploitation 64 bits sur un EFI 64 bits. Malheureusement, Ubuntu ne fournit aucune capacité de démarrage EFI 32 bits avec sa version 32 bits, donc faire cela avec Ubuntu nécessite de sauter à travers quelques cercles importants pour ajouter un chargeur de démarrage EFI 32 bits à une image amorçable. Cela peut être fait (je l'ai fait), mais je n'ai pas de référence à une procédure précise. (J'ai commencé à écrire un tel document une fois, mais couvrir toutes les possibilités s'est avéré être un véritable défi, alors je l'ai mis de côté et je n'y suis jamais revenu.)

La version EFI de GRUB a la capacité de démarrer un noyau d'une architecture mal adaptée - c'est-à-dire, un noyau 64 bits sur un système avec un EFI 32 bits ou vice-versa (à condition que votre CPU soit un modèle 64 bits, bien sûr). L'utilisation de cette approche nécessiterait l'installation en mode BIOS/CSM/hérité, puis l'installation du 32 bits GRUB après la l'installation est terminée; ou pirater le programme d'installation 64 bits pour inclure un GRUB 32 bits. Je ne connais aucun site décrivant comment le faire pour un Mac, mais celui-ci couvre le processus pour une tablette ASUS avec un processeur 64 bits et un EFI 32 bits. (Ce site est en panne pendant que je tape ceci; j'espère que c'est temporaire.)

Cela dit, en particulier s'il s'agit d'un ordinateur 64 bits, l'utilisation du mode EFI pour un démarrage unique avec Ubuntu est la manière la plus difficile de le faire. Il sera [~ # ~] beaucoup [~ # ~] plus facile de traiter l'ordinateur comme un avec un BIOS traditionnel. Créez des partitions MBR et démarrez le programme d'installation en mode BIOS. Vous pourrez installer Ubuntu 32 bits ou 64 bits, comme bon vous semble, sans aucun écart significatif par rapport à la procédure d'installation. Lorsque le micrologiciel du Mac voit une table de partition MBR, il active son CSM, et lorsqu'il ne trouve aucun chargeur de démarrage EFI amorçable, il lance la version BIOS de GRUB dans le MBR. devrait tous fonctionner sans problème, comme si l'ordinateur avec un modèle basé sur le BIOS. Les principaux pièges sont le contrôle du mode de démarrage de l'installateur (BIOS vs EFI) et l'utilisation de MBR (si vous utilisez GPT, le firmware du Mac n'activera pas le mode BIOS démarrage).

Le principal inconvénient est qu'il sera plus difficile de mettre à jour votre micrologiciel, car le processus de mise à jour du micrologiciel nécessite un démarrage en mode EFI. Sur un si vieil ordinateur, quelle est la probabilité que vous mettiez à jour votre micrologiciel? De plus, si vous décidez plus tard de faire un double démarrage avec OS X, vous devrez convertir de MBR en GPT et réinstaller un chargeur de démarrage Linux d'une manière ou d'une autre.

1
Rod Smith