Linuxユーザを含む一般的なデスクトップユーザやモバイルユーザは、PCやスマホを操作しているときにファイルシステムの存在を意識することはほとんどない。最近では開発者であっても、マニュアルでファイルシステムを変更することは少ないのではないだろうか。「 いま使っているファイルシステムを変更したい」というニーズは決してゼロではない。だが、マニュアルで変更するには大きな手間がかかり、下手をすればデータを消失することにもつながりかねない。なのでハードが物理的に使えなくなったり、オペレーティングシステムがサポート対象外になれば、たいていのユーザはハード/ソフトともに新しい環境に移行するか、もしくは多少の手間をかけてOSの入れ替えを行うのがせいぜいといったところだろう。だが、そんな常識を覆し、メディアのフォーマットも、データのコピーもいっさい行うことなく、ファイルシステム"だけ"をコンバートするツールが地道に開発されている。Massimiliano Ghilardiなる人物が開発する「fstransform」がそれだ。
GitHub - cosmos72/fstransform: tool for in-place filesystem conversion (for example from jfs/xfs/reiser to ext2/ext3/ext4) without backup
READMEの冒頭に「DISCLAIMER(免責条項) 」が太字で書いてあるのを見ればわかるように、fstranformはリスキーでその安全性が保証されていないテスト中のツールであり、あくまでユーザの自己責任のもとで使うことが求められている。現在、ターゲット/ソースともに動作が確認されているファイルシステムは以下の通り。
ext2
ext3
ext4
jfs
reiserfs
xfs
この中からであれば、どれがソースで、どれがターゲットでもかまわない。たとえばext2→ext4、ext2→jfs、jfs→ext4といった組み合わせでコンバートが可能だ。実行するにはfstransformコマンドのあとにソースとなるデバイス名とターゲットのファイルシステム名を入力するだけで、ソースのファイルシステムは入力する必要はない。
sudo fstransform /dev/sdb1 ext4
なお、READMEには比較的大きなサイズのケースとして
暗号化された1000GBのext2のディスク(52%)を12時間かけてext4にコンバート成功、ただし1回のシステムクラッシュと2回のインタラプション(CTRL+C)を含む
暗号化された1540GBのext2のRAID 0(3ディスク構成、56%)を8時間かけてext4にコンバート成功
といった成功例を挙げている。
なお、MS系のファイルシステムである
に関しては「まだサポートしていない」と言及されているが、fstransformの実装を進めているFedoraのブログには、
といったファイルシステムも「--force-untested-file-systems」というパラメータを使用すれば扱えてるようになったいう記述がある。
Convert file systems with Fstransform - Fedora Magazine
まだまだ発展途上のツールであり、READMEに「あなたがデータを失うなら、それはあなたの責任(IF YOU LOSE YOUR DATA, IT IS YOUR PROBLEM.) 」など自己責任での利用を強く求める文言が何度も出てくるほど、リスキーなプログラムではあるが、ファイルシステムの自動コンバートがコマンド一発で誰もができるようになれば、これまでとは異なるコンピュータの使い方が生み出されるかもしれない。そうした意味でも今後の成長が気になるソフトウェアだといえる。