`mkfs.ext4 /dev/block/sda1`をすばやく作成するには?

`mkfs.ext4 /dev/block/sda1`をすばやく作成するには?

Androidでアプリケーションを開発しており、ディスクを管理する必要があります。私のプログラムはroot権限でAndroidのバックグラウンドで実行されます。 1つの問題は、ディスクパーティションのフォーマットが遅すぎてディスクフォーマットを完了するのに最大3時間かかることです。4TBステップ内の形式は次のとおりです。

  1. すべてのパーティションを削除
  2. parted -s /dev/block/sda mklabel gpt
  3. parted -s /dev/block/sda mkparted ext2 0% 100%
  4. mkfs.ext4 -F -b 4096 /dev/block/sda1

上記の手順を実行すると、手順4が遅くなり、手順4を:またはに置き換えましたが、 mkfs.ext4 -T lagerfile -F /dev/block/sda1まだ遅いmkfs.ext4 -F -b 4194304 /dev/block/sda1 です。それでは、より速い方法は何ですか?ありがとうございます!

ベストアンサー1

ext4ファイルシステムの初期化には通常時間がかかりません。特に生成されるデータ構造の複雑さを考慮しなければ、さらにそうです!ただし、実際に記録されるデータ量は100MBよりはるかに少ないと予想されます。 3時間は長すぎます;mkfs.extXがこれほど長くかかるのを見たことがありません。 10年前は2TBが最大20分かかりました。ハードドライブは最新の規格に従って遅くなり、SATA1 リンクは最新の規格に従って遅くなります。
これは、ストレージデバイスや接続方法に問題があることを意味できます。フォーマット中にエラーが発生したことを確認dmesg -Hwxしてください。journalctl -xef


ハードウェアに問題がない場合、USB1.1を介してハードドライブにアクセスする場合、実際にSATAドライブをエミュレートするフロッピードライブの束、またはその他の場合は、次のようになります。

その場合、Android ツールが古すぎる可能性があります。この場合、a)e2fsprogsを更新してください(私は1.46.3を持っていて、2.5年前にリリースされた1.45以上が必要です)。これにより、より速い結果が得られます。 b) 可能でない場合は、以下を試してくださいmkfs.ext4 -E lazy_itable_init=1 -E lazy_journal_init=1。これは、mkfs.ext4に費やした時間を最初のマウントに転送するだけです。世界に無料のランチはありません!

カーネルにより多くのファイルシステムサポート機能が組み込まれている場合は、他のファイルシステムを試してみることもできます。 XFSはクイックジェネレーションで有名で、ユースケースに適しています。

おすすめ記事