Wie man die Größe von ext3 Partitionen anpasst ohne Daten zu verlieren

Version 1.0
Author: Falko Timme


Diese Anleitung veranschaulicht, wie man die Größe von ext3 Partitionen anpasst ohne Daten zu verlieren. Sie zeigt, wie man vorhandene ext3 Partitionen verkleinert und vergrößert und wie man zwei ext3 Partitionen vereint. Das kann sehr nützlich sein, wenn man LVM nicht verwendet und feststellt, dass die aktuelle Partitionierung nicht mehr den Vorstellungen entspricht.

Es gibt viele Möglichkeiten dieses Ziel zu erreichen - dies ist der Weg, den ich gewählt habe. Ich übernehme keine Garantie, dass dies auch bei Dir funktioniert!

1 Vorbemerkung

(Ich führe alle Befehle dieser Anleitung als Root-Benutzer aus, also vergewissere Dich, dass Du als Root angemeldet bist. Wenn Du Dich auf einem Ubuntu System befindest, wirst Du wie folgt zum Root-Benutzer:

sudo su

)

Ich habe dies auf einem Ubuntu Edgy Eft Desktop System getestet, das alle Dateien in einer großen Partition hat (ungefähr 10 GB, Gerät /dev/sda1). Die Partitionierung sieht wie folgt aus:

df -h


Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.5G 4.1G 4.9G 46% /
varrun 94M 132K 94M 1% /var/run
varlock 94M 0 94M 0% /var/lock
udev 10M 52K 10M 1% /dev
devshm 94M 0 94M 0% /dev/shm
lrm 94M 18M 77M 19% /lib/modules/2.6.17-10-generic/volatile

Die Partition, die in ihre Größe angepasst werden soll, darf nicht eingehängt sein wenn die Anpassung vorgenommen wird; ganz offensichtlich ist das nicht möglich, wenn es dabei um die Partition geht, die alle wichtigen System-Dateien enthält. Daher laden wir eine Live Linux-CD runter, wie zum Beispiel Knoppix, von der aus wir später starten (wenn Du zu dem System physischen Zugang hast). Wenn es sich um ein entferntes System handelt, zu dem Du keinen Zugang hast, benötigst Du auf diesem System ein Rettungssystem (viele Hostingfirmen bieten heutzutage dedizierte Server mit Rettungssystemen an), mit dem Du starten kannst (anstelle von Knoppix). Dieses Rettungssystem muss folgende Tools haben: fdisk, umount, fsck, tune2fs, e2fsck, resize2fs.

Wenn die Partition, die Du anpassen möchtest, keine System-Dateien beinhaltet (wie zum Beispiel /home Partitionen, Partitionen für Backups, etc.), benötigst Du keine Knoppix Live-CD oder ein Rettungssystem, da dann alle Schritte vom ursprünglichen System aus durchgeführt werden können.

Wenn Du Partitionen auf Produktivsystemen verändern möchtest, dann sichere vorher bitte Deine Dateien, da Du all Deine Dateien verlieren könntest, wenn Du die Größe Deiner neuen Partition falsch kalkulierst (vor allem wenn Du eine Partition verkleinerst)! Du wurdest also gewarnt! Anleitungen über Backups findest Du hier: http://www.howtoforge.com/taxonomy_menu/1/34
Ich werde in dieser Anleitung /dev/sda1 verändern. Wenn Deine Partition anders bezeichnet ist, ersetze bitte /dev/sda1 mit Deinem eigenen Gerät (z.B. /dev/hda5, /dev/sdb3, etc.).

2 Eine ext3 Partition verkleinern

Dieses Kapitel befasst sich mit dem Verkleinern einer ext3 Partition. Ich möchte in diesem Beispiel /dev/sda1 verkleinern. Zunächst tragen wir einige Informationen über unser ursprüngliches System zusammen:

df


Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 9859036 4234908 5123304 46% /
varrun 95480 132 95348 1% /var/run
varlock 95480 0 95480 0% /var/lock
udev 10240 52 10188 1% /dev
devshm 95480 0 95480 0% /dev/shm
lrm 95480 17580 77900 19% /lib/modules/2.6.17-10-generic/volatile

df -B 4k


Filesystem 4K-blocks Used Available Use% Mounted on
/dev/sda1 2464759 1058727 1280826 46% /
varrun 23870 33 23837 1% /var/run
varlock 23870 0 23870 0% /var/lock
udev 2560 13 2547 1% /dev
devshm 23870 0 23870 0% /dev/shm
lrm 23870 4395 19475 19% /lib/modules/2.6.17-10-generic/volatile

df -h


Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.5G 4.1G 4.9G 46% /
varrun 94M 132K 94M 1% /var/run
varlock 94M 0 94M 0% /var/lock
udev 10M 52K 10M 1% /dev
devshm 94M 0 94M 0% /dev/shm
lrm 94M 18M 77M 19% /lib/modules/2.6.17-10-generic/volatile

fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 1247 10016496 83 Linux
/dev/sda2 1248 1305 465885 5 Extended
/dev/sda5 1248 1305 465853+ 82 Linux swap / Solaris

fdisk -s /dev/sda1

10016496

Dann fahren wir das System runter und starten in unsere Knoppix Live-CD (oder Dein Rettungssystem) (wenn die Partition, die Du ändern möchtest, keine System-Dateien enthält, kannst Du alles vom ursprünglichen System aus durchführen; die Schritte sind die gleichen, lass einfach das Starten in Knoppix/Dein Rettungssystem aus).

shutdown -r now

Nachdem Knoppix gestartet ist, öffne eine Terminalfenster und werde Root indem Du Folgendes ausführst

su

/dev/sda1 sollte standardmäßig nicht eingehängt sein, aber um sicher zu gehen, kannst Du dies ausführen

umount /dev/sda1

Führe dann dies aus

fsck -n /dev/sda1

Die Ausgabe sollte wie folgt aussehen:

fsck 1.38 (30-Jun-2005)
e2fsck 1.38 (30-Jun-2005)
/dev/sda1: clean, 159037/1254176 files, 1095299/2504124 blocks

Als Nächstes entfernen wir das Journal von /dev/sda1, auf diese Weise verwandeln wir es in eine ext2 Partition:

tune2fs -O ^has_journal /dev/sda1

Die Ausgabe sieht wie folgt aus:

tune2fs 1.38 (30-Jun-2005)

Führe dann Folgendes aus

e2fsck -f /dev/sda1


e2fsck 1.38 (30-Jun-2005)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda1: 164178/1254176 files (0.6% non-contiguous), 1051617/2504124 blocks

Nun ändern wir die Größe unseres Dateisystems mit resize2fs. resize2fs kann ext2 Dateisysteme ändern, aber keine ext3 Dateisysteme. Daher mussten wir /dev/sda1 in ext2 umwandeln. Zur Zeit werden  4.1GB auf  /dev/sda1 verwendet (siehe die obige df -h Ausgabe). Es ist also in Ordnung sie von 10GB auf 6GB zu verkleinern (wenn Du sie kleiner als 4.1GB machst, wirst Du Daten verlieren!). Daher führen wir dies aus

resize2fs /dev/sda1 6000M

Die Ausgabe ist wie folgt:

resize2fs 1.38 (30-Jun-2005)
Resizing the filesystem on /dev/sda1 to 1536000 (4k) blocks.
The filesystem on /dev/sda1 is now 1536000 blocks long.

Bitte notiere Dir die Anzahl von Blocks (1536000) und deren Größe (4k). Wir benötigen das gleich.

Nun löschen wir unsere /dev/sda1 Partition (hab keine Angst, es werden keine Daten verloren gehen) und erstellen eine neue, kleinere Partition (aber immer noch groß genug für unser verändertes Dateisystem!). Dies können wir mit fdisk ausführen:

fdisk /dev/sda

(Ja, es ist /dev/sda nicht /dev/sda1.)

The number of cylinders for this disk is set to 1305.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Tippe m um eine Liste aller Befehl anzeigen zu lassen:


Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Nun löschen wir Partition Nr. 1 (/dev/sda1):


Command (m for help): d
Partition number (1-5): 1

Als Nächstes erstellen wir eine neue /dev/sda1 Partition. Vorher war es eine primäre Partition, also wählen wir wieder p  und schon ist es wieder unsere Partition Nr. 1:

Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
p
Partition number (1-4): 1

Nun kommt der kritische Part - wir werden nach der Größe unserer neuen Partition gefragt. Der erste Zylinder ist kein Problem, es ist der von der fdisk -l Ausgabe am Anfang dieses Kapitels (1).

First cylinder (1-1305, default 1): 1

Allerdings haben wir keinen Wert für den letzten Zylinder unserer neuen Partition. Glücklicherweise können wir die Größe in Kilobytes (K) angeben, also berechnen wir die Größe wie folgt:

Wir multiplizieren die Anzahl der Blocks der resize2fs Ausgabe (1536000) mit der Größe eines Blocks (4k) und um sicher zu gehen, dass die Partition groß genug ist, fügen wir 3 bis 5% hinzu (3% hat bei mir gereicht, aber wenn Du sicher gehen willst, dann nimm 5%):

1536000 * 4k * 1.03 = 6328320k

Also stellen wir dem Wert ein + Zeichen voran und ersetzen das kleine k mit einem Großbuchstaben (K) und geben es ein:

Last cylinder or +size or +sizeM or +sizeK (1-1247, default 1247): +6328320K

Unsere originale /dev/sda1 hatte eine Boot Flag (siehe fdisk -l Ausgabe zu Beginn des Kapitels), also müssen wir sie unserer neuen /dev/sda1 hinzufügen:

Command (m for help): a
Partition number (1-5): 1

Lass uns nun unsere neue Partitionstabelle schreiben und beenden fdisk:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.


WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

Nun starten wir das System neu und starten wieder in unser Knoppix System (Rettungssystem; ursprüngliches System wenn die geänderte Partition keine System-Dateien enthält):

shutdown -r now

Werde wieder Root-Benutzer (führe auf Knoppix dies aus

su

)

und führe dann Folgendes aus:

fsck -n /dev/sda1


Die Ausgabe sollte wie folgt aussehen:

fsck 1.38 (30-Jun-2005)
e2fsck 1.38 (30-Jun-2005)
/dev/sda1: clean, 159036/765536 files, 1047239/1536000 blocks

Dann erstellen wir das Journal auf unserer neuen /dev/sda1, auf diese Weise wandeln wir sie wieder in eine ext3 Partition  um:

tune2fs -j /dev/sda1


tune2fs 1.38 (30-Jun-2005)
Creating journal inode: done
This filesystem will be automatically checked every 30 mounts or
0 days, whichever comes first. Use tune2fs -c or -i to override.

Nun sind wir fertig. Fahre das System runter und starte im originalen System:

shutdown -r now

Wenn alles klappt, wird das originale System starten und keine Daten sind verloren gegangen. Nun können wir einige Angaben über unsere neue Partition zusammentragen und sie mit den Informationen, die wir zu Anfang dieses Kapitels abgerufen haben, vergleichen:

df


Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 6047868 4224140 1639408 73% /
varrun 95480 132 95348 1% /var/run
varlock 95480 0 95480 0% /var/lock
udev 10240 52 10188 1% /dev
devshm 95480 0 95480 0% /dev/shm
lrm 95480 17580 77900 19% /lib/modules/2.6.17-10-generic/volatile

df -B 4k


Filesystem 4K-blocks Used Available Use% Mounted on
/dev/sda1 1511967 1056035 409852 73% /
varrun 23870 33 23837 1% /var/run
varlock 23870 0 23870 0% /var/lock
udev 2560 13 2547 1% /dev
devshm 23870 0 23870 0% /dev/shm
lrm 23870 4395 19475 19% /lib/modules/2.6.17-10-generic/volatile

df -h


Filesystem Size Used Avail Use% Mounted on
/dev/sda1 5.8G 4.1G 1.6G 73% /
varrun 94M 132K 94M 1% /var/run
varlock 94M 0 94M 0% /var/lock
udev 10M 52K 10M 1% /dev
devshm 94M 0 94M 0% /dev/shm
lrm 94M 18M 77M 19% /lib/modules/2.6.17-10-generic/volatile

fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 789 6337611 83 Linux
/dev/sda2 1248 1305 465885 5 Extended
/dev/sda5 1248 1305 465853+ 82 Linux swap / Solaris

fdisk -s /dev/sda1

6337611


3 Eine ext3 Partition vergrößern

In diesem Beispiel haben wir eine /dev/sda1 Partition mit einer Größe von ungefähr 6GB und direkt nach dieser Partition haben wir ungenutzten Speicherplatz von ungefähr 4GB. Wir möchten diese 4GB ungenutzten Platz unserer /dev/sda1 Partition hinzufügen (das funktioniert nicht, wenn diese 4GB nicht direkt hinter unserer /dev/sda1 Partition kommen, sondern irgendwo anders auf der Festplatte sind!).

Zunächst tragen wir wieder einige Informationen über unsere derzeitige Partitionierung zusammen:

df


Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 6047868 4224140 1639408 73% /
varrun 95480 132 95348 1% /var/run
varlock 95480 0 95480 0% /var/lock
udev 10240 52 10188 1% /dev
devshm 95480 0 95480 0% /dev/shm
lrm 95480 17580 77900 19% /lib/modules/2.6.17-10-generic/volatile

df -B 4k


Filesystem 4K-blocks Used Available Use% Mounted on
/dev/sda1 1511967 1056035 409852 73% /
varrun 23870 33 23837 1% /var/run
varlock 23870 0 23870 0% /var/lock
udev 2560 13 2547 1% /dev
devshm 23870 0 23870 0% /dev/shm
lrm 23870 4395 19475 19% /lib/modules/2.6.17-10-generic/volatile

df -h


Filesystem Size Used Avail Use% Mounted on
/dev/sda1 5.8G 4.1G 1.6G 73% /
varrun 94M 132K 94M 1% /var/run
varlock 94M 0 94M 0% /var/lock
udev 10M 52K 10M 1% /dev
devshm 94M 0 94M 0% /dev/shm
lrm 94M 18M 77M 19% /lib/modules/2.6.17-10-generic/volatile

fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 789 6337611 83 Linux
/dev/sda2 1248 1305 465885 5 Extended
/dev/sda5 1248 1305 465853+ 82 Linux swap / Solaris

fdisk -s /dev/sda1

6337611

Dann fahren wir das System runter und starten in unsere Knoppix Live-CD (oder das Rettungssystem) (wenn die Partition, die Du ändern möchtest, keine System-Dateien enthält, kannst Du alles vom ursprünglichen System aus durchführen; die Schritte sind die gleichen, lass einfach das Starten in Knoppix/Dein Rettungssystem aus).

shutdown -r now

Nachdem Knoppix gestartet ist, öffne ein Terminalfenster und werde Root-Benutzer indem Du dies ausführst

su

/dev/sda1 sollte standardmäßig nicht eingehängt sein, um sicher zu gehen, kannst Du dies ausführen

umount /dev/sda1

Führe dann dies aus

fsck -n /dev/sda1


fsck 1.38 (30-Jun-2005)
e2fsck 1.38 (30-Jun-2005)
/dev/sda1: clean, 159036/765536 files, 1080014/1536000 blocks

Als Nächstes entfernen wir das Journal von /dev/sda1, auf diese Weise wandeln wir sie in eine ext2 Partition um:

tune2fs -O ^has_journal /dev/sda1

Die Ausgabe sieht wie folgt aus:

tune2fs 1.38 (30-Jun-2005)

Nun verwenden wir fdisk um unsere derzeitige /dev/sda1 Partition zu löschen und eine größere zu erstellen (keine Angst, es gehen keine Daten verloren):

fdisk /dev/sda

(Ja, es ist /dev/sda, nicht /dev/sda1.)

The number of cylinders for this disk is set to 1305.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Tippe m um eine Liste von allen Befehlen zu erhalten:

Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Lass uns nun die Partitionstabelle anzeigen:

Command (m for help): p


Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 789 6337611 83 Linux
/dev/sda2 1248 1305 465885 5 Extended
/dev/sda5 1248 1305 465853+ 82 Linux swap / Solaris

Nun löschen wir Partition Nr. 1 (/dev/sda1):

Command (m for help): d
Partition number (1-5): 1

Als Nächstes erstelle wir eine neue /dev/sda1 Partition. Sie war vorher eine primäre, also wählen wir wieder p und schon ist sie wieder unsere Partition Nr. 1:

Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
p
Partition number (1-4): 1

Nun müssen wir den ersten und letzten Zylinder unserer neuen /dev/sda1 Partition festlegen. Wir kennen den ersten Zylinder, wir können ihn aus der vorherigen fdisk -l Ausgabe nehmen:

First cylinder (1-1305, default 1): 1


Nun gibt uns fdisk den höchstmöglichen Zylinder unserer neuen Partition an (1247 in diesem Beispiel), also geben wir einfach diese Nummer ein:

Last cylinder or +size or +sizeM or +sizeK (1-1247, default 1247): 1247

Lass uns jetzt unsere neue Partitionstabelle anzeigen:

Command (m for help): p


Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 1247 10016496 83 Linux
/dev/sda2 1248 1305 465885 5 Extended
/dev/sda5 1248 1305 465853+ 82 Linux swap / Solaris

Unsere ursprüngliche /dev/sda1 hatte die Boot Flag (siehe fdisk -l Ausgabe vom Anfang dieses Kapitels), also müssen wir es wieder unserer neuen /dev/sda1 hinzufügen:

Command (m for help): a
Partition number (1-5): 1

Lass uns nun unsere neue Partitionstabelle schreiben und fdisk beenden:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.


WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

Nun starten wir das System neu und starten wieder in unser Knoppix System (Rettungssystem; originales System, wenn die geänderte Partition keine System-Dateien enthält):

shutdown -r now

Werde wieder Root-Benutzer (führe auf Knoppix dies aus

su

)

Führe dann Folgendes aus

e2fsck -f /dev/sda1

Nun müssen wir die Größe des Dateisystems in unserer /dev/sda1 Partition ändern. Wenn wir für den resize2fs Befehl keine Größe festlegen, geht es von der größtmöglichen Zahl aus, also müssen wir nicht rechnen. Wir führen also Folgendes aus

resize2fs /dev/sda1

Die Ausgabe sieht wie folgt aus:

resize2fs 1.38 (30-Jun-2005)
Resizing the filesystem on /dev/sda1 to 2504124 (4k) blocks.
The filesystem on /dev/sda1 is now 2504124 blocks long.

Als Nächstes führen wir dies aus

fsck -n /dev/sda1


fsck 1.38 (30-Jun-2005)
e2fsck 1.38 (30-Jun-2005)
/dev/sda1: clean, 159036/1254176 files, 1062544/2504124 blocks

und erstellen das Journal auf /dev/sda1, auf diese Weise wandeln wir sie wieder in eine ext3 Partition um:

tune2fs -j /dev/sda1


tune2fs 1.38 (30-Jun-2005)
Creating journal inode: done
This filesystem will be automatically checked every 30 mounts or
0 days, whichever comes first. Use tune2fs -c or -i to override.

Nun sind wir fertig. Fahre das System runter und starte ins originale System:

shutdown -r now

Wenn alles klappt, wird das originale System starten und keine Daten sind verloren gegangen. Nun können wir einige Angaben über unsere neue Partition zusammentragen und sie mit den Informationen, die wir zu Anfang dieses Kapitels abgerufen haben, vergleichen:

df


Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 9859036 4224032 5234348 45% /
varrun 95480 132 95348 1% /var/run
varlock 95480 0 95480 0% /var/lock
udev 10240 52 10188 1% /dev
devshm 95480 0 95480 0% /dev/shm
lrm 95480 17580 77900 19% /lib/modules/2.6.17-10-generic/volatile

df -B 4k


Filesystem 4K-blocks Used Available Use% Mounted on
/dev/sda1 2464759 1056008 1308587 45% /
varrun 23870 33 23837 1% /var/run
varlock 23870 0 23870 0% /var/lock
udev 2560 13 2547 1% /dev
devshm 23870 0 23870 0% /dev/shm
lrm 23870 4395 19475 19% /lib/modules/2.6.17-10-generic/volatile

df -h


Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.5G 4.1G 5.0G 45% /
varrun 94M 132K 94M 1% /var/run
varlock 94M 0 94M 0% /var/lock
udev 10M 52K 10M 1% /dev
devshm 94M 0 94M 0% /dev/shm
lrm 94M 18M 77M 19% /lib/modules/2.6.17-10-generic/volatile

fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 1247 10016496 83 Linux
/dev/sda2 1248 1305 465885 5 Extended
/dev/sda5 1248 1305 465853+ 82 Linux swap / Solaris

fdisk -s /dev/sda1

10016496


4 Zwei ext3 Partitionen vereinen

In diesem Beispiel habe ich wieder meine System-Partition /dev/sda1 (ungefähr 6GB groß), die auf der Festplatte direkt gefolgt wird von der Partition /dev/sda3 (ungefähr 4GB groß). /dev/sda3 ist im /data Verzeichnis eingehängt und enthält keine Dateien, die vom Linux System benötigt werden, nur Benutzer-Daten. Die derzeitige Partitionierung sieht wie folgt aus:

df -h


Filesystem Size Used Avail Use% Mounted on
/dev/sda1 5.8G 4.1G 1.6G 73% /
varrun 94M 132K 94M 1% /var/run
varlock 94M 0 94M 0% /var/lock
udev 10M 56K 10M 1% /dev
devshm 94M 0 94M 0% /dev/shm
lrm 94M 18M 77M 19% /lib/modules/2.6.17-10-generic/volatile
/dev/sda3 3.5G 72M 3.3G 3% /data

Um /dev/sda1 und /dev/sda3 zu vereinen, müssen wir /dev/sda3 löschen und dann  /dev/sda1 vergrößern, was in Kapitel 3 beschrieben wurde. Das bedeutet, dass alle Daten auf /dev/sda3 verloren gehen, wenn Du sie also später noch einmal benötigst, dann sichere sie irgendwo anders und stelle sie dann auf der neuen und größeren  /dev/sda1 wieder her!

Nun öffnen wir /etc/fstab und entfernen die Zeile für  /dev/sda3 wenn sie da existiert:

vi /etc/fstab

Die neue Datei ohne  /dev/sda3 könnte wie folgt aussehen:
# /etc/fstab: static file system information.
# # proc /proc proc defaults 0 0 # /dev/sda1 UUID=566fd9e9-098f-4aae-9908-51efe171d8ba / ext3 defaults,errors=remount-ro 0 1 # /dev/sda5 UUID=82102b65-35db-469a-9532-03d619d8cffb none swap sw 0 0 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/ /media/floppy0 auto rw,user,noauto 0 0
Dann hängen wir /dev/sda3 aus und führen fdisk aus um es zu löschen. Das kann immer noch auf dem ursprünglichen System getan werden, da /dev/sda3 keine System-Dateien beinhaltet:

umount /dev/sda3

fdisk /dev/sda

(Ja, es ist /dev/sda, nicht /dev/sda1.)


The number of cylinders for this disk is set to 1305.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Tippe m um eine Liste aller Befehle anzeigen zu lassen:

Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Lass uns nun /dev/sda3 löschen:

Command (m for help): d
Partition number (1-5): 3

Danach schreiben wir die neue Partitionstabelle auf die Festplatte:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.


WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

Nun fahren wir das System runter:

shutdown -r now

und starten in unsere Knoppix Live-CD (oder das Rettungssystem). Von hier an sind die folgenden Schritte mit den Schritten von Kapitel 3 identisch, angefangen mit

su

umount /dev/sda1

sieh Dir also Kapitel 3 an.

5 Links