web-dev-qa-db-fra.com

Comment créer une partition système EFI?

TL; DR Comment créer une partition système EFI à partir de zéro? Comment puis-je mettre le firmware EFI dessus quand il est créé?

Version longue

J'ai un ordinateur portable Toshiba T430. Je l'ai reçu avec Windows 7 installé (mais je pense à l'origine, il est livré avec Windows 8). J'y ai installé Ubuntu, mais j'ai supprimé certaines partitions du disque, de sorte que j'ai fini par effacer Windows et que je ne disposais que d'Ubuntu. La partition système EFI faisait partie des partitions supprimées. J'ai découvert qu'Ubuntu démarre maintenant en mode Legacy (et non en UEFI). J'essaie de suivre ce guide sur la conversion de mon installation Ubuntu de Legacy en UEFI . Le problème - puisqu'il n'y a pas de partition EFI chaque fois que je choisis dans le BIOS pour démarrer avec UEFI, je ne peux pas démarrer. Cela compte non seulement pour le disque dur, mais également pour l’USB et le DVD. Je pense que cela est logique - une partition EFI est attendue et, comme elle ne peut pas la trouver, elle ne peut plus continuer à démarrer, que ce soit à partir d’un disque dur ou d’un DVD. Alors, comment puis-je recréer la partition EFI?

Le guide ci-dessus dit:

Création d'une partition EFI

Si vous partitionnez manuellement votre disque dans le programme d'installation Ubuntu, vous devez vous assurer qu'une partition EFI est configurée.

  1. Si votre disque contient déjà une partition EFI (par exemple, si Windows 8 est préinstallé sur votre ordinateur), vous pouvez également l'utiliser pour Ubuntu. Ne le formatez pas. Il est fortement recommandé de n'avoir qu'une seule partition EFI par disque.

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

    1. Point de montage:/boot/efi (remarque: inutile de définir ce point de montage lors de l'utilisation du partitionnement manuel, le programme d'installation d'Ubuntu le détectera automatiquement)

    2. Taille: minimum 100Mib. 200 Mo recommandés.

    3. Type: FAT32

    4. Autre: nécessite un drapeau "boot".

J'ai eu du mal à créer cette partition:

  • J'amorce depuis un DVD live Ubuntu, ouvre GParted, crée une partition de 200 Mo et la formate au format FAT32.
  • Dans GParted, je ne peux pas définir le point de montage et donc le bootflag.
  • Je n’ai pas défini le point de montage dans /etc/fstab car c’est un CD live et fstab est très différent de ce que j’espérais 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, puis j'ai choisi d'installer Ubuntu. J'ai ensuite créé une partition avec les critères mentionnés - point de montage, 200 Mo, FAT32, indicateur de démarrage.

Cependant, je continue à 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, ce qui convient pour avoir un firmware EFI.

Encore une fois, comment puis-je créer une partition EFI, dotée du logiciel EFI, afin que l’ordinateur portable puisse à nouveau démarrer en mode UEFI?

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

Disk partitions

Au cours de l’installation de Win 8, dès que j’ai supprimé toutes les partitions existantes et laissé Windows reformater le disque, il a automatiquement créé, outre la partition d’installation principale, trois partitions supplémentaires, à savoir 1, 2, 3. Maintenant, après avoir eu un bon ESP , Je pourrais démarrer à partir d’un disque dur ou d’un DVD en mode UEFI.

Vous dites que le ESP ne stocke aucune information par défaut, mais j'imagine que lorsqu'un système d'exploitation s'installe, il place des informations là-bas. Donc, je suppose que mon cas était le suivant: je l'avais effacé et même si je l'avais recréé, il n'était rempli d'aucune information, car la création du ESP avait été effectuée après l'installation d'un système d'exploitation. J'ai perdu l'installation d'Ubuntu (ce n'est pas grave, il s'agissait d'une nouvelle installation), mais je suppose que pour le sauvegarder, j'aurais dû suivre les conseils de grawity . Je n'avais pas le temps cependant, mais heureusement tout va bien maintenant.

27
Alex Popov

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 façon permanente en éditant /etc/fstab. Ainsi, votre préoccupation à propos de cette question 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 des disques GPT). Notez que le point de montage dans /etc/fstab ne fait pas partie de la définition de l'ESP; il est tout à fait classique sous Linux (mais pas obligatoire) d’accéder à ESP en le montant à /boot/efi, généralement via une entrée /etc/fstab. La manière dont vous définissez 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 à deux octets qui s'étendent jusqu'aux codes de type réel sur le disque; "EF00" est simplement un code mnémonique pour "C12A7328-F81F-11D2-BA4B-00A0C93EC93B".)
  • Dans GParted ou parted, vous définissez le "drapeau de démarrage". Notez cependant que cela fonctionne seulement 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 normalement pas un problème, car les ordinateurs basés sur EFI démarrent généralement à partir de disques GPT.)
  • Dans le programme d'installation Ubuntu, vous identifiez la partition en tant que "partition de démarrage EFI". Il définit ensuite le code de type et configurera /etc/fstab de manière appropriée.
  • Dans les versions récentes de Linux fdisk, vous définissez le type de partition par son numéro (1 pour "EFI System" sur les disques GPT ou 0xEF sur les disques MBR) ou en saisissant le code de type complet sur les disques GPT.

Troisièmement, le ESP ne contient pas de microprogramme - le microprogramme est, par définition, stocké dans des puces de la carte mère. Ainsi, votre effort pour installer le firmware EFI sur le ESP est une poursuite féroce. (Il existe deux exceptions à cette règle. Premièrement, vous pouvez stocker un fichier de firmware sur le ESP afin de le mettre à jour sur votre ordinateur. Il s’agit toutefois d’une zone de stockage temporaire. _ Deuxièmement, le DUET ou Clover chargeur de démarrage, l'EFI est chargé en tant que programme normal, généralement à partir de l'ESP. Ces outils sont toutefois des chargeurs de démarrage du BIOS, qui permettent aux ordinateurs du BIOS uniquement de démarrer. comme si c'étaient des machines EFI, ils sont not normalement utilisés sur des ordinateurs dotés du micrologiciel EFI, ce que vous prétendez avoir sur votre ordinateur. Techniquement, ni DUET ni Clover ne sont des micrologiciels, ce sont des chargeurs de démarrage du BIOS qui font de même. travail en tant que EFI.)

Enfin, je peux penser à un certain nombre de causes possibles de votre problème, mais sans autres informations, je devrais écrire un demi-livre pour toutes les couvrir. Je vous recommande d'exécuter le script d'informations de démarrage sur l'ordinateur. Cela produira un fichier appelé RESULTS.txt. Publiez-le sur un site Pastebin et renvoyez-le avec l'URL de votre document. Cela vous donnera des données précises sur votre configuration, ce qui réduira considérablement le nombre de causes possibles de votre problème.

35
Rod Smith

La partition EFI ne conserve pas firmware (qui est stocké dans une puce de la carte mère); il conserve les boot loaders pour les systèmes d'exploitation installés. C’est l’alternative EFI de placer 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 être automatiquement remplie lors de l'installation du système d'exploitation. (Il est fort probable que le disque-install lui-même doit également être démarré en mode EFI, sinon la configuration du démarrage UEFI ne sera pas gênante ... en fait, certaines parties de la configuration ne peuvent même pas être effectuées à partir de Mode BIOS.)

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

  1. Installez la version UEFI de GRUB; Je pense c'est dans le package grub-efi-AMD64-signed.

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

    (Pour la version non signée grub-efi-AMD64, il s'agit de 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 de chemin EFI ici; si vous montez la partition à /boot sous Linux, ce serait /boot/EFI/Boot/bootx64.efi.)

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

    Cela est nécessaire car grub-install ne peut pas s'ajouter lui-même au menu de démarrage EFI à moins que le système ait déjà démarré en mode EFI. (Il est impossible d'accéder aux "variables EFI" dans le BIOS moed.) Par conséquent, le seul moyen de démarrer GRUB consiste à le placer à l'emplacement "du chargeur d'amorçage de secours".

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

  4. Vérifiez si dmesg | grep "efi:" montre quoi que ce soit pour confirmer que vous êtes en mode EFI.

11
grawity

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

select disk 0  
clean  
convert gpt  
rem == 1. System Partition  =====================  
create partition efi size=210  
format fs=fat32 quick label=”SYSTEM”  
active  
rem == 2. Microsoft Reserved (MSR) partition  ======  
create partition msr size=16  
rem == 3.  Windows partition  ===================  
create partition primary size=xxxxxx   
format fs=ntfs quick label=”Windows”   
assign letter=”W”  
rem == 4. Recovery tools partition  ================  
create partition primary size=460  
format fs=ntfs quick label=”Recovery”  
assign letter=:R”  
list volume

Créez un autre fichier texte avec Notepad:
SaveAs: diskpart-UEFI.txt

diskpart /s D:\CreatePartitions-UEFI.txt   

REM where D:/ is the usb drive. This command runs the text file to install the partitions.

Si vous utilisez le MBR, la commande sera, convertissez mbr.

Pour obtenir la taille de la partition Windows, multipliez la taille de votre disque dur par 1024, puis par un disque dur de 100 gig 1024 = 102400 moins 210 (taille efi) moins 16 (taille msr) moins 460 (taille réservée) égale à la taille que vous souhaitez mettre la taille de la partition Windows. (xxxxxx)

Vous pouvez modifier la taille des partitions à partir du terminal (invite de commande) cd/d D:> Bloc-notes CreatePartitions-UEFI.txt

Lorsque vous êtes sur le lecteur USB, ouvrez le bloc-notes diskpart-UEFI.txt et laissez-le ouvert ou écrivez la commande pour ne pas vous tromper. Une fois que vous avez modifié la taille des partitions à votre convenance, fermez-la, puis cd/d x:/Sources, puis exécutez la commande diskpart/s D:\CreatePartitions-URFI.txt.
liste volume comme la dernière commande vous montre les partitions, si heureux, quitte> éteindre l'ordinateur> redémarrer> installer

2
Dave Vian