web-dev-qa-db-ja.com

ルートパーティションをBTRFSからEXT4に変換するにはどうすればよいですか?

データを失うことなくbtrfsをext4に変換することは可能ですか? btrfsでの読み取り/書き込み操作の速度が非常に遅い。

13
mFat

経験やドキュメントではなく、利用可能なツールを使用しています。すべてがうまく行かなくても失うことを気にしないパーティション(イメージだけでも)でこれをテストすることができます。 バックアップを取らずにこれを試みないでください。

btrfs-convertには、変換を取り消すロールバック機能があります。 btrfs-convertbtrfsに変換されなかったパーティションでこれが機能するかどうかはわかりません。

  1. ファイルシステムをアンマウントすることから始めます。システムに不可欠な場合は、LiveCDを起動します。

  2. インストールbtrfs-tools

    Sudo apt-get install btrfs-tools
    
  3. 変換をロールバックする

    Sudo btrfs-convert -r /dev/sdXn
    
7
Oli

私の知る限り、btrfsを他のファイルシステムに変換することはできません。

4
htorque

マルチブートディストリビューション(ext4のUbuntu、btrfsのXubuntu)を備えたシステムを使用してこれを行いました。 Ubuntuを実行して、Xubuntu btrfsホームパーティションを取得し、fsarchiverを使用してアーカイブしました。その後、再びfsarchiverを使用して別のパーティションに復元し、ext4ファイルシステムタイプを指定することができました。それはうまくいくように見えました。

まだUbuntuで、Xubuntuルートパーティションを/ mntにマウントし、/ mnt/@/etc/fstabを編集して/ homeのマウントを新しいext4パーティションを指すように変更し、UUIDとfsタイプの両方を変更して削除しますサブボリュームデータ。ファイルを保存し、Xubuntuで再起動しました。

起動中にエラーが発生し、起動が停止しました。エラーは、失敗した〜/ Documentsディレクトリにマウントしたい別のパーティションがあることでした。問題を手動で修正することを選択しました。私のルートパーティションはext4として問題なくマウントされたことがわかりましたが、リストコマンドを実行すると

#ls /home
@home

したがって、元のbtrfsサブボリューム構造はext4ファイルシステムにまだありました。コマンドを発行しました

mount --bind /home/@home /home

その後、ctrl-Dを押して起動を続行しましたが、Xubuntuは起動を続行し、すべてが正常に起動しました。私はまだこの最初のブートにいるので、まだやっていませんが、fstabファイルにそのバインドコマンドを置くことができると確信しています。または、おそらくfstabエントリにサブボリューム情報を残しておくこともできましたが、わかりません。

ただし、代わりに(これはトピック外です)、Xubuntuの/ home(ext4)パーティションのより成熟したインスタンスを別のコンピューターから取得し、代わりに使用します。これが機能することはすでに証明済みです。

1
randyman99