web-dev-qa-db-fra.com

Augmenter la taille de la partition sur laquelle Ubuntu est installé?

J'ai Ubuntu installé sur un lecteur. Le problème est qu'il manque d'espace disque. Ceci est installé sur vmware. J'ai développé le lecteur virtuel et démarré dans Ubuntu. Mais lorsque j'ai ouvert gparted (Sudo gparted), l'option déplacer/redimensionner n'est pas disponible. C'est la partition sur laquelle Ubuntu est installée, mais je dois la redimensionner. Des idées? Je suis à l'aise avec la ligne de commande

55
user51447

Tu es presque là.
Vous ne pouvez pas redimensionner la partition à l’aide de GParted pendant le fonctionnement d’Ubuntu.
Vous aurez besoin de connecter l'ISO GParted sous forme de CD à la machine VM et de la redémarrer de sorte que le GParted soit chargé à la place d'Ubuntu (je pense que vous pouvez démarrer à partir du CD virtuel. en appuyant sur F12 immédiatement après le démarrage de la machine).
Une fois que vous avez démarré dans GParted, l'option de déplacement/redimensionnement sera activée car Ubuntu n'est pas en cours d'exécution.

16
yossile

En fait, vous POUVEZagrandir le système de fichiers racine lorsque Ubuntu est en cours d'exécution (je l'ai appris récemment moi-même - ici ) - ça a l'air incroyable mais c'est vrai :)

Voici la liste des étapes pour un scénario simple dans lequel vous avez deux partitions, /dev/sda1 est une partition ext4 à partir de laquelle le système d'exploitation est démarré et /dev/sdb2 est swap. Pour cet exercice, nous voulons supprimer la partition d'échange d'un /dev/sda1 à tout le disque.

  1. Comme toujours, assurez-vous d'avoir une sauvegarde de vos données - car nous allons modifier la table de partition, vous risquez de perdre toutes vos données si vous faites une faute de frappe, par exemple.

  2. Exécutez Sudo fdisk /dev/sda

    • utilisez p pour lister les partitions. Notez le cylindre de départ de /dev/sda1
    • utilisez d pour supprimer tout d’abord la partition de swap (2), puis la partition /dev/sda1. Ceci est très effrayant mais est en réalité inoffensif car les données ne sont pas écrites sur le disque tant que vous n’avez pas écrit les modifications.
    • utilisez n pour créer une nouvelle partition principale. Assurez-vous que son cylindre de départ est exactement le même que l'ancien /dev/sda1. Pour le cylindre final, acceptez le choix par défaut, qui consiste à faire en sorte que la partition s’étende sur tout le disque.
    • utilisez a pour activer l’indicateur de démarrage sur le nouveau /dev/sda1
    • passez en revue vos modifications, respirez à fond et utilisez w pour écrire la nouvelle table de partition sur le disque. Vous recevrez un message indiquant que le noyau ne peut pas relire la table de partition car le périphérique est occupé, mais ce n'est pas grave.
  3. Redémarrez avec Sudo reboot. Lorsque le système démarrera, vous aurez un plus petit système de fichiers qui réside dans un plus grand partition.

  4. La prochaine commande magique est resize2fs. Exécutez Sudo resize2fs /dev/sda1 - ce formulaire utilisera par défaut le système de fichiers pour qu'il prenne tout l'espace disponible sur la partition.

Ça y est, nous venons de redimensionner une partition sur laquelle Ubuntu est installé, sans démarrer à partir d'un lecteur externe.

132
Sergey

Après avoir étendu le volume dans vmWare ESXi (shutdown vm, sauvegarde/exportation vm, supprimez tous les instantanés, puis augmentation du nombre de disques, reprenez un instantané de vm avant de suivre les étapes suivantes afin de pouvoir inverser erreur/erreur).

L'exemple suivant étend le volume sur une partition racine sur un système utilisant déjà LVM.

  1. SSH sur le système, passez à la racine et exécutez cfdisk
    # cfdisk

  2. enter image description here

  3. enter image description here

  4. enter image description here

  5. enter image description here

  6. enter image description here

  7. enter image description here

  8. enter image description here

  9. enter image description here

  10. enter image description here

  11. enter image description here

  12. enter image description here

  13. Après avoir quitté cfdisk

     # fdisk -l /dev/sda 
     Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
     Units: sectors of 1 * 512 = 512 bytes
     Sector size (logical/physical): 512 bytes / 512 bytes
     I/O size (minimum/optimal): 512 bytes / 512 bytes
     Disklabel type: dos
     Disk identifier: 0xc8b647ff
    
     Device     Boot    Start      End  Sectors  Size Id Type
     /dev/sda1  *        2048   999423   997376  487M 83 Linux
     /dev/sda2        1001470 16775167 15773698  7.5G  5 Extended
     /dev/sda3       16775168 41943039 25167872   12G 8e Linux LVM (***** See new partition /dev/sda3*****)
     /dev/sda5        1001472 16775167 15773696  7.5G 8e Linux LVM
    
  14. Redémarrez le système avant la prochaine étape (sinon vous pourriez obtenir Device /dev/sda3 not found (or ignored by filtering))

     # shutdown now -r
    
  15. Initialiser le nouveau volume

     # pvcreate /dev/sda3
       Physical volume "/dev/sda3" successfully created
    
  16. Obtenir le nom du volume à étendre

     # vgdisplay
       --- Volume group ---
       VG Name               linuxetc1-vg (***** this is vg i'm extending*****)
       System ID             
       Format                lvm2
       Metadata Areas        1
       Metadata Sequence No  3
       VG Access             read/write
       VG Status             resizable
       MAX LV                0
       Cur LV                2
       Open LV               2
       Max PV                0
       Cur PV                1
       Act PV                1
       VG Size               7.52 GiB
       PE Size               4.00 MiB
       Total PE              1925
       Alloc PE / Size       1925 / 7.52 GiB
       Free  PE / Size       0 / 0  
       ...
    
  17. Étendre le groupe de volumes

     # vgextend linuxetc1-vg /dev/sda3
       Volume group "linuxetc1-vg" successfully extended
    
  18. Étendre la racine

     # lvextend -l+100%FREE /dev/linuxetc1-vg/root
       Size of logical volume linuxetc1-vg/root changed from 6.52 GiB (1669 extents) to 18.52 GiB (4741 extents).
       Logical volume root successfully resized.
    
    
     Or if you only wanted to give 5 more GB to root
     # lvextend -L +5g /dev/linuxetc1-vg/root
    
  19. Obtenir le nom du système de fichiers pour l'étape suivante

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root  6.3G  2.5G  3.5G  42% /            (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    
  20. Étendre le système de fichiers

     # resize2fs /dev/mapper/linuxetc1--vg-root
     resize2fs 1.42.13 (17-May-2015)
     Filesystem at /dev/mapper/linuxetc1--vg-root is mounted on /; on-line resizing required
     old_desc_blocks = 1, new_desc_blocks = 2
     The filesystem on /dev/mapper/linuxetc1--vg-root is now 4854784 (4k) blocks long.
    
  21. Voir la taille accrue

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root   19G  2.5G   15G  15% /         (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    

Des articles:
https://wiki.ubuntu.com/Lvm
http://www.geoffstratton.com/expand-hard-disk-ubuntu-lvm

18
jtlindsey

J'ai réussi à agrandir ma partition primaire ext4 en utilisant la méthodologie décrite ici .

Quelques notes de mon expérience personnelle:

  • L'exemple de lien concerne la réduction de la partition; par conséquent, l'ordre est d'abord resize2fs, puis fdisk. Lors de l’agrandissement de la partition (comme dans mon cas), l’ordre devrait être d’abord fdisk, redémarrez puis resize2fs. De même, lors de l'utilisation de fdisk, les partitions principales ainsi que les partitions étendues doivent être supprimées et redéfinies.
  • J'ai démarré l'ubonto à partir d'un autre lecteur, puis j'ai travaillé sur ce lecteur qui était en réalité le miroir (utilisant dd) de l'ancien lecteur. Fait en bootable en utilisant GParted
  • La version actuelle de resize2fs (j'utilise Ubontu 12.04LTS) supporte ext4 - pas besoin de faire les actions décrites dans le lien pour changer l'ext2.
0
Elchanan

La réponse de Sergey était excellente. Si vous ne disposez pas de l'espace vide directement dans le périphérique suivant, vous devrez supprimer d'autres périphériques. Par exemple:

Device     Boot    Start       End  Sectors Size Id Type
/dev/sda1  *        2048  33556477 33554430  16G 83 Linux
/dev/sda2       33556478  41940991  8384514   4G  5 Extended
/dev/sda3       41940992 125829119 83888128  40G 83 Linux
/dev/sda5       33556480  41940991  8384512   4G 82 Linux swap / Solaris

Dans le cas ci-dessus, si vous souhaitez fusionner /dev/sda3 avec /dev/sda1, vous devez supprimer /dev/sda1, /dev/sda2 et /dev/sda3 (avec la commande d), puis rajouter le /dev/sda2 et mettre à jour son type (avec n et t).

0
jaycode