So migrieren Sie Ext2- oder Ext3-Dateisysteme zu Ext4 unter Linux

Sie wissen, dass Ihr Linux-Dateisystem eine Aktualisierung benötigt, aber Sie scheuen den Aufwand? Hier erfahren Sie, wie Sie ext2 und ext3 zu ext4 konvertieren, ohne eine vollständige Neuinstallation vornehmen zu müssen.

Linux-Dateisysteme im Überblick

Das ext3-Dateisystem könnte man respektvoll als „ehrwürdig“ bezeichnen, es wurde immerhin 2001 eingeführt. Das ext2-Dateisystem, das bereits 1993 auf den Markt kam, ist hingegen schlichtweg uralt. Aus technologischer Sicht ist ext3 ein Relikt und ext2 ein archäologischer Fund.

Das zeitgemäße Dateisystem in der Linux-Welt ist ext4, veröffentlicht im Jahr 2008. Es arbeitet schneller, ist weniger anfällig für Fragmentierung, kann größere Dateisysteme und Dateien handhaben, besitzt präzisere Zeitstempel und ist, wie bereits erwähnt, deutlich schneller.

Umstellung auf ext4 – So geht’s

Wenn Sie Ihr Dateisystem aktualisieren möchten, sollten Sie auch eine Systemaktualisierung in Betracht ziehen. Das bedeutet, dass Sie Ihre Daten sichern, das System löschen, eine moderne Distribution neu installieren und die Daten zurückspielen. Nutzen Sie die Vorteile einer aktuellen Linux-Distribution mit aktualisierter Software und einem neu installierten Dateisystem.

Sollten Sie jedoch kein aktuelles Linux auf Ihrer Hardware ausführen können oder möchten Sie aus bestimmten Gründen Ihr bestehendes System beibehalten, dann gibt es trotzdem Möglichkeiten.

Für die Umstellung auf ext4 benötigen Sie mindestens Kernel-Version 2.6.28. Falls Ihre Kernel-Version niedriger ist, müssen Sie diese zunächst aktualisieren.

Wichtig: Versuchen Sie die Umstellung nicht ohne die passende Kernel-Version, da Ihr Computer sonst nicht mehr booten kann. Überprüfen Sie daher unbedingt Ihre Kernel-Version.

Halten Sie außerdem die Installations-Diskette Ihrer aktuellen Linux-Version bereit, da eine Dateisystem-Aktualisierung nicht risikofrei ist.

Sicherheitskopien sind essentiell. Sichern Sie Ihre Daten auf verschiedenen Medien und halten Sie die alte Linux-Installationsdiskette bereit. So können Sie im Notfall das alte System wiederherstellen.

Zusätzlich benötigen Sie eine Live-CD/DVD einer modernen Linux-Distribution für die Aktualisierung. Stellen Sie auch diese bereit.

Dieser Artikel wurde übrigens unter Verwendung einer Ubuntu Jaunty Jackalope Installation (April 2009) mit einem ext3 Dateisystem erstellt.

Bereit zum Start?

Als erstes prüfen wir die Kernel-Version mit dem Befehl uname, der verschiedene Systeminformationen anzeigen kann.

Öffnen Sie auf Ihrem alten Linux-Computer ein Terminalfenster und geben Sie uname -r ein und drücken Sie die Eingabetaste.

uname -r

Die Linux-Version in diesem Beispiel verwendet Kernel 2.6.28-11, wodurch die Voraussetzung erfüllt ist.

Erfüllen Sie diese Voraussetzung nicht, setzen Sie den Vorgang nicht fort! Es ist zwingend notwendig, dass Ihre Kernel-Version mindestens 2.6.28 beträgt.

Als Nächstes überprüfen wir die Festplatten-IDs mit dem Befehl blkid, der die Blockgeräte identifiziert.

blkid

In diesem Beispiel gibt es eine Festplatte (sda) mit einem Dateisystem (sda1), das unter /dev/sda1 eingehängt ist. Dies ist ein ext3-Dateisystem, das wir konvertieren werden. Daneben gibt es noch ein Swap-Dateisystem, das uns nicht interessiert.

Neustart mit Live-CD

Legen Sie die Live-CD ein und starten Sie den Computer neu. Möglicherweise müssen Sie eine Taste drücken, damit der Computer von der CD bootet. Diese wird beim Bootvorgang angezeigt. Seien Sie schnell, da das Zeitfenster kurz ist. Wenn Sie es verpassen, starten Sie neu.

Wenn Sie in die Live-CD-Umgebung gebootet haben, starten Sie keine Installation. Wählen Sie die Option aus, die in etwa „Distribution testen“ lautet.

Root-Rechte erlangen

Öffnen Sie ein Terminalfenster und geben Sie folgenden Befehl ein. Dieser Befehl erteilt Ihnen Root-Rechte, wodurch Sie sudo nicht mehr vor jedem Befehl verwenden müssen.

sudo bash

Beachten Sie, dass sich die Eingabeaufforderung geändert hat. Sie sind nun als Root angemeldet. Seien Sie vorsichtig.

Identifikation der Dateisysteme

Wir müssen die Dateisysteme erneut identifizieren, um zu sehen, wie sie in dieser Linux-Instanz angezeigt werden.

fdisk -l

Es erscheint eine Ausgabe ähnlich der folgenden.

Das vorher als sda1 identifizierte Dateisystem wurde von der Live-CD Linux gefunden und erkannt. Das ist der erste Meilenstein.

Als Nächstes folgt die Konvertierung des Dateisystems.

Konvertierung des Dateisystems

Hier sind die zwei Befehle, um von Ext2 zu Ext4 und von Ext3 zu Ext4 zu konvertieren. Verwenden Sie den für Ihr System passenden Befehl!

Für die Umwandlung von ext2 zu ext4:

tune2fs -O extents,uninit_bg,dir_index,has_journal /dev/sda1

Für die Umwandlung von ext3 zu ext4:

tune2fs -O extents,uninit_bg,dir_index /dev/sda1

Es passiert nicht viel. Sie gelangen wieder zur Eingabeaufforderung. Wenn Fehlermeldungen angezeigt werden, ist das schlecht. Keine Nachrichten sind hier eine gute Nachricht.

Überprüfung des Dateisystems

Obwohl keine Fehler gemeldet wurden, überprüfen wir das gesamte Dateisystem gründlich mit dem Befehl e2fsck. Dies ist ein Tool zur Überprüfung der Integrität von Dateisystemen und zur Behebung eventueller Probleme. Das Tool funktioniert mit ext2-, ext3- und ext4-Dateisystemen.

Die Option -p (preen) lässt e2fsck versuchen, Fehler zu beheben und -f (force) veranlasst e2fsck, das Dateisystem auch dann zu überprüfen, wenn es sauber erscheint.

e2fsck -pf /dev/sda1

Es wurden keine Fehler gemeldet. Nun können wir versuchen, das Dateisystem einzuhängen.

Einhängen des Dateisystems

Wir müssen die Dateisystemtabelle (fstab) und den Grub-Bootloader anpassen. Dazu müssen wir das Dateisystem mounten. Wir werden es nach /mnt mounten. Da das Dateisystem zuvor als sda1 identifiziert wurde, lautet der Befehl:

mount -t ext4 /dev/sda1 /mnt

Nachdem das Dateisystem eingehängt ist, können wir es auflisten. Das Stammverzeichnis des Dateisystems befindet sich am Einhängepunkt /mnt.

ls /mnt

Sieht gut aus! Es scheint alles wie erwartet zu sein.

Bearbeitung von fstab

Wir müssen die fstab-Datei bearbeiten und alle Einträge von ext3 (oder ext2) in ext4 ändern.

Die in diesem Beispiel verwendete Live-CD enthält den Nano-Editor. Wenn dieser auf Ihrer Live-CD fehlt, verwenden Sie den Editor, der mit der Linux-Distribution mitgeliefert wird.

nano /mnt/etc/fstab

Das Nano-Editor-Fenster wird geöffnet. Suchen Sie nach Einträgen mit „ext3“ oder „ext2“ und ändern Sie diese in „ext4“. In diesem Beispiel wurde „ext3“ einmal gefunden und markiert.

Der Eintrag wurde von ext3 in ext4 geändert.

Sie müssen die Datei speichern und den Editor schließen. In Nano speichert Strg+O die Datei und Strg+X schließt den Editor.

Aktualisierung von Grub

Da wir das sda1-Dateisystem nach /mnt gemountet haben, wurden die Pfade zu den Verzeichnissen im Dateisystem um eine Ebene nach unten verschoben. Daher lautet der Pfad, den wir für Nano angegeben haben, /mnt/etc/fstab anstelle von /etc/fstab.

Da Grub erwartet, Dinge an bestimmten Stellen zu finden, müssen wir das Dateisystem so erscheinen lassen, als wäre es normal gemountet. Wir brauchen das Wurzelverzeichnis unter / und nicht unter /mnt. Der Befehl chroot erlaubt uns, eine Befehlsshell auszuführen und den Wurzelpunkt anzugeben, den wir verwenden möchten.

Der zu verwendende Befehl lautet:

chroot /mnt

Beachten Sie, dass sich die Eingabeaufforderung geändert hat.

Nun können wir den Befehl update-grub ausführen, damit Grub die fstab-Datei liest und sich selbst neu konfiguriert.

update-grub

Nachdem sich Grub neu konfiguriert hat, müssen wir eine neue Grub-Instanz auf der Festplatte installieren. Beachten Sie, dass es sich um die Festplatte sda und nicht um das Dateisystem sda1 handelt. Geben Sie nur sda ein, ohne die Ziffer 1.

grub-install /dev/sda

Neustart Ihres Linux

Starten Sie Ihr System neu und entfernen Sie die Live-CD. Nach dem Neustart öffnen Sie ein Terminalfenster und geben Sie folgenden Befehl ein:

blkid

Wie zu sehen ist, ist das Dateisystem nun ein ext4-Dateisystem.

Der Neustart des Computers, der für diesen Artikel verwendet wurde, dauerte so lange (über zehn Minuten), dass man dachte, es sei etwas schief gelaufen und der Computer würde nicht mehr hochfahren.

Vielleicht lag es an der virtuellen Maschine oder an der Dateisystemkonvertierung während des ersten Bootvorgangs. Auf jeden Fall war Geduld gefragt und schließlich fuhr der Rechner wieder hoch. Falls bei Ihnen Ähnliches passiert, geben Sie dem Computer Zeit. Es kann noch alles gut gehen.

Nachfolgende Neustarts verliefen wie gewohnt schnell.

Alternative: Linux aktualisieren

Sie haben nun ein hybrides System, das eine alte Linux-Version mit einem neuen Dateisystem verwendet.

Wenn Ihnen ein modernes Dateisystem wichtig ist und Ihre Hardware es zulässt, ist der Wechsel zu einer aktuellen Linux-Distribution die beste Lösung. Sie profitieren von allen Sicherheits- und Softwarevorteilen.

In manchen Fällen haben Sie aber keine Wahl und müssen Ihr System behalten. Mit den beschriebenen Schritten können Sie dann Ihr Dateisystem aktualisieren.