1 votes

Grub2 EFI : Où est ma partition EFI ?

J'ai installé ubuntu 12.04 sur mon Thinkpad Edge (UEFI) en utilisant une clé USB. Je suppose qu'il a été botté en utilisant EFI puisqu'un menu Grub est apparu avec les options pour démarrer un système live, installer, ou vérifier le disque.

Lorsque je démarre mon ordinateur portable, Grub ne montre que son invite de ligne de commande "Grub".

Après avoir exécuté manuellement grub-install /dev/sda + update-grub dans un environnement chrooté, il démarre Grub en mode récupération en disant "File not found".

Le disque est partitionné comme suit :

/dev/sda1:    ntfs,  1.5GB, SYSTEM DRV
/dev/sda2:    ntfs,  150GB, Windows7 OS
/dev/sda3:    extended
  /dev/sda6:  ext4,  140GB, Ubuntu 12.04
  /dev/sda5:  ntfs, 10.7GB, Lenovo Recovery
/dev/sda4:    ntfs, 16.8GB, a custom additional partition

J'ai supposé que la partition étiquetée "SYSTEM DRV" pouvait être la partition EFI, mais j'ai ensuite lu que la partition EFI est de type FAT32. Je n'ai pas de partition FAT32 ici !

Je ne peux donc suivre aucun How-Tos expliquant comment installer Grub2 avec le support EFI. Ils veulent tous que je monte ma partition EFI dans /boot/efi. Je ne peux pas non plus créer une partition EFI puisque dans la plupart des How-Tos, ils disent que ce doit être la première partition (au moins ce doit être une partition primaire), mais comme vous le voyez, j'ai déjà une partition 1.

N'est-il pas possible d'utiliser l'outil Grub2 normal sur du matériel EFI ?

Si non, la création d'une partition EFI résoudra-t-elle le problème ? Puis-je utiliser la partition 4 pour cela ?

Mon BootInfo tel que créé en utilisant cet article peuvent être trouvés ici : http://paste.ubuntu.com/1011739/ . Notez qu'il est réalisé à partir d'une clé USB Ubuntu Live qui se trouvait à l'adresse suivante /dev/sdb Vous devez donc ignorer ce lecteur.

UPDATE :

Comme EFI ne semble pas être le problème ici, j'ai réinstallé (non-EFI-)Grub utilisant boot-repair .

Le nouveau BootInfo peut être trouvé ici : http://paste.ubuntu.com/1012223/ .

Le problème est que maintenant, le BIOS ne démarre pas mais donne l'erreur :

Operating system not found.

MISE À JOUR 2 (SOLUTION) :

Lorsque vous lisez cette question alors que vous rencontrez le même problème (Système d'exploitation introuvable.), vous risquez de ne pas voir la forêt pour les arbres en lisant les réponses, je répète donc la solution ici :

Le problème dans mon cas est que j'ai accidentellement changé le drapeau de démarrage du lecteur en /dev/sda6 qui est un logique partition. Le BIOS recherche les drapeaux d'amorçage sur le disque dur à partir duquel il veut démarrer, mais ne cherche que dans primaire les partitions. S'il ne trouve pas de drapeau de démarrage, il ignore le disque dur. S'il ne trouve aucun lecteur ou support sur lequel démarrer, le message d'erreur "Système d'exploitation introuvable" s'affiche.

6voto

Lloytron Points 259

Le disque dur est définitivement configuré pour un démarrage de type BIOS. Les preuves spécifiques de ceci incluent :

  • La table de partition est MBR. Bien qu'il soit théoriquement possible de démarrer en mode EFI à partir d'une table de partition MBR, à ma connaissance, Windows ne supporte pas cette configuration. En tout cas, son installateur ne le fait pas ; l'installateur Windows supporte MBR-sur-BIOS ou GPT-sur-EFI, mais pas MBR-sur-EFI ou GPT-sur-BIOS.
  • Il n'y a pas d'ESP sur /dev/sda. (Il y a des fichiers de démarrage EFI sur /dev/sdb1, mais cela ressemble à une clé USB, pas à votre disque de démarrage habituel).
  • La sortie de Boot Info script identifie script comme étant installé dans le MBR de /dev/sda. Ceci est cohérent avec une installation script en mode BIOS.
  • La sortie de Boot Info script a identifié /Windows/System32/winload.exe comme un fichier de démarrage sur /dev/sda2. Si c'était une installation EFI de Windows, vous verriez une référence à winload.efi quelque part.

Ainsi, quelle que soit la source du problème, il ne semble pas avoir quelque chose à voir avec l'EFI ; c'est un problème de Grub-sur-BIOS.

Le plus gros indice que je vois est le suivant, tiré de la sortie de Boot Info script :

=> Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 1 of 
   the same hard drive for core.img. core.img is at this location and looks 
   for (,msdos6)/root/grub on this drive.

Notez en particulier la référence à (,msdos6)/root/grub . Plus loin dans la sortie de l'Info Boot script, il y a une liste de fichiers de démarrage sur /dev/sda6 ( (,msdos6) dans le langage de Grub). Cette liste comprend /boot/grub/grub.cfg mais il n'y a aucune mention de quoi que ce soit dans la root répertoire. En fait, le root (à ne pas confondre avec le répertoire / (dont le nom se prononce "root") est le répertoire personnel du super-utilisateur, et il ne contient généralement pas de fichiers de démarrage. Ainsi, je soupçonne que Grub a été mal installé. Peut-être avez-vous utilisé des options pour grub-install que vous n'avez pas mentionnés et qui étaient inappropriés, ou peut-être y a-t-il un bug dans le script d'installation. Dans tous les cas, je recommande de réinstaller script en utilisant les procédures habituelles pour le faire sur un ordinateur basé sur le BIOS. Notez, cependant, que si votre système d'urgence démarre en mode EFI, cela pourrait créer des complications, vous devez donc vous assurer de démarrer votre système d'urgence en mode BIOS.

Vous pouvez vérifier votre mode de démarrage sous Linux en recherchant le fichier /sys/firmware/efi répertoire. S'il est présent, vous avez démarré en mode EFI. S'il est absent, vous avez probablement démarré en mode BIOS (bien qu'il y ait des conditions où ce fichier sera absent même si vous avez démarré en mode EFI).

3voto

Kthevar Points 686

La section d'aide liée dans une réponse antérieure (supprimée ?) décrit comment démarrer votre système à l'aide de son BIOS UEFI. C'est ce que l'on entend par amorcer Linux " nativement ".

SI il est disponible sur votre Thinkpad, une autre alternative pourrait être d'utiliser CSM ou une fonction équivalente. Il s'agit d'un acronyme pour Module de soutien à la compatibilité . C'est un terme d'Intel. (Le spécification pour le BIOS UEFI a été développé par Intel).

Un CSM permet à un système doté d'un BIOS UEFI de démarrer des systèmes d'exploitation traditionnels (non UEFI) qui ne savent qu'interagir avec un BIOS traditionnel.

D'après ce que j'ai compris, il n'est possible d'utiliser que ce que l'on nomme normal (c'est-à-dire BIOS hérité) Grub outils sur le matériel UEFI si vous pouvez utiliser quelque chose comme CSM.

Mise à jour :

J'ai écrit mes suggestions précédentes avant de regarder de près la table de partition du PO.

Apparemment, le partitionnement MBR sur le disque a été placé là par Lenovo. Le Thinkpad Edge doit donc déjà avoir une sorte de compatibilité BIOS en place pour permettre le démarrage d'un disque partitionné en MBR.

Si c'est vraiment IS vrai, alors effacer vos partitions actuelles et utiliser GPT serait PAS est un bon moyen d'y arriver.

Je recommande que AVANT Avant d'effectuer tout changement radical, vous devez d'abord découvrir comment votre système fonctionne actuellement. Pourriez-vous recueillir un résumé de BootInfo pour votre système ? Vous pouvez le faire en démarrant à l'aide d'un CD/USB Live tout en étant connecté à Internet, en sélectionnant Try Ubuntu puis en suivant les étapes décrites dans cette réponse .

Note : À ce stade, je suggère de ne recueillir que des informations. Essayer d'appliquer des correctifs avant d'avoir une meilleure compréhension de votre situation ne peut que casser autre chose.


Je suis d'accord avec L'analyse de Rod Smith de votre résumé du BootInfo . Ubuntu a déjà été installé dans la partition /dev/sda6 . Grub et grub.cfg semblent être configurés correctement dans /boot/grub/ en /dev/sda6 . Le problème est que votre séquence de démarrage se déroule actuellement comme suit :

  • Grub est chargé à partir du secteur 0 (MBR) de /dev/sda . Il transfère le contrôle à Grub's. core.img qui se trouve au secteur 1 de '/dev/sda'.
  • En core.img Le chargeur en sait juste assez sur les systèmes de fichiers pour charger le reste des modules de Grub à partir de l'endroit où il pense que Grub se trouve, (,msdos6)/root/grub .
  • Grub passe en mode secours lorsque core.img est incapable de charger Grub à partir de (,msdos6)/root/grub

Mise à jour : en comparant les vieux y nouveau pastbins

J'ai fait une comparaison de fichiers sur vos deux pastebin's. J'ai listé ci-dessous ce que je pensais être des différences significatives.

  • Ligne 07
    Auparavant, le programme Grub de core.img dans le secteur 1 a cherché (,msdos6)/root/grub . Il recherche maintenant (,msdos6)/boot/grub . En d'autres termes, vous avez corrigé le problème que vous essayiez de corriger en réinstallant Grub.

  • Ligne 47
    Je n'ai pas d'explication sur la raison pour laquelle c'est arrivé, mais en plus du fichier de démarrage core.img qui apparemment existe toujours dans le secteur 1, Grub a également ajouté /boot/grub/core.img a /dev/sda6 . (Peut-être est-ce lié à la modification suivante ?)

  • Lignes 77 et 81
    Précédemment /dev/sda1 a été marqué par le démarrer drapeau. Maintenant, le démarrer se trouve sur votre partition Ubuntu, /dev/sda6 . Je pense que c'est peut-être la cause de votre problème de démarrage. Essayez de changer le démarrer Retourner à la première partition NTFS de votre disque étiquetée SYSTEM_DRV et voir si cela aide. (Je ne pense pas que cela fera du mal à quoi que ce soit).

  • Lignes 154, 155 et 537 (anciennes) 523 (nouvelles)
    Les paramètres qui étaient " efi " dans la version précédente du pastebin semblent maintenant utiliser des valeurs pour un BIOS hérité Grub. En particulier, sous la section PARTITIONS & DISKS: la partition sda6 avait auparavant l'attribut grub-efi . Il est maintenant grub-pc .

Il y a d'autres changements qui n'ont pas semblé mériter d'être décrits en détail. Par exemple, les modifications que vous avez apportées au fichier /etc/default/grub a été perdue. Le fichier a retrouvé son contenu d'installation par défaut. De plus, les entrées de menu pour memtest sont absents de la version post-re-installation grub.cfg fichier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X