Jak przekonwertować moją partycję root z BTRFS na EXT4?

13

Czy można konwertować btrfs na ext4 bez utraty danych? Mam bardzo małą prędkość operacji odczytu / zapisu na btrfs.

mFat
źródło

Odpowiedzi:

7

Używam tylko dostępnych narzędzi, a nie doświadczenia ani dokumentacji. Możesz to przetestować za pomocą partycji (nawet samego obrazu), której nie masz nic przeciwko utracie, jeśli wszystko pójdzie nie tak. Nie próbuj tego bez kopii zapasowej.

btrfs-convertma funkcję wycofywania, aby cofnąć konwersję. Nie jestem pewien, czy to działa na partycjach, które nie były konwertowane do btrfsz btrfs-convert.

  1. Zacznij od odmontowania systemu plików. Jeśli jest to niezbędne dla systemu, uruchom dysk LiveCD.

  2. zainstalować btrfs-tools

    sudo apt-get install btrfs-tools
    
  3. Cofnij konwersję

    sudo btrfs-convert -r /dev/sdXn
    
Oli
źródło
6
Zauważ, że będzie to działać tylko z przekonwertowanymi systemami plików i tylko wtedy, gdy nie usunąłeś migawki oryginalnego systemu plików ext3 / 4.
htorque
Dziękujemy, ale niestety nie działa to dla partycji btrfs nie przekonwertowanej z innych systemów plików. Zgaduję, że muszę ponownie zainstalować.
mFat
8
Pamiętaj, że spowoduje to usunięcie wszelkich zmian dokonanych w systemie plików od czasu jego konwersji . Zostanie przywrócony do zawartości systemu plików ext2 / 3, tak jak przed konwersją.
poolie
4

O ile mi wiadomo, nie można konwertować plików btrfs na żaden inny system plików.

htorque
źródło
nieprawda, jeśli konwertowałeś ext na btrfs! miałbyś migawkę, by cofnąć zmiany
Fookatchu
1

Zrobiłem to przy użyciu systemu z dystrybucjami z wieloma uruchomieniami (Ubuntu na ext4, Xubuntu na btrfs). Działając na Ubuntu, wziąłem partycję domową Xubuntu btrfs i zarchiwizowałem ją za pomocą fsarchiver. Byłem wtedy w stanie przywrócić go, ponownie za pomocą fsarchiver, na inną partycję i określić typ systemu plików ext4. Wydawało się, że działa dobrze.

Nadal w Ubuntu, zamontowałem partycję root Xubuntu na / mnt i edytowałem / mnt / @ / etc / fstab, aby zmienić sposób montowania dla / home, aby wskazywały na nową partycję ext4, zmieniając zarówno UUID, jak i typ fs, i usuwając dane objętości podrzędnych. Zapisałem plik i uruchomiłem ponownie w Xubuntu.

Wystąpił błąd podczas uruchamiania i rozruch został zatrzymany. Błąd polegał na tym, że miałem inną partycję, którą chciałem zamontować w moim katalogu ~ / Documents, która się nie powiodła. Wybrałem ręczne rozwiązanie problemu. Okazuje się, że moja partycja root zamontowała się dobrze jako ext4, ale kiedy wykonałem polecenie listy, dostałem

#ls /home
@home

Oryginalna struktura podobjętości btrfs wciąż istniała w systemie plików ext4. Wydałem polecenie

mount --bind /home/@home /home

Następnie nacisnąłem ctrl-D, aby kontynuować uruchamianie, Xubuntu kontynuował uruchamianie i wszystko poszło dobrze. Jeszcze tego nie zrobiłem, ponieważ wciąż jestem przy pierwszym rozruchu, ale jestem pewien, że mógłbym umieścić to polecenie bind w moim pliku fstab. A może mógłbym zostawić informacje o podwieszonkach we wpisie fstab, nie wiem.

Zamiast tego zrobię to (nie na temat), biorąc bardziej dojrzałe wystąpienie partycji / home (ext4) dla Xubuntu z innego komputera i używaj tego zamiast tego. Już udowodniłem, że to zadziała.

randyman99
źródło