web-dev-qa-db-ja.com

vfatファイルシステムのサイズを、それを含むパーティションのサイズに正確に増やすにはどうすればよいですか?

これは これ の後のさらなる質問です。

私はそれをグーグルで検索しますが、検索結果のほとんどは、パーティションとファイルシステムを同時に拡張する方法に関するものです。

パーティションはすでにファイルシステムよりも大きいので、この質問はそれよりも簡単だと思いますが、パーティションを満たすようにファイルシステムを拡張したいと思います。

ファイルシステムがパーティションよりも小さい理由は、パーティションに対してmkfsを実行するのではなく、ファイルシステムイメージをcatしてパーティションをフォーマットしたためです。また、イメージはターゲットパーティションよりも小さくなっています。

パーティションを完全に埋めるためにファイルシステムを拡張する必要がある理由は、ギャップがあると組み込みSoCが起動しないためです このウィキの最後で説明されています

2
user3528438

私が知っている唯一の方法は、gparted(またはまだこれを行っていた古いバージョンのparted)を使用してパーティションを少し縮小/拡大することです。どういうわけか、vfatのサイズを変更するためのコードはこのパーティショニングプログラム(または、さらに言えばlibparted)に隠されており、これを直接行うresize2fsのようなツールはないようです。より多くのオプションを提供します。

このようなサイズ変更が組み込みSoCに十分かどうか(vfatが任意のパーティションサイズにどれだけうまく適応できるかはわかりません)、テスト可能なプログラムにリンクしました。値が一致するように、パーティションを少し小さくする必要がある場合があります。

1
frostschutz