2 votes

Comment agrandir la partition EFI sur un système à double démarrage avec Windows et Linux ?

J'ai l'intention d'installer Windows et Linux sur mon système qui est démarré en mode UEFI.

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

  • installer le noyau LTS et toute version actuelle que la ligne 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 assez encombrée (environ 94 Mo sont utilisés). J'aimerais donc agrandir cette partition. Comme la recommandation standard pour l'agencement des disques place la 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 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). Quand je cours extend size=100 dans diskpart, il est indiqué :

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

GParted génère l'erreur suivante

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

Quelqu'un connaît-il les étapes nécessaires ou une séquence "simple" pour agrandir la partition EFI ?

1voto

Rod Smith Points 20483

Je pense à deux façons de contourner le problème qui sont susceptibles de fonctionner ; mais aucune de ces approches n'est parfaite ou facile à mettre en œuvre.

Méthode n° 1

Cette méthode est assez basique :

  1. Remonter l'ESP. Une sauvegarde basée sur un fichier est suffisante.
  2. Démontez l'ESP.
  3. Trouvez le GUID de l'ESP en tapant sgdisk -i 1 /dev/sda como root . (Cet exemple suppose que l'ESP est la première partition du premier disque -- /dev/sda1 . S'il s'agit d'une autre partition, vous devez modifier -i 1 de manière appropriée. S'il se trouve sur un disque autre que /dev/sda vous devez également modifier cette partie). Cette commande affiche diverses informations, dont une ligne identifiée comme Partition unique GUID . Enregistrez cette valeur. (Notez que l'enregistrement et la recréation de la valeur du GUID sont effectués au profit du gestionnaire de démarrage intégré de l'ordinateur. Si vous souhaitez utiliser efibootmgr pour recréer les entrées de votre gestionnaire de démarrage, vous pouvez renoncer à cette étape et à l'étape 6 ci-dessous).
  4. Supprimer l'ESP.
  5. Créez un nouvel ESP de la taille souhaitée. Notez qu'il s'agit à la fois de l'ESP et d'un nouveau système de fichiers sur celui-ci.
  6. Utilice gdisk o sgdisk pour modifier le GUID du nouvel ESP. Par exemple, sgdisk -u 1:2C17D5ED-850D-4F76-BA31-47A561740082 /dev/sda (en tant que root ) modifie le GUID de /dev/sda1 to 2C17D5ED-850D-4F76-BA31-47A561740082.
  7. Monter le nouvel ESP
  8. Restaurer les fichiers sauvegardés sur l'ESP.
  9. Si nécessaire, modifiez /etc/fstab pour enregistrer le nouvel "UUID" de l'ESP (en réalité un numéro de série du disque, pour les systèmes de fichiers FAT). Vous pouvez utiliser l blkid pour trouver le nouveau numéro de série.

Notez que certains outils de partitionnement, tels que gdisk y sgdisk Il peut être nécessaire de redémarrer le système d'exploitation avant qu'il ne reconnaisse les modifications apportées aux disques en cours d'utilisation. Par conséquent, vous devez soit utiliser un disque de démarrage d'urgence, sans partition montée sur le disque cible, soit utiliser un outil tel que GParted pour les opérations de suppression et de création de partitions. (La modification du GUID de la partition n'entraîne aucune modification nécessitant un redémarrage).

Cette procédure présente un certain risque d'échec catastrophique, en particulier si vous ne prenez pas soin de vos fichiers de sauvegarde. En outre, en cas de problème, votre ordinateur sera temporairement non amorçable. Le fait d'avoir une copie de mon rEFInd gestionnaire de démarrage sur une clé USB peut s'avérer utile en cas d'urgence.

Méthode n°2

Je n'ai pas essayé avec diskpart Je ne sais donc pas ce qui déclenche cet avertissement. puede est un attribut de partition (l'une des deux choses que libparted appelle "flags"). Quelque chose comme "system partition" pourrait vraisemblablement amener les outils de partitionnement à refuser de toucher à la partition. Vous pouvez utiliser parted ou GParted pour rechercher ces drapeaux ; cependant, je ne suis pas sûr qu'ils montreront tous les drapeaux. Si la partition a des drapeaux autres que "boot" (et "esp", avec les versions plus récentes de libparted), vous pouvez envisager de supprimer les drapeaux supplémentaires. Alternativement, vous pouvez utiliser gdisk qui affichera tous les attributs :

  1. Type gdisk /dev/sda (ou quel que soit l'identifiant du disque) en tant que root .
  2. Type p pour afficher la table de partition.
  3. Type i pour afficher les détails d'une partition. Il vous sera demandé de spécifier le numéro de la partition. Plusieurs lignes contenant des détails sur la partition s'affichent.
  4. Recherchez le Attribute flags ligne. Si aucun drapeau n'est présent, cette ligne affichera une valeur de 0000000000000000 . Si c'est le cas, vous pouvez arrêter gdisk en tapant q . Si des attributs sont affichés et que vous souhaitez les supprimer, procédez comme suit : ....
  5. Type x pour accéder au menu des experts.
  6. Type a pour modifier les attributs. Un numéro de partition vous sera demandé. Saisissez-le.
  7. Une liste de six attributs connus vous sera présentée, ainsi qu'un résumé des attributs définis. Tapez le numéro du champ que vous souhaitez modifier.
  8. L'étape précédente se répète automatiquement jusqu'à ce que vous appuyiez sur la touche Entrée sans aucune valeur pour signaler l'arrêt de l'édition.
  9. Type w pour quitter et enregistrer vos modifications. (Si vous pensez avoir fait une erreur, tapez q pour quitter sans enregistrer vos modifications ; gdisk conserve les modifications en mémoire jusqu'à ce que vous lui demandiez de les écrire sur le disque à l'aide de la touche w Vous pouvez donc facilement interrompre la plupart des actions.)
  10. Par sécurité, redémarrez.
  11. Sauvegardez votre ESP.
  12. Utilisez GParted pour redimensionner votre ESP.

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

Autres commentaires

Bien entendu, si vous n'avez pas encore installé Windows, il existe un moyen beaucoup plus simple de faire ce que vous voulez : Créer votre ESP manuellement vor vous installez Windows. Vous pouvez ensuite agrandir l'ESP autant que vous le souhaitez.

Une autre approche consiste à 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 n'importe quelle partition autre que celle 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 pensez qu'il est toujours aussi limité. Je ne l'ai cependant pas examiné récemment). Ni Grub ni rEFInd ne souffrent de cette limitation et seraient donc plus faciles à mettre en place -- ou du moins, aucun ne nécessiterait le genre de manipulations de partitions que systemd-boot exigera.

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