Wie kann ich meine Root-Partition von BTRFS nach EXT4 konvertieren?

13

Ist es möglich, btrfs nach ext4 zu konvertieren, ohne Daten zu verlieren? Bei Lese- / Schreibvorgängen auf btrfs ist die Geschwindigkeit sehr niedrig.

mFat
quelle

Antworten:

7

Ich greife nur auf die verfügbaren Tools zurück, nicht auf Erfahrung oder Dokumentation. Vielleicht möchten Sie dies mit einer Partition (auch nur mit einem Image) testen, die Sie gerne verlieren, wenn alles schief geht. Versuchen Sie dies nicht, ohne ein Backup zu erstellen.

btrfs-converthat eine Rollback-Funktion, um eine Konvertierung rückgängig zu machen. Ich bin mir nicht sicher , ob dies für Partitionen funktioniert , die nicht konvertiert wurden btrfsmit btrfs-convert.

  1. Hängen Sie zunächst das Dateisystem aus. Wenn es für das System unerlässlich ist, starten Sie eine LiveCD.

  2. Installieren btrfs-tools

    sudo apt-get install btrfs-tools
    
  3. Machen Sie die Konvertierung rückgängig

    sudo btrfs-convert -r /dev/sdXn
    
Oli
quelle
6
Beachten Sie, dass dies nur mit konvertierten Dateisystemen funktioniert und nur, wenn Sie den Snapshot des ursprünglichen ext3 / 4-Dateisystems nicht gelöscht haben.
htorque
Vielen Dank, aber leider funktioniert dies nicht für eine BTRFS-Partition, die nicht aus anderen Dateisystemen konvertiert wurde. H denke, ich muss neu installieren.
mFat
7
Beachten Sie, dass dadurch alle Änderungen, die seit der Konvertierung am Dateisystem vorgenommen wurden, verworfen werden . Es wird auf den Inhalt des ext2 / 3-Dateisystems wie vor der Konvertierung zurückgesetzt.
Poolie
4

Soweit ich weiß, können Sie btrfs nicht in ein anderes Dateisystem konvertieren.

Drehmoment
quelle
nicht wahr, wenn du ext in btrfs konvertiert hast! Sie hätten einen Schnappschuss, um die Änderungen
rückgängig zu machen
1

Ich habe dies mit einem System mit Multiboot-Distributionen gemacht (Ubuntu auf ext4, Xubuntu auf btrfs). Unter Ubuntu habe ich die Home-Partition von Xubuntu btrfs mit fsarchiver archiviert. Ich war dann in der Lage, es wieder mit fsarchiver auf einer anderen Partition wiederherzustellen und den ext4-Dateisystemtyp anzugeben. Das schien in Ordnung zu funktionieren.

Immer noch in Ubuntu habe ich die Xubuntu-Root-Partition unter / mnt gemountet und / mnt / @ / etc / fstab bearbeitet, um den Mount für / home so zu ändern, dass er auf die neue ext4-Partition zeigt, wobei sowohl die UUID als auch der fs-Typ geändert und gelöscht wurden die Subvolumendaten. Ich habe die Datei gespeichert und Xubuntu neu gestartet.

Beim Booten ist ein Fehler aufgetreten, und das Booten wurde abgebrochen. Der Fehler war, dass ich eine andere Partition hatte, die ich in mein ~ / Documents-Verzeichnis mounten wollte, was fehlgeschlagen ist. Ich habe ausgewählt, das Problem manuell zu beheben. Es stellte sich heraus, dass meine Root-Partition in Ordnung als ext4 gemountet war, aber als ich einen Listenbefehl ausführte, bekam ich

#ls /home
@home

Die ursprüngliche Subvolume-Struktur von btrfs befand sich also noch im ext4-Dateisystem. Ich habe den Befehl gegeben

mount --bind /home/@home /home

Ich drückte dann Strg-D, um weiter zu booten, und Xubuntu fuhr fort zu booten und alles lief gut. Ich habe es noch nicht getan, da ich noch beim ersten Start bin, aber ich bin mir sicher, dass ich diesen Bindebefehl in meine fstab-Datei schreiben kann. Oder vielleicht hätte ich die Subvolume-Informationen im fstab-Eintrag belassen können, ich weiß es nicht.

Ich werde stattdessen jedoch (dies ist vom Thema abweichend) eine ausgereiftere Instanz einer / home-Partition (ext4) für Xubuntu von einem anderen Computer nehmen und diese stattdessen verwenden. Ich habe bereits bewiesen, dass dies funktionieren wird.

randyman99
quelle