以来、追加の質問ですこれ。
私はGoogleを試しましたが、ほとんどの検索結果はパーティションとファイルシステムを同時に増やす方法です。
私のパーティションはすでにファイルシステムよりも大きいので、問題はこれよりも単純だと思いますが、ファイルシステムを拡張してパーティションを埋めたいと思います。
私のファイルシステムがパーティションより小さい理由は、パーティションをmkfs
フォーマットせずにcat
ファイルシステムイメージをパーティションに書き込むためです。そして、イメージはターゲットパーティションよりも小さい。
パーティションを完全に埋めるためにファイルシステムを増やす必要があるのは、間隔があると組み込みSoCが起動しないためです。このWikiの最後に説明。
答え1
携帯電話でmicroSDカードのサイズをアップグレード中にこの問題が発生しました。一度はdd
、既存のカードを新しいカードに複製したことがあります。新しいパーティションは大きくなりますが、ファイルシステムのサイズはまだ古いmicroSDと同じです。この問題を解決するために私fdisk
とfatresize
。また、私はパーティショニングを使用しています/dev/mmcblk0p1
がfatresize
、何らかの理由でパーティショニングが気に入らないことに注意する必要があります(エラーが発生します:)Could not stat device /dev/mmcblk0p - No such file or directory.
。したがって、上記の解決策を使用する必要があります。https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=810735そしてソフトリンクを追加してくださいsudo ln -s /dev/mmcblk0p1 /dev/tmp
。
とにかくvfatパーティションのサイズを変更するには(/dev/tmp
特定のパーティションの交換):
sudo fdisk -s /dev/tmp
パーティションサイズをkB単位で決定するために使用されます。私の場合はこれです244244480
sudo fatresize -s 244244480k /dev/tmp
(手順1でパーティションサイズを交換します。)
いつものように、これを試す前にパーティションをバックアップしてください。
回避策を使用する必要がある場合は、一時デバイスのソフトリンクを削除する必要があります。
答え2
私が知っている唯一の方法は、パーティションを少し縮小または増やすことですgparted
(または以前のバージョンでもparted
まだこれを行います)。どういうわけか、サイズ変更コードはvfat
このパーティショナー(またはその問題について)に隠されており、それを直接実行したり、より多くのオプションを提供したりするlibparted
同様のツールはないようです。resize2fs
これらのサイズ変更が組み込みSoCに十分かどうか - vfatがどのパーティションサイズにどれだけうまく適応できるかはわかりません。テストできるプログラムに接続しました。値が一致するようにパーティションを少し小さくする必要があります。