Ubuntu 12.04 Precise Pangolin
Dieser Artikel beschreibt, wie man ein bestehendes ext3-Dateisystem ohne eine Neuinstallation in ein ext4-Dateisystem umwandelt. Unter Ubuntu kann man ext4 seit 9.04 Jaunty Jackalope verwenden.
Ältere Versionen von Grub sind nicht in der Lage, Kernel von einem ext4-Dateisystem zu starten. Die notwendige Grub-Version hält erst mit der Ubuntu-Version 9.10 (Karmic Koala) Einzug. Aber auch hier wird diese Version nur verwendet, wenn eine Neuinstallation gemacht wurde. Bevor man also auf das ext4-Dateisystem wechselt, sollte man unbedingt sicherstellen, dass entweder GRUB 2 installiert ist, oder aber die Kernel auf einer separaten Boot-Partition liegen, welche weiterhin ein ext3-Dateisystem verwendet.
Alle Dateisysteme der ext-Reihe sind untereinander aufwärts kompatibel. Das heißt, dass ein ext2 ohne Datenverlust in ein ext3 umgewandelt werden kann. Aus einem ext3 kann man genauso problemlos ein ext4 machen.
Umgekehrt ist das nicht so einfach. Zwar kann ein ext3 durch Entfernen des Journals wieder in ein ext2 überführt werden, der Weg von ext4 zurück nach ext3 oder ext2 ist jedoch nicht möglich.
Da bei Upgrade eines ext3-Filesystems ein Mischsystem entsteht, bei dem nur neu angelegte Dateien in ext4-Strukturen verwaltet werden, wird nicht das volle Potential eines ext4-Dateisystems ausgeschöpft. Man sollte also ernsthaft eine Neuerstellung des Dateisystems in Betracht ziehen.
ext4 bietet einige Neuerungen und Verbesserungen gegenüber ext3. Genaueres kann man im Artikel Dateisystem nachlesen.
Man sollte sich aber im Klaren sein, dass bei einer Neuentwicklung wie ext4 immer noch unentdeckte Fehler auftreten können (obwohl das bei dem jetzigen Entwicklungsstand nicht sehr wahrscheinlich ist). Ob man ext4 daher schon verwenden sollte, muss man für sich selbst entscheiden. In jedem Fall sollte man für regelmäßige Datensicherungen auf einem Datenträger sorgen, auf dem das Dateisystem nicht ext4 ist (das gilt natürlich nicht nur für ext4, sondern für jedes andere Dateisystem auch!)
Um ein bestehendes ext3- in ein ext4-Dateisystem umzuwandeln, müssen die entsprechenden Dateisystemeigenschaften hinzugefügt werden. Nach dem Ändern der Optionen muss ein Dateisystemcheck durchgeführt werden.
Trotz der Tatsache, dass man praktisch gefahrlos ein ext3-Dateisystem nach ext4 konvertieren kann, ist es ratsam, vorher eine Datensicherung zumindest aller wichtigen Daten und der Konfiguration in /etc zu machen!
Da die zu ändernde Partition bei dem Dateisystemcheck nicht eingehängt sein darf, startet man den Rechner mit einer Live-CD. Dies ist nicht nötig, wenn die zu konvertierende Partition keine Root-Partition ist, da man diese direkt aushängen kann.
Dabei muss das Live-System mindestens mit dem Linux-Kernel 2.6.28 laufen, da bei älteren Versionen ext4 noch nicht stabil unterstützt wurde. Bei Ubuntu ist das ab Jaunty Jackalope der Fall.
Über folgende Befehle kann die genaue Bezeichnung der zu konvertierenden Partition ermittelt werden [1]:
sudo fdisk -l sudo blkid
Nun werden die Optionen mit Hilfe von tune2fs hinzugefügt [1].
sudo tune2fs -O extents,uninit_bg,dir_index /dev/<Gerätedatei>
Für <Gerätedatei>
wird die gerade ermittelte Bezeichnung eingefügt.
Abschließend muss noch ein Dateisystemcheck durchgeführt werden. Die Partition darf dabei nicht eingehängt sein!
sudo fsck -fCVD /dev/<Gerätedatei>
Durch das Hinzufügen der ext4 Optionen werden neu angelegte Daten im ext4 Format gespeichert. Bereits bestehende Dateien und Verzeichnisse, die noch mit ext3 angelegt wurden, bleiben auf dem Stand von ext3, bis sie neu geschrieben werden. Später soll es mit dem noch in Entwicklung befindlichen Defragmentierungsprogramm möglich sein, alle Daten während des Betriebes nach ext4 zu überführen.
Damit die Partition beim Systemstart als ext4 eingebunden wird, muss nun noch der Eintrag in der fstab angepasst werden. Dazu wird die Rootpartition bzw. die geänderte Partition in das Live-System eingebunden:
sudo mount /dev/<Gerätedatei> /mnt
Für <Gerätedatei>
wird hier die Bezeichnung der (Root-) Partiton eingesetzt.
Nun wird die fstab des "realen" Systems mit einem Editor eigener Wahl [2] mit Rootrechten geöffnet. Bei der entsprechenden Partition wird der "ext3" Eintrag durch "ext4" ersetzt:
UUID=f72aac23-092f-4484-b35c-f222c106d716 / ext4 relatime 0 1
Die UUID ist natürlich systemspezifisch, ändert sich durch die Konvertierung von ext3 nach ext4 aber nicht.
Nach dem Speichern der Datei kann man die Live-CD entfernen, das normale System starten und die geänderte Partition mit ext4 nutzen.
Wenn man sein ext3 Filesystem beibehalten möchte, aber dennoch einige Features von ext4 nutzen will, wie z.b. Multiblock-Allocation und Delayed-Allocation, so kann man mit folgender Ersetzungen in der fstab sein vorhandes ext3 Filesystem als ext4 mounten lassen [2] .
Vorher:
UUID=f72aac23-092f-4484-b35c-f222c106d716 / ext3 relatime 0 1
Nachher:
UUID=f72aac23-092f-4484-b35c-f222c106d716 / ext4 relatime 0 1
Diese Revision wurde am 24. Mai 2015 21:35 von cornix erstellt.