Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/12/2011, à 10:56

malbo

[Tuto] recréer une partition EFI écrasée dans un système UEFI

Manip dans VirtualBox 4.1.16 avec case cochée pour "Activer EFI (os spéciaux seulement)". J'ai plein de Ubuntu installés en "mode UEFI" (au lieu du classique mode Bios) dans une machine virtuelle et l'envie folle me prend de supprimer la partition EFI depuis le live-CD (virtuel) Gparted. Le scénario, c'est donc une partition EFI écrasée malencontreusement (disparue du disque dur) et qu'il faut reconstituer pour que le PC puisse redémarrer sur le Ubuntu (sda10 dans mon cas) qui est déjà installé sur le disque dur.
- depuis le live-CD Ubuntu (j'ai utilisé un live-CD virtuel Ubuntu 11.10 bien que le Ubuntu installé soit Ubuntu 11.04), avec Gparted, créer une partition de 20 Mo en FAT 16 avec le flag (boot) destinée à devenir la partition EFI, n'importe où sur le disque dur (là ou un espace non-alloué existe et s'il n'en existe pas il faut se débrouiller pour dégager de la place en réduisant une partition existante) puis fermer Gparted.
Comme c'est la première fois que je fais ça et que je ne suis pas certain que Gparted sait faire correctement l'opération, je vérifie en installant gdisk (pour cela, je suis obligé d’activer le dépôt "universe" dans les sources de logiciels) que la partition a bien le code "EF00" qui caractérise une partition EFI

A présent, il faut faire un chroot vers dans le Ubuntu à réparer (la partition racine du Ubuntu est sda10) :

sudo mkdir /mnt/temp
sudo mount /dev/sda10 /mnt/temp
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt/temp$i;  done
sudo chroot /mnt/temp

Depuis le chroot, passer une commande "blkid -g" puis une commande "blkid" pour récupérer l'UUID de la partition EFI puis avec l'éditeur de texte nano, modifier le fichier fstab pour remplacer l'UUID obsolete (ben oui, j'ai détruit la partition exprès...) par l'UUID de la partition EFI nouvelle dans la ligne déjà existante dans le point de montage est /boot/efi :

UUID=XXXX-XXXX  /boot/efi       vfat    defaults        0       1

, puis monter la partition par la commande "mount /boot/efi" (vérifier qu'elle est montée correctement en passant un "mount" ensuite)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ATTENTION : L’ÉTAPE SUIVANTE DE DÉSINSTALLATION PUIS RÉINSTALLATION DE GRUB N'EST PAS UTILE DANS LE CAS GÉNÉRAL : ELLE PEUT ÊTRE SAUTÉE ---> passer directement à la commande grub-install
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
- toujours depuis le chroot, désinstaller grub-efi .

apt-get purge grub-efi

puis grub-efi-amd64 .

apt-get purge grub-efi-amd64

puis réinstaller grub-efi (qui réinstallera aussi grub-efi-amd64) :

apt-get install grub-efi

. Vérifier que le fichier /boot/efi/EFI/ubuntu/grubx64.efi existe.

ls -l /boot/efi/EFI/ubuntu/grubx64.efi

résultat : il n'existe pas
bon sang mais c'est bien sûr, il faut passer la commande suivante :

grub-install

ensuite on peut constater que le fichier /boot/efi/EFI/ubuntu/grubx64.efi existe


- démonter le chroot par :

exit

puis par cette commande (cette foutue ligne suivante ne fonctionne pas : rien n'est démonté. tant pis, j'ai la flemme de démonter à la main le contenu de /mnt/temp. heureusement que le live-CD a fait un démontage correct comme j'ai pu le constater en final puisque tout fonctionne...):

for i in /dev/pts /dev /proc /sys; do sudo umount /mnt/temp$i ; done

Arrêt (par les moyens normaux) de la session live-CD. 
Au redémarrage de la machine UEFI (VirtualBox), aucune des entrées proposées dans le "Boot Manager" ne permet de démarrer. Il est donc nécessaire de passer par le "Boot Maintenance Manager" (voir Using Boot Maintenance Menu ) pour faire reconnaître au système UEFI la nouvelle entrée (voir nota). Boot Options > Add boot option  ; là, on peut constater que la nouvelle partition EFI est présélectionnée par la grâce d'un automatisme du système EFI qui présente la (ou les) partitions FAT (pas forcément EFI et pas forcément FAT16, ça peut être FAT32) qu'il a trouvé dans le PC et ses périphériques (mais le "Boot Maintenance Manager" veut justement que le chemin vers le fichier .efi soit défini par l'utilisateur afin de créer une nouvelle entrée associée dans le Boot Manager). Je fais donc le boulot (il faut cheminer par EFI > ubuntu > grubx64.efi et valider le tout) en donnant un nom à la nouvelle entrée. Ensuite, sortie par la touche Échap, retour au menu "Boot Manager", sélection de la nouvelle entrée et ça démarre.
Tout fonctionne. J'ai bien réparé le démarrage de mon Ubuntu.

nota : ce qui vient d'être décrit, c'est l'enregistrement d'une entrée pour qu'elle soit proposée dans le "Boot Manager". C'est intéressant mais pas indispensable : on peut utiliser une procédure plus rapide (la première fois) qui est de passer par "Boot Maintenance Manager" > "Boot Options" > "Boot from file" puis de naviguer jusqu'au fichier .efi d'une manière analogue à celle proposée ci-dessus pour arriver à démarrer sur ce fichier .efi. Avantage : on perd moins de temps pour démarrer la première fois. Inconvénient : il n'y a pas de mise en mémoire (contrairement à ce qui est proposé plus haut) et à chaque démarrage, il faut repasser par "Boot Maintenance Manager" > "Boot Options" > "Boot from file". A savoir que cette mise en mémoire (quand on a fait le choix "Add boot option") s'effectue dans un fichier nommé NvVars qui se trouve dans la partition EFI (attention : ce que j'ai écrit là peut être vrai dans le cas particulier où il n'y a qu'une seule partition FAT sur le disque dur qui est la partition EFI mais c'est faux dans le cas général: voir Edit du 26 sept 2012 ci-dessous).

Edit du 26 sept 2012 : Dans le cas de VirtualBox, le fichier NvVars est placé dans une partition FAT, mais pas forcément dans la partition EFI. D'après mes investigations du jour, le système EFI de VirtualBox prend les partitions dans l'ordre de leur numéro (sda1, sda2, etc..) et pas du tout en fonction de leur position sur le disque. Exemple concret : je supprime ma partition sda1(FAT16) qui contenait le fichier NvVars. Au redémarrage suivant, VirtualBox a créé un nouveau fichier NvVars dans la partition sda4 (FAT16) située tout à la fin du disque dur virtuel. Pourquoi ? il a pris dans l'ordre : partition sda2 sautée (elle est en ext4) ; partition sda3 sautée (elle est en ext4) ; partition sda4 retenue (elle est en FAT). Si je supprime sda4, il va utiliser la prochaine partition FAT dans l'ordre de numérotation et ainsi de suite. Si on supprime la totalité des partitions FAT (pour ne laisser que des ext4 et des swap), au démarrage le "Boot Maintenance Manager" ne peut plus enregistrer d'entrées (Boot Options > Add boot option ne fonctionne pas) et Boot Maintenance Manager" > "Boot Options" > "Boot from file" ne mène à rien puisqu'il n'y a plus aucun fichier .efi. Il est donc impossible de démarrer sur une Ubuntu installée du fait qu'il n'y a plus aucun chargeur d'amorçage.

Dernière modification par malbo (Le 26/09/2012, à 09:39)

Hors ligne

#2 Le 02/07/2012, à 09:59

malbo

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

La plus grande partie de la procédure détaillée dans le post #1 est faisable en utilisant Boot-Repair lancé depuis un liveCD (ou une liveUSB) Ubuntu.
Au préalable, il faudra créer la partition EFI avec Gparted comme je l'explique au début du post #1 (20 Mo en FAT 16 avec le flag) mais ensuite, c'est bien Boot-Repair qui peut faire tout le boulot. Il faut prendre l'utilisation avancée : http://doc.ubuntu-fr.org/boot-repair#ut … on_avancee
Laisser cocher ce qui est déjà pré-coché sur cet onglet : http://doc.ubuntu-fr.org/lib/exe/fetch. … 264074.png
Dans l'onglet "Emplacement de GRUB" ( http://doc.ubuntu-fr.org/lib/exe/fetch. … 263961.png ), la case "partition /boot/efi séparée" devrait déjà être pré-cochée avec la partition EFI déjà correctement identifiée par Boot-Repair (donc en principe il n'y a rien à modifier ni à rectifier)
Au cours de l'exécution de la réparation, on voit un premier écran comme sur cette vue :
mini_513961Capturedu20120702124743.png
Il y a donc trois commande à passer dans mon cas (ça doit dépendre des options avancées). Copie la première ligne, collage dans un terminal, validation par la touche Entrée. Idem pour la deuxième ligne et pour la troisième ligne.
Ensuite, il y a encore du copier-coller à faire comme sur cette vue :
mini_769255Capturedu20120702123000.png
C'est vraiment bourrin : il y a juste du copier-coller à faire et on n'a même pas besoin de comprendre le contenu des commandes qu'on doit coller (idéal pour les novices)
Puis ça va au bout.
Il y a ensuite une proposition de faire un rapport Boot-Info et il convient d'accepter. Voici le Boot-Info que je viens d'obtenir en faisant la manip : http://paste.ubuntu.com/1070906/
A noter : Pour faire cet essai, je suis parti d'une installation fonctionnelle de Ubuntu en EFI et j'ai démonté la partition EFI, j'ai supprimé tout son contenu puis j'ai viré la ligne de montage de cette partition EFI dans le fstab. Comme on peut en juger dans le Boot-Info, ces dégâts créés volontairement pour le besoin du test ont été réparés par Boot-Repair

Dernière modification par malbo (Le 02/07/2012, à 11:56)

Hors ligne

#3 Le 02/07/2012, à 10:44

Babdu89

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

Bonjour...
@ malbo ... Grâce à tes tests... Toujours à la pointe des progrès des possibilités de réparation de Boot-Repair...   Merci ...

Petit souci avec tes liens;

http://ubuntuforums.org/attachment.php? … 1334493829

http://ubuntuforums.org/attachment.php? … 1334494224

On obtient ceci...  Enfin ,c'est ce que çà ouvre chez moi...

1341222101.png

Si tu pouvais arrangé çà ...   Merci ...

Je regarde avec attention ,tout le tests et résultats que tu indiques, mais je ne peux pas faire ces essais ,car ma config n'est pas prévue pour...

Merci encore une foi, pour le temps que tu passes à tester divers choses ,c'est très utile à la communauté...

@+.   Babdu89   .

Dernière modification par Babdu89 (Le 02/07/2012, à 11:00)


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

Hors ligne

#4 Le 02/07/2012, à 11:02

malbo

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

Babdu89,
Merci pour m'avoir signalé les liens qui ne fonctionnent pas. Je viens de vérifier qu'il faut avoir un compte sur le forum anglais ( http://ubuntuforums.org/ ) pour pouvoir les visualiser.
Je vais tâcher de me trouver des liens qui marchent....

Hors ligne

#5 Le 02/07/2012, à 11:04

Babdu89

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

Essaye ceci ...

http://pix.toile-libre.org/

Pas besoin de compte pour poste dessus...

http://forum.ubuntu-fr.org/viewtopic.ph … 1#p6942961

@+.   Babdu89

Dernière modification par Babdu89 (Le 02/07/2012, à 11:06)


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

Hors ligne

#6 Le 02/07/2012, à 11:42

malbo

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

ça y est j'ai corrigé les liens du post #2

Hors ligne

#7 Le 02/07/2012, à 12:22

Babdu89

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

Impecable... Merci

Remarque; tu vas bientôt  mieux connaître, Boot-Repair que moi... C'est déjà fait... Puisqu'il y a des options que je ne peux pas tester ...  tongue  wink

@+.   Babdu89 .  smile


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

Hors ligne

#8 Le 02/07/2012, à 12:46

YannUbuntu

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

Merci pour le retour de test Malbo.
Je pense que oui, mais as-tu vérifié si Ubuntu démarre correctement après ce test?
Je pose la question car je vois dans la ligne fstab que B-R t'a mis msdos (SEC_TYPE) au lieu de vfat (TYPE). Peut-etre que ça fonctionne avec msdos mais dans le doute je vais corriger B-R et mettre vfat par défaut.


à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison

Hors ligne

#9 Le 02/07/2012, à 14:03

malbo

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

YannUbuntu,
Oui, ça démarre correctement. D'où ça peut sortir ce type msdos ?

Dernière modification par malbo (Le 02/07/2012, à 14:04)

Hors ligne

#10 Le 02/07/2012, à 14:30

YannUbuntu

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

ok merci. Ca vient de "sudo blkid":

=================== blkid:
/dev/loop0: TYPE="squashfs"
/dev/sda1: UUID="b4942dc1-d169-4a20-a675-bc0d5b34c902" TYPE="ext4"
/dev/sda2: UUID="5e114c3e-feba-4bce-8f19-1ff27ce9ee43" TYPE="swap"
/dev/sda3: SEC_TYPE="msdos" UUID="8AA5-661F" TYPE="vfat"

B-R a pris le 1er "*TYPE=" qu'il a vu. J'ai corrigé dans le PPA, il prendra désormais le 1er "TYPE=", donc vfat. Remarque: je n'indique pas "vfat" en dur car cette fonction sert aussi à un éventuel /usr ou /boot séparé.


à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison

Hors ligne

#11 Le 02/07/2012, à 14:47

YannUbuntu

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

malbo a écrit :

Il y a donc trois commande à passer dans mon cas

pour info Boot-Repair affiche toujours ces 3 commandes (avec des variantes selon les points de montage). Les 2 premieres commandes sont sans effet sur un système "sain", elles permettent de réparer certains problèmes de paquets. La 3e est celle qui purge GRUB.

Dernière modification par YannUbuntu (Le 02/07/2012, à 14:49)


à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison

Hors ligne

#12 Le 02/07/2012, à 14:58

YannUbuntu

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

Un autre point que je vais améliorer: à cette étape, je vais cacher la dernière phrase et l'image, car il me semble que la fenêtre bleue n'apparait jamais avec grub-efi. (contrairement à grub-pc)

Dernière modification par YannUbuntu (Le 02/07/2012, à 14:58)


à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison

Hors ligne

#13 Le 03/07/2012, à 08:20

malbo

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

YannUbuntu,
J'ai vu qu'il y a une grosse activité sur la discussion que tu a lancée sur le forum anglais : http://ubuntuforums.org/showthread.php? … st10871917
On y voit quelques manips faites en utilisant Boot-Repair pour réparer la démarrage en EFI mais est-ce qu'il y a d'autres testeurs de cette fonctionnalité (en EFI) ?

Hors ligne

#14 Le 03/07/2012, à 10:24

YannUbuntu

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

tu es le 1er à avoir fait un vrai test de cette fonctionnalité. et je t'en remercie.
On peut voir ici que de nombreux utilisateurs ont utilisé cette fonctionnalité, mais j'ai eu très peu de retours. J'espère que ça veut dire qu'ils n'ont pas eu de problème.
Voici un retour intéressant: http://forum.ubuntu-fr.org/viewtopic.php?id=970381

Dernière modification par YannUbuntu (Le 03/07/2012, à 10:28)


à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison

Hors ligne

#15 Le 03/07/2012, à 11:29

malbo

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

Merci pour les infos.

Hors ligne

#16 Le 05/07/2012, à 11:29

YannUbuntu

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

Suite au retour de polyp ici,

- "mkdir /boot/efi" -> ok
- "cp -r /boot/efi/EFI/ubuntu /boot/efi/EFI/xxxxx" -> pourquoi pas, une sauvegarde ne fait pas de mal
- "echo "127.0.0.1  xxxxx" >> /etc/hosts" -> installer grub-efi change le nom d'hôte ??? (ça m'étonne) @Malbo, peux-tu confirmer stp?


à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison

Hors ligne

#17 Le 05/07/2012, à 11:35

polyp

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

Bonjour,
grub-efi ne change pas le nom d'hôte, mais si vous êtes en cours d'install, alors le nom d'hôte final n'est pas répercuté sur ce fichier; c'est normal, mais je ne voulais pas prendre de risque.
La copie est peut-être inutile; simple mesure de précaution.
Cdlt

Hors ligne

#18 Le 05/07/2012, à 11:57

malbo

Re : [Tuto] recréer une partition EFI écrasée dans un système UEFI

Je suis désolé mais je ne comprends pas ce que tu veux dire par "nom d'hôte", et par conséquent je ne vois pas où est le problème. Peux-tu le dire autrement et avec des détails s'il te plaît

Dernière modification par malbo (Le 05/07/2012, à 11:58)

Hors ligne