43 votes

Comment créer une partition système EFI ?

TL;;DR Comment puis-je créer une partition système EFI à partir de zéro ? Comment mettre le firmware EFI dessus une fois qu'elle est créée ?

Version longue

J'ai un ordinateur portable Toshiba T430. Je l'ai reçu avec Windows 7 installé (mais je pense qu'il a été expédié à l'origine avec Windows 8). J'ai installé Ubuntu dessus, mais j'ai supprimé certaines partitions sur le disque de sorte que j'ai fini par effacer Windows et n'avoir que Ubuntu. Parmi les partitions supprimées se trouvait la partition Système EFI. J'ai découvert que Ubuntu démarre maintenant en mode Legacy (et non UEFI). J'essaie de suivre ce guide sur la conversion de mon installation Ubuntu du mode Legacy au mode UEFI. Le problème - comme il n'y a pas de partition EFI chaque fois que je choisis de démarrer en utilisant l'UEFI dans le BIOS, je ne peux pas démarrer. Cela vaut non seulement pour le disque dur, mais aussi pour les clés USB et les DVD. Je pense que c'est logique - il s'attend à une partition EFI et comme il ne peut pas la trouver, il ne peut pas continuer à démarrer plus loin, que ce soit à partir du disque dur ou du DVD. Alors comment recréer la partition EFI ?

Le guide ci-dessus dit :

Créer une partition EFI

Si vous partitionnez manuellement votre disque dans l'installateur Ubuntu, vous devez vous assurer d'avoir une partition EFI configurée.

  1. Si votre disque contient déjà une partition EFI (par ex. si votre ordinateur avait Windows 8 préinstallé), elle peut également être utilisée pour Ubuntu. Ne la formatez pas. Il est fortement recommandé d'avoir une seule partition EFI par disque.

  2. Une partition EFI peut être créée via une version récente de GParted (la version de GParted incluse dans le disque 12.04 est OK), et doit avoir les attributs suivants :

    1. Point de montage : /boot/efi (remarque : pas besoin de définir ce point de montage lorsque vous utilisez le partitionnement manuel, l'installateur Ubuntu le détectera automatiquement)

    2. Taille : minimum 100Mio. 200Mio recommandés.

    3. Type : FAT32

    4. Autre : nécessite un "drapeau de démarrage".

J'ai eu quelques difficultés à créer cette partition :

  • Je démarre à partir d'un DVD live Ubuntu, j'ouvre GParted, crée une partition de 200Mo et la formate en FAT32.
  • Dans GParted, je ne peux pas définir le point de montage et donc ne peux pas définir le drapeau de démarrage.
  • Je n'ai pas défini le point de montage dans /etc/fstab car c'est un CD live et fstab avait l'air assez différent de ce à quoi je m'attendais par rapport à un démarrage normal. Quoi qu'il en soit, je ne savais pas quelles valeurs définir.

J'ai redémarré via le DVD live et j'ai ensuite choisi d'installer Ubuntu. J'ai ensuite créé une partition avec les critères mentionnés - point de montage, 200Mo, FAT32, drapeau de démarrage.

Cependant, je continue d'avoir ce problème et je suppose que c'est parce que sur cette partition, il n'y a pas de firmware EFI, c'est juste une partition vide, qui est appropriée pour avoir le firmware EFI.

Alors encore une fois, comment créer une partition EFI, qui a le logiciel EFI, afin que l'ordinateur portable puisse à nouveau démarrer en mode UEFI ?

SOLUTION Merci à vous deux pour les réponses. Ce que j'ai fait a été d'installer Windows 8.1 à partir de zéro en formatant tout le disque, puis d'installer (cette fois correctement) Ubuntu à côté. Voici maintenant mes partitions :

Partitions de disque

Pendant la configuration de Win 8, dès que j'ai supprimé toutes les partitions existantes et laissé Windows reformater le disque, il a automatiquement créé, en plus de la partition principale d'installation, trois partitions supplémentaires, à savoir 1, 2, 3. Maintenant, après avoir eu une ESP correcte, je pouvais démarrer à la fois à partir du HDD ou du DVD en mode UEFI.

Vous dites que l'ESP ne stocke aucune information par défaut, mais je suppose que lorsque un système d'exploitation s'installe, il y met des informations. Donc je suppose que mon cas était le suivant : je l'avais effacé et même si je l'avais recréé, il n'était pas rempli d'informations, car la création de l'ESP s'était faite après qu'un système d'exploitation ait été installé. J'ai perdu l'installation Ubuntu (pas grave, c'était une installation fraîche de toute façon), mais je suppose que pour la sauver, j'aurais dû suivre le conseil de grawity. Je n'avais pas le temps, cependant, mais heureusement tout va bien maintenant.

46voto

Rod Smith Points 20483

Tout d'abord, vous ne définissez pas le point de montage dans GParted ; cela se fait manuellement (et temporairement) via la commande mount ou de manière permanente en modifiant /etc/fstab. Ainsi, votre préoccupation concernant ce problème est mal placée.

Deuxièmement, une partition Système EFI (ESP) est simplement une partition FAT avec un code de type particulier (à savoir, C12A7328-F81F-11D2-BA4B-00A0C93EC93B sur les disques GPT). Notez que le point de montage dans /etc/fstab ne fait pas partie de la définition de l'ESP ; il est simplement conventionnel (mais pas obligatoire) dans Linux d'accéder à l'ESP en le montant à /boot/efi, généralement via une entrée dans /etc/fstab. La manière de définir le code de type varie d'un programme à l'autre :

  • Dans gdisk, vous définissez le code de type sur EF00. (gdisk utilise des codes de type sur deux octets qui se traduisent par les codes de type réels sur le disque ; "EF00" est simplement un mnémonique pour "C12A7328-F81F-11D2-BA4B-00A0C93EC93B".)
  • Dans GParted ou parted, vous définissez le "drapeau d'amorçage". Notez cependant que cela fonctionne uniquement sur les disques GPT ; vous ne pouvez pas définir le code de type ESP sur les disques MBR avec ces programmes. (Ce n'est généralement pas très important, car les ordinateurs basés sur EFI démarrent généralement à partir de disques GPT.)
  • Dans l'installateur Ubuntu, vous identifiez la partition comme une "partition d'amorçage EFI". Il définira alors le code de type et configurera /etc/fstab correctement.
  • Dans les versions récentes de fdisk Linux, vous définissez le type de partition par son numéro (1 pour "Système EFI" sur les disques GPT ou 0xEF sur les disques MBR) ou en entrant le code de type complet sur les disques GPT.

Troisièmement, l'ESP ne contient pas de firmware -- le firmware est, par définition, stocké dans des puces sur la carte mère. Ainsi, votre effort pour installer le firmware EFI sur l'ESP est une sorte de chasse aux oies sauvages. (Il existe deux exceptions à cette règle. Tout d'abord, vous pouvez stocker un fichier de firmware sur l'ESP pour mettre à jour le firmware de votre ordinateur. Il s'agit simplement d'une zone de stockage temporaire. Deuxièmement, le chargeur d'amorçage DUET ou Clover, le firmware EFI est chargé comme un programme ordinaire, généralement à partir de l'ESP. Ces outils sont des chargeurs d'amorçage BIOS qui permettent à des ordinateurs uniquement BIOS de démarrer comme s'ils étaient des machines EFI ; ils ne sont pas généralement utilisés sur les ordinateurs avec un firmware EFI, comme vous le prétendez pour votre ordinateur. Techniquement, ni DUET ni Clover ne sont des firmwares ; ce sont des chargeurs d'amorçage BIOS qui font le même travail que l'EFI.)

Enfin, je peux penser à plusieurs causes possibles pour votre problème, mais sans plus d'informations, j'aurais besoin d'écrire un demi-livre pour les couvrir toutes. Je vous recommande d'exécuter le Boot Info Script sur l'ordinateur. Cela produira un fichier appelé RESULTS.txt. Postez-le sur un site de pastebin et revenez avec l'URL de votre document. Cela fournira des données concrètes sur votre configuration, ce qui réduira considérablement la gamme de causes possibles de votre problème.

12voto

James Mertz Points 390

La partition EFI ne contient pas de firmware (qui est stocké dans une puce sur la carte mère); elle contient les chargeurs de démarrage des systèmes d'exploitation installés. C'est essentiellement l'alternative EFI de mettre le chargeur de démarrage dans le 0e secteur de votre disque, comme c'était le cas avec les PC BIOS.

Cela signifie qu'une fois que vous avez une telle partition, elle devrait se remplir automatiquement lorsque vous installez le système d'exploitation. (Il est fort probable cependant que le disque d'installation lui-même doit être démarré en mode EFI, sinon il ne se souciera pas de configurer le démarrage UEFI... en fait, certaines parties de la configuration ne peuvent même pas être faites en mode BIOS.)

Si vous avez déjà Ubuntu installé, vous devrez :

  1. Installer la version UEFI de GRUB; je pense que c'est dans le paquet grub-efi-amd64-signed.

    grub-install --target=x86_64-efi-signed

    (Pour la version non signée grub-efi-amd64, c'est x86_64-efi.)

  2. Assurez-vous que GRUB s'est installé en tant que \EFI\Boot\bootx64.efi dans la partition système EFI. (J'utilise la syntaxe du chemin EFI ici ; si vous montez la partition sur /boot sur Linux, ce serait /boot/EFI/Boot/bootx64.efi.)

    Si ce n'est pas le cas, copiez grubx64.efi manuellement à cet emplacement.

    Ceci est nécessaire car grub-install ne peut pas se rajouter au menu de démarrage EFI à moins que le système ait déjà démarré en mode EFI. (Les "variables EFI" sont impossibles d'accès en mode BIOS.) Par conséquent, la seule façon de démarrer GRUB est de le placer à l'emplacement du "chargeur de démarrage de secours".

  3. Redémarrez. Essayez de sélectionner un type de mode EFI dans le menu de démarrage de votre firmware (les firmwares EFI ont leur propre menu de démarrage, même avant GRUB).

  4. Vérifiez si dmesg | grep "efi:" montre quelque chose, pour confirmer que vous êtes en mode EFI.

2voto

Dave Vian Points 21

Créez deux fichiers avec le bloc-notes et enregistrez-les sur votre lecteur d'installation Windows USB.
Enregistrer sous : CreatePartitions-UEFI.txt

select disk 0
clean
convert gpt
rem == 1. Partition système =====================
create partition efi size=210
format fs=fat32 quick label="SYSTEM"
active
rem == 2. Partition réservée à Microsoft (MSR) ======
create partition msr size=16
rem == 3.  Partition Windows ===================
create partition primary size=xxxxxx
format fs=ntfs quick label="Windows"
assign letter="W"
rem == 4. Partition d'outils de récupération ================  
create partition primary size=460
format fs=ntfs quick label="Recovery"
assign letter="R"
list volume

Créez un autre fichier texte avec le Bloc-notes:
Enregistrer sous: diskpart-UEFI.txt

diskpart /s D:\CreatePartitions-UEFI.txt   

REM où D: / est le lecteur USB. Cette commande exécute le fichier texte pour installer les partitions.

Si vous utilisez MBR, la commande sera, convert mbr.

Pour obtenir la taille de la partition Windows, multipliez la taille de votre disque dur par 1024, un disque dur de 100 Go multiplié par 1024 équivaut à 102400 moins 210 (taille efi) moins 16 (taille msr) moins 460 (taille réservée) équivaut à la taille que vous mettrez dans la taille de la partition Windows. (xxxxxx)

Vous pouvez changer la taille des partitions à partir du terminal (Invite de commandes) cd /d D: > notepad CreatePartitions-UEFI.txt

Pendant que vous êtes sur le lecteur USB, ouvrez diskpart-UEFI.txt avec le bloc-notes et laissez-le ouvert ou notez la commande afin de ne pas commettre d'erreur. Une fois que vous avez modifié la taille des partitions à votre goût, fermez-le, puis cd /d x:/Sources passez ensuite la commande diskpart /s D:\CreatePartitions-URFI.txt.
list volume en tant que dernière commande vous montre les partitions, si vous êtes satisfait, quit > éteindre l'ordinateur > redémarrer > installer

-1voto

Bacteries Points 231

Utilisez gnome-disks , paquet "gnome-disk-utility", il est super pratique.

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