eine virtuelle Festplatte vergrößern und root Partition anpassen


Falls man mal eine virtuelle Festplatte zu klein gewählt hat, gibt es eine einfache Möglichkeit die Größe zu ändern. Allerdings muss man sich dazu in die Konsole begeben. Die Eingabe des folgenden Befehls muss auf dem VM Host erfolgen.

vboxmanage modifyhd /home/vbox/VirtualBox\ VMs/<virtuelle Maschine>/Festplattenname.vdi --resize 16384

Nach einer kleinen Wartezeit ist dann die Festplatte auf die gewünschte Größe angewachsen. Der Parameter „–resize“ erwartet allerding nur Angaben in MB-Größe. Meine Festplatte hat hier 16 GByte.

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

Partition unter Linux vergrößern und Dateisystem anpassen.

! Achtung wer hier noch keine Datensicherung gemacht hat, sollte unbedingt eine anlegen. Ab hier kann es Datenverlust geben ! Jeder ist für sein tun und handeln selbst verantwortlich !

Nun muss in die Konsole des Gastes (VM) gewechselt werden. Wichtig, wir brauchen root Rechte. Als erstes sollte man sich die aktuelle Partitionierung dokumentieren. Wichtig ist vor allem der Startsektor der ersten primären Partition. Sicherheitshalber muss auch dem Betriebssystem mitgeteilt werden, dass kein Swap zur Verfügung steht.

swapoff -a
fdisk /dev/sda

Mit der Eingabe von "m" kann man sich alle möglichen Befehle anzeigen lassen.

Mit "p" wir die aktuelle Partitionstabelle angezeigt.
Command (m for help): p
Disk /dev/sda: 15,6 GiB, 16777216000 bytes, 32768000 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: 0xxxxxxxx

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        2048 15988735 15986688  7,6G 83 Linux
/dev/sda2       15990782 16775167   784386  383M  5 Extended
/dev/sda5       15990784 16775167   784384  383M 82 Linux swap / Solaris

Hier ist nun schon zu sehen, dass die Festplatte in etwa 16 GB hat. Allerdings werden von allen Partitionen nur etwa 8 GB belegt. Jetzt kann man mit „d“ jede Partition einzeln löschen. Sind alle gelöscht, werden mit dem Befehl „n“ wieder die neuen Partitionen angelegt. Hierbei ist peinlichst genau darauf zu achten, dass die erste Linuxpartition wieder den selben Startsektor hat wie die alte Partition.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-32767999, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-32767999, default 32767999): +15G

Wichtig ist auch eine primäre Partition zu erstellen. Diese muss auch die gleiche Partitionsnummer haben. Mit „+15G“ habe ich die Größe festgelegt. Ist das geschehen, so müssen noch die erweiterte Partition mit der Swap-Partition angelegt werden.

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): e
Partition number (2-4, default 2):
First sector (31459328-32767999, default 31459328):
Last sector, +sectors or +size{K,M,G,T,P} (31459328-32767999, default 32767999):

Created a new partition 2 of type 'Extended' and of size 639 MiB.

Drückt man hier nur <Enter>, werden die vorgeschlagenen Werte eingesetzt. Was auch richtig ist. Die erweiterte Partition mit 639 MB wurde angelegt. Nun muss noch eine logische Partition erzeugt werden und es muss der Partitionstyp auf „Swap“ geändert werden.

Command (m for help): n
Partition type
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l

Adding logical partition 5
First sector (31461376-32767999, default 31461376):
Last sector, +sectors or +size{K,M,G,T,P} (31461376-32767999, default 32767999):

Created a new partition 5 of type 'Linux' and of size 638 MiB.


Command (m for help): t
Partition number (1,2,5, default 5): 5
Hex code (type L to list all codes): 82

Die zu ändernde Partition hat hier die Nummer 5. Nun kann man sein Werk betrachten.

Command (m for help): p
Disk /dev/sda: 15,6 GiB, 16777216000 bytes, 32768000 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: 0xxxxxxxx

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1           2048 31459327 31457280   15G 83 Linux
/dev/sda2       31459328 32767999  1308672  639M  5 Extended
/dev/sda5       31461376 32767999  1306624  638M 82 Linux swap / Solaris

Bis hierher ist noch nichts passiert! Die Partitionstabelle ist noch nicht überschrieben. Wer also keine Datensicherung hat, sollte schleunigst eine machen.

Ist man sich sicher, kann man mit „w“ die neue Partitionstabelle speichern. Nun muss das Betriebssystem neu gestartet werden, da der Kernel die Änderung an der Partitionstabelle nicht mitbekommen hat.

reboot

Der Neustart wird etwas länger dauern, da das Betriebssystem die Swap-Partition suchen wird und nicht mounten kann.

Ist der Neustart geglückt, so kann man das Dateisystem vergrößern und eine neu Swap-Partition anmelden.

resize2fs -p /dev/sda1

Nachdem das Dateisystem erfolgreich vergrößert wurde, kann man nun die neue Swap-Partition erstellen.

 mkswap /dev/sda5
Setting up swapspace version 1, size = 653308 KiB
no label, UUID=ca7fc644-0e84-4c13-8802-1bbb5a1e2024

Nach erfolgreicher Durchführung gibt das Tool die neue UUID der Partition bekannt. Diese muss noch in der fstab eingetragen werden.

vim /etc/fstab
UUID=ca7fc644-0e84-4c13-8802-1bbb5a1e2024 none            swap    sw              0       0

Hier reicht es den bereits vorhandenen Eintrag mit der neuen UUID zu korrigieren. Ist das erfolgt, so kann dem Betriebssystem wieder mitgeteilt werden, dass es einen Swap-Bereich hat und nutzen kann.

swapon -a

Schreibe einen Kommentar