Puis-je redimensionner la partition racine sans désinstaller et réinstaller Linux (ou perdre des données)?

17

J'ai commencé à utiliser une machine sur laquelle Debian et Windows 7 sont installés. Cependant, après avoir installé certains programmes, j'ai commencé à recevoir un message indiquant qu'il n'y avait pas assez d'espace. Je savais que le système avait plus de 1 To d'espace disque total et j'ai fait quelques recherches. Il semble que la partition racine ne fasse que 5 Go.

Existe-t-il un moyen d'allouer plus d'espace disque à la partition spécifique sans réinstaller Linux?

Ci-dessous, vous pouvez trouver les résultats de quelques commandes que j'ai exécutées:

fdisk -l

Disk /dev/sda: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4a47e2fd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2              13       53507   429687500    7  HPFS/NTFS
Partition 2 does not end on cylinder boundary.
/dev/sda3           53507       77826   195340289    5  Extended
Partition 3 does not end on cylinder boundary.
/dev/sda5           53507       53537      243712   83  Linux
/dev/sda6           53538       77826   195095552   8e  Linux LVM

Disk /dev/sdb: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4a47e2fe

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               2       62261   500097657+   f  W95 Ext'd (LBA)
/dev/sdb5               2       62261   500097656+   7  HPFS/NTFS

Disk /dev/dm-0: 4999 MB, 4999610368 bytes
255 heads, 63 sectors/track, 607 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-0 doesn't contain a valid partition table

Disk /dev/dm-1: 1996 MB, 1996488704 bytes
255 heads, 63 sectors/track, 242 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-1 doesn't contain a valid partition table

Disk /dev/dm-2: 20.0 GB, 19998441472 bytes
255 heads, 63 sectors/track, 2431 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-2 doesn't contain a valid partition table

df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/HU-root   4.6G  4.4G   32M 100% /
tmpfs                 2.0G     0  2.0G   0% /lib/init/rw
udev                  2.0G  220K  2.0G   1% /dev
tmpfs                 2.0G  356K  2.0G   1% /dev/shm
/dev/sda5             231M   22M  198M  10% /boot
/dev/mapper/HU-home    19G  751M   17G   5% /home

Modifier (informations supplémentaires basées sur le commentaire):

# mount
/dev/mapper/HU-root on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda5 on /boot type ext3 (rw)
/dev/mapper/HU-home on /home type ext3 (rw)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)

# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda6
  VG Name               HU
  PV Size               186.06 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              47630
  Free PE               41194
  Allocated PE          6436
  PV UUID               wmEFAc-eSb6-r3qo-jIjy-vuKH-v9JK-eQfJFZ

En tant que sidenote, j'apprécierais également toute suggestion de bons livres qui expliquent ces sujets en profondeur (systèmes de fichiers, comment les différents systèmes d'exploitation comprennent les systèmes de fichiers, etc.).

F1234k
la source
Quel type de système de fichiers utilisez-vous /? (Publiez la sortie de mountou le contenu de /etc/fstabsi vous ne le savez pas.) La sortie de pvdisplay(en tant que root) serait également intéressante car vous semblez utiliser LVM.
Mat
Les résultats des commandes que vous avez mentionnées ont été ajoutés! Merci :)
F1234k
Ce que vous essayez de faire est possible, mais uniquement en utilisant LVM. L'écran df que vous avez montré semble utiliser LVM. Si tout l'espace du groupe de volumes "HU" est utilisé, vous devrez d'abord réduire le volume logique "home". Le rétrécissement est une opération beaucoup plus dangereuse en termes de perte de données que la croissance d'un système de fichiers.
jordanm
Solution beaucoup plus simple et plus sûre: créez une nouvelle partition, par exemple /usr, et déplacez-y votre / usr actuel.
hhaamu

Réponses:

17

Avertissement : il est déconseillé de faire quoi que ce soit à vos systèmes de fichiers sans sauvegarde connue pouvant être restaurée.


N'exécutez aucune des étapes suivantes si vous n'êtes pas sûr que votre /est propre. Si vous n'êtes pas sûr, exécutez ce qui suit (en tant que root):

# touch /forcefsck

et redémarrez. Cela fera une fsckde toutes vos partitions, pour être du bon côté.


Cela étant dit, puisque vous utilisez LVM pour votre périphérique racine et un ext3système de fichiers, vous pouvez l'étendre en ligne. Avant de commencer, assurez-vous que vous avez resize2fsinstallé. Sinon, c'est généralement dans un package appelé e2fsprogs. (Si vous ne pouvez pas l'installer parce que vous n'avez pas assez de place, essayez de faire un peu de nettoyage /var/logpar exemple.)

Vous étendez d'abord le volume sous-jacent avec (en tant que root):

# lvextend -L+2G /dev/mapper/HU-root

(Ajustez la 2Gpièce comme vous le souhaitez - c'est la quantité d'espace que vous souhaitez ajouter.)

Ensuite, vous devez redimensionner le système de fichiers. Cela peut être fait en ligne avec resize2fs:

# resize2fs /dev/mapper/HU-root

Cela peut prendre quelques secondes / minutes. N'interrompez pas. Faites un autre redémarrage à la fin, éventuellement avec un autre /forcefsck, si vous le souhaitez. Ce n'est pas nécessaire, mais je le fais souvent quand même.

Tapis
la source
1
Cela ne fonctionne pas pour moi:Path required for Logical Volume "sda1" Please provide a volume group name
8bitjunkie
Cela ne fonctionne que sur LVM, on dirait que vous essayez de redimensionner une vraie partition.
Mat
6

Vous avez de l'espace libre disponible dans votre PV pour l'allouer à la partition /. Vous pouvez utiliser ce qui suit pour augmenter l'espace de / dev / mapper / HU-root.

lvextend -L +10G /dev/mapper/HU-root
e2resize /dev/mapper/HU-root

La commande ci-dessus ajoutera 10G de votre groupe de volumes au volume logique racine HU. La commande e2resize "agrandira" le système de fichiers ext3 pour utiliser l'espace libre restant.

jordanm
la source
2
Je ne suis peut-être pas le seul à ne pas l'avoir compris immédiatement: PV = "Volume physique"
Étienne Réinstalle Monica
Cela ne fonctionne pas pour moi:Path required for Logical Volume "sda1" Please provide a volume group name
8bitjunkie
@ 8bitjunkie sda1est un périphérique physique, pas un volume logique.
jordanm
-1

Dans la lvdisplaysortie, choisissez le chemin de la partition racine que vous essayez de redimensionner / développer.

aquaman
la source