web-dev-qa-db-ja.com

EXT3パーティションのiノードサイズを変更するにはどうすればよいですか?

セットアップ:

デュアルブートラップトップ用に、外付けUSBソリューションとして使用する大型ハードドライブを購入しました。 Windowsからドライブにアクセスするために Ext2IFS を使用することを考えて、ファイルシステムとしてEXT3を使用することにしました(他のさまざまな外部デバイスですでに行っているように)。

問題:

LinuxはOSとしての私の第一の選択です。そのため、Windowsからアクセスしようとする前に、ドライブはすでに2/3いっぱいでした。重大な間違いを犯したことに気付いたのはその時だけでした。iノードのサイズを128に制限するのを忘れました。Linuxディストリビューションで使用されるデフォルト値は256で、Ext2IFSはアクセスできません。

1 TBの場合、ドライブは私の最大のストレージであり、2/3がいっぱいになると、バックアップが困難になります。

質問:

(データを失うことなく)EXT3パーティションのiノードサイズを変更することは可能ですか?数時間かかってもかまいません。


ポストスクリプト:

David Spillettは、元の質問「EXT3パーティションのiノードサイズを変更する方法」に完全に答えました。

nderlyingの質問は、「WindowsからEXT3パーティションにアクセスするにはどうすればよいですかafter Linuxのinodeサイズのデフォルト値で作成しましたか?」でした。

答えは Ext2Fsd です。これは、大きなiノードサイズでボークしないWindows用のEXT3ドライバーです。 (ただし、2 TBを超えるドライブに必要なGUIDパーティションテーブル(GPT))はサポートされていません。)

この質問を見る多くの人にとって、これは興味深いかもしれないと思いました。

1
DevSolar

私の知る限り、その場で変更することはできません。ラウンドアバウト方式でファイルシステムを再構築しているときに、データをコピーする別のTbドライブを見つけることなくそれを実行できる場合があります。

  1. 現在のファイルシステムをできるだけ小さく縮小し、それに応じてパーティションの長さを削除します
  2. 新しく解放されたスペースに2番目のパーティションを追加します
  3. 両方をマウントし、できるだけ新しいパーティションに移動します
  4. 最初のパーティションを再度縮小し、新しいパーティションをディスクの下に移動して拡大し、ドライブをいっぱいにして、手順3を繰り返します。
  5. 元のファイルシステムの開始時の容量に応じて、手順4を1回または2回繰り返す必要がある場合があります。

上記のすべては、fdiskresize2fsおよび関連ツールを使用して手動で行うか、ほとんどのディストリビューションのリポジトリで使用可能な parted を使用して Live CD 。手動ツールに既に精通していない限り、おそらくこれがはるかに安全なオプションです。

しかしこれらのような主要なファイルシステムの移動/サイズ変更操作は私が常に開始する前に適切なバックアップを取るようなものです。間違って、影響を受けるファイルシステム上のすべてすべてを強制終了する可能性があります。したがって、健康に偏見がある場合は、再フォーマット/再配置中にデータをコピーする場所を見つける必要がなくなりません...ただし、ほとんどのデータが置き換え可能である場合は、音楽/ビデオコンテンツなどを再ダウンロードすることで、最も重要なものをバックアップし、残りの部分でチャンスをつかむことができます。

ドライブを再フォーマット/再配置する代わりに、小さなLinux VM(vmwareまたはvboxを使用)を実行し、それにUSBドライブを接続して、データをホストに共有させることができます( Windows)Samba経由のOS。もちろん、これは非効率的で便利ではありませんが、新しいドライブを購入してすべてを再フォーマットして移動するなど、より永続的なソリューションを並べ替えるまでは、「当面」は十分に効率的かもしれません。バックアップしていないデータに対する大規模なファイルシステム操作よりも安全です。VMに多くのリソースを割り当てる必要はありません。UbuntuのサーバーインストールまたはDebianのベースインストールで、このようなSamba共有を問題なく実行できると思います。 128MbのRAM以下であり、ホストマシン上で1 Gbを超えるディスクスペースは必要ありません(実際、必要な場合は数百Mbしか必要ありません)。

4
David Spillett