2 votes

Comment puis-je agrandir la partition EFI sur un système double amorçage avec Windows et Linux?

Je prévois d'installer Windows et Linux sur mon système qui démarre en mode UEFI.

Pour Linux, j'ai l'intention de faire les choses suivantes :

  • installer le noyau LTS et la version actuelle que la principale apporte avec elle

  • utiliser systemd-boot

En fin de compte, la taille par défaut (100 Mo) de la partition EFI, qui est créée lors de l'installation de Windows, est très encombrée (environ 94 Mo sont utilisés). Par conséquent, j'aimerais agrandir ladite partition. Comme la recommandation standard pour les mises en page de disque place cette partition MSR juste après la partition EFI, j'ai supprimé la partition MSR. Ensuite, Win 10 n'a pas démarré et le programme de réparation de démarrage à partir de la clé USB Win 10 a pu réparer les problèmes de démarrage.

Mais le problème principal est que je ne peux pas agrandir la partition EFI, que ce soit avec diskpart ou avec GParted (sur une clé USB Xubuntu 16.04.1). Lorsque j'éxecute extend size=100 dans diskpart, il dit :

Vous ne pouvez pas réduire les partitions oem esp ou de récupération. Le volume sélectionné [etc.]...

GParted affiche l'erreur

gnu parted ne peut pas redimensionner cette partition à cette taille. Nous y travaillons

Est-ce que quelqu'un connaît les étapes nécessaires ou une séquence "simple" pour agrandir la partition EFI ?

1voto

Rod Smith Points 20483

Je peux penser à deux façons de contourner le problème qui sont susceptibles de fonctionner; mais aucune approche n'est parfaite ou facile.

Méthode #1

Cette méthode est assez basique:

  1. Sauvegardez l'ESP. Une sauvegarde basée sur un fichier sera suffisante.
  2. Démontez l'ESP.
  3. Recherchez le GUID de l'ESP en tapant sgdisk -i 1 /dev/sda en tant que root. (Cet exemple suppose que l'ESP est la première partition sur le premier disque - /dev/sda1. Si c'est une autre partition, vous devez modifier -i 1 de manière appropriée. Si c'est sur un disque autre que /dev/sda, vous devez également changer cette partie.) Cette commande affiche diverses informations, y compris une ligne identifiée comme Partition unique GUID. Sauvegardez cette valeur. (Notez que l'enregistrement et la recréation de la valeur GUID sont faits pour le bénéfice du gestionnaire de démarrage intégré de l'ordinateur. Si vous êtes prêt à utiliser efibootmgr pour recréer vos entrées de gestionnaire de démarrage, vous pouvez ignorer cette étape et l'étape #6 ci-dessous.)
  4. Supprimez l'ESP.
  5. Créez un nouvel ESP de la taille désirée. Notez que cela signifie à la fois l'ESP et un nouveau système de fichiers dessus.
  6. Utilisez gdisk ou sgdisk pour changer le GUID du nouvel ESP. Par exemple, sgdisk -u 1:2C17D5ED-850D-4F76-BA31-47A561740082 /dev/sda (en tant que root) change le GUID de /dev/sda1 en 2C17D5ED-850D-4F76-BA31-47A561740082.
  7. Montez le nouvel ESP.
  8. Restaurez les fichiers sauvegardés sur l'ESP.
  9. S'il est nécessaire, éditez /etc/fstab pour enregistrer le nouveau "UUID" de l'ESP (vraiment un numéro de série de disque, pour les systèmes de fichiers FAT). Vous pouvez utiliser blkid pour trouver le nouveau numéro de série.

Remarquez que certains outils de partitionnement, comme gdisk et sgdisk, peuvent nécessiter un redémarrage avant que le système d'exploitation ne reconnaisse les modifications apportées aux disques utilisés. Par conséquent, vous devez soit utiliser un démarrage sur disque d'urgence, sans partitions montées sur le disque cible; soit utiliser un outil comme GParted pour la suppression et la création des partitions. (Changer le GUID de la partition ne nécessite pas de redémarrage.)

Cette procédure comporte un certain risque d'échec catastrophique, en particulier si vous êtes négligent avec vos fichiers de sauvegarde. De plus, si quelque chose tourne mal, votre ordinateur sera temporairement inutilisable. Avoir une copie de mon gestionnaire de démarrage rEFInd sur une clé USB peut être utile en cas d'urgence.

Méthode #2

Je n'ai pas essayé cela avec diskpart, donc je ne sais pas ce qui déclenche cet avertissement; mais il pourrait s'agir d'un attribut de partition (l'une des deux choses que libparted appelle "flags"). Quelque chose comme "partition système" pourrait vraisemblablement empêcher les outils de partitionnement de toucher à la partition. Vous pouvez utiliser parted ou GParted pour chercher ces flags; cependant, je ne suis pas sûr qu'ils montreront tous les flags. Si la partition a des flags autres que "boot" (et "esp", avec les versions plus récentes de libparted), vous pouvez envisager de supprimer les extras. Sinon, vous pouvez utiliser gdisk, qui affichera tous les attributs:

  1. Tapez gdisk /dev/sda (ou quel que soit l'identifiant du disque) en tant que root.
  2. Tapez p pour afficher la table des partitions.
  3. Tapez i pour afficher les détails concernant une partition. On vous demandera de spécifier le numéro de la partition. Plusieurs lignes avec les détails de la partition apparaîtront.
  4. Cherchez la ligne Attribut flags. S'il n'y a aucun flag, cette ligne affichera une valeur de 0000000000000000. Si c'est le cas, vous pouvez quitter gdisk en tapant q. S'il affiche des attributs et que vous souhaitez les supprimer, procédez ainsi...
  5. Tapez x pour entrer dans le menu des experts.
  6. Tapez a pour modifier les attributs. On vous demandera un numéro de partition. Entrez-le.
  7. Une liste de six attributs connus et un résumé de ceux qui sont définis vous sera montrée. Tapez le numéro du champ que vous souhaitez changer.
  8. L'étape précédente sera répétée automatiquement jusqu'à ce que vous appuyiez sur la touche Entrée sans valeur comme signal pour arrêter l'édition.
  9. Tapez w pour quitter et sauvegarder vos changements. (Si vous pensez avoir fait une erreur, tapez q pour quitter sans sauvegarder vos changements; gdisk garde les changements en mémoire jusqu'à ce que vous lui disiez de les écrire sur le disque avec w, vous pouvez donc facilement annuler la plupart des actions.)
  10. Pour plus de sécurité, redémarrez.
  11. Sauvegardez votre ESP.
  12. Utilisez GParted pour redimensionner votre ESP.

Cette approche est moins susceptible de fonctionner que la première, à la fois parce que le problème pourrait ne pas être un attribut de partition et parce que, d'après mon expérience, GParted a souvent corrompu les systèmes de fichiers FAT lorsqu'il les redimensionne. Ce dernier point ne doit pas être sous-estimé; si GParted gâche les choses, vous devrez tout restaurer à partir de votre sauvegarde, et cette procédure aboutira aux pires aspects des deux méthodes. D'autre part, si GParted réussit à redimensionner votre ESP, cette méthode peut être légèrement plus simple et moins risquée que la précédente.

Commentaires Supplémentaires

Bien sûr, si vous n'avez pas encore installé Windows, il y a une façon beaucoup plus facile de faire ce que vous voulez: Créez votre ESP manuellement avant d'installer Windows. Vous pouvez alors rendre l'ESP aussi grand que vous le souhaitez.

Une autre approche est d'utiliser autre chose que systemd-boot. Ce gestionnaire de démarrage est très limité par son incapacité à lancer des noyaux ou des chargeurs de démarrage à partir de quelque chose d'autre que la partition sur laquelle il est stocké. (Du moins, il était limité de cette manière la dernière fois que je l'ai examiné; et la nature de votre question implique que vous croyez qu'il est toujours si limité. Je ne l'ai pas examiné récemment, cependant.) Ni GRUB ni rEFInd ne souffrent de cette limitation et seraient donc plus faciles à configurer - ou du moins, aucun ne nécessiterait les manipulations de partitions que systemd-boot nécessitera.

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