Kann ich die Größe der Root-Partition ändern, ohne Linux zu deinstallieren und neu zu installieren (oder Daten zu verlieren)?

17

Ich habe begonnen, einen Computer zu verwenden, auf dem sowohl Debian als auch Windows 7 installiert sind. Nach der Installation einiger Programme erhielt ich jedoch die Meldung, dass nicht genügend Speicherplatz vorhanden ist. Ich wusste, dass das System insgesamt mehr als 1 TB Festplattenspeicher hatte, und habe einige Nachforschungen angestellt. Es scheint, dass die Root-Partition nur 5 GB beträgt.

Gibt es eine Möglichkeit, der bestimmten Partition mehr Speicherplatz zuzuweisen, ohne Linux neu zu installieren?

Unten finden Sie die Ergebnisse einiger Befehle, die ich ausgeführt habe:

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

Bearbeiten (zusätzliche Informationen basierend auf Kommentar):

# 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

Als Randnotiz würde ich mich auch über Vorschläge für gute Bücher freuen, die diese Themen ausführlich erläutern (Dateisysteme, wie die verschiedenen Betriebssysteme die Dateisysteme verstehen usw.).

F1234k
quelle
Was für ein Dateisystem ist das /? (Veröffentlichen Sie die Ausgabe von mountoder den Inhalt von, /etc/fstabwenn Sie nicht wissen.) Auch die Ausgabe von pvdisplay(als root) wäre interessant, da Sie LVM zu verwenden scheinen.
Mat
Die Ergebnisse der von Ihnen erwähnten Befehle wurden hinzugefügt! Danke :)
F1234k
Was Sie versuchen, ist möglich, aber nur mit LVM. Die von Ihnen angezeigte df-Anzeige scheint LVM zu verwenden. Wenn der gesamte Speicherplatz in der Datenträgergruppe "HU" verwendet wird, müssen Sie zuerst den logischen Datenträger "home" verkleinern. Das Verkleinern ist in Bezug auf Datenverlust viel gefährlicher als das Vergrößern eines Dateisystems.
Jordan
Weitaus einfachere und sicherere Lösung: Erstellen Sie z. B. eine neue Partition /usrund verschieben Sie Ihr aktuelles / usr dorthin.
Haamu

Antworten:

17

Warnung : Es ist nicht ratsam, Ihre Dateisysteme ohne eine bekanntermaßen wiederherstellbare Sicherung zu bearbeiten.


Führen Sie keinen der folgenden Schritte aus, wenn Sie sich nicht sicher sind, ob Ihr /Computer sauber ist. Wenn Sie sich nicht sicher sind, führen Sie Folgendes aus (als root):

# touch /forcefsck

und neu starten. Dies wird eine fsckvon all Ihren Partitionen tun , um auf der sicheren Seite zu sein.


Da Sie jedoch LVM für Ihr Root-Gerät und ein ext3Dateisystem verwenden, können Sie es online erweitern. Bevor Sie beginnen, stellen Sie sicher, dass Sie resize2fsinstalliert haben. Wenn nicht, ist es normalerweise in einem Paket namens e2fsprogs. (Wenn Sie es nicht installieren können, weil Sie nicht genug Platz haben, versuchen Sie zum Beispiel, ein bisschen aufzuräumen /var/log.)

Zuerst erweitern Sie das zugrunde liegende Volume mit (als root):

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

(Passen Sie das 2GTeil nach Ihren Wünschen an - es gibt den Platz an, den Sie hinzufügen möchten.)

Dann müssen Sie die Größe des Dateisystems ändern. Dies kann online erfolgen mit resize2fs:

# resize2fs /dev/mapper/HU-root

Dies kann einige Sekunden / Minuten dauern. Unterbrechen Sie nicht. Führen Sie am Ende einen weiteren Neustart durch, möglicherweise mit einem anderen /forcefsck, wenn Sie möchten. Es ist nicht nötig, aber ich mache es trotzdem oft.

Matte
quelle
1
Das funktioniert bei mir nicht:Path required for Logical Volume "sda1" Please provide a volume group name
8bitjunkie
Dies funktioniert nur unter LVM. Es sieht so aus, als würden Sie versuchen, die Größe einer echten Partition zu ändern.
Mat
6

Sie haben in Ihrem PV freien Speicherplatz für die Zuordnung zur Partition /. Sie können Folgendes verwenden, um den Speicherplatz von / dev / mapper / HU-root zu vergrößern.

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

Der obige Befehl fügt 10G aus Ihrer Volume-Gruppe zum logischen HU-Root-Volume hinzu. Der Befehl e2resize vergrößert das ext3-Dateisystem, um den verbleibenden freien Speicherplatz zu nutzen.

Jordanien
quelle
2
Vielleicht bin ich nicht der einzige, der es nicht sofort bekommen hat: PV = "Physical Volume"
Étienne Reinstate Monica
Das funktioniert bei mir nicht:Path required for Logical Volume "sda1" Please provide a volume group name
8bitjunkie
@ 8bitjunkie sda1ist ein physisches Gerät, kein logisches Volume.
Jordan
-1

lvdisplayWählen Sie aus der Ausgabe den Pfad für die Root-Partition, deren Größe Sie ändern / erweitern möchten.

Aquaman
quelle