
そこで、いくつかのテストを実行しているときに、いくつかの SD カードをフォーマットおよび再フォーマットしてきましたが、かなり頻繁に再フォーマットする必要があります。ただし、別のカードを接続するたびに、fdisk は古いカードの容量を報告します。
たとえば、128GB、64GB、32GB のカードがあるとします。fdisk を使用して 64GB カードをフォーマットし、次に 128GB をフォーマットしようとすると、fdisk はカードに 64GB があると表示しますが、パーティション テーブルを作成して書き込み前に印刷すると、容量の半分がなくなっていることに気付きます。この問題は、fdisk を終了して再度実行することで軽減され、その時点で正しいサイズが報告されます。しかし、64GB カードをフォーマットして 32GB を挿入して fdisk が戻ると、fdisk: cannot open /dev/sdb: Input/output error
fdisk を終了して再度 fdisk を実行する必要があり、その時点で正しい容量が報告されます。
通常、これはそれほど問題ではありませんが、これらのカードをかなり頻繁に再フォーマットするため、すべてを実行するスクリプトを作成してこれを自動化したいのですが、間違ったサイズが報告されるため、このタスクを自動化できません。再フォーマットされるカードは、一貫した順序/シーケンスで差し込まれていないため、それを考慮して対処することはできません。fdisk のキャッシュをクリアするか、それに似た方法で、カードを挿入するたびに、差し込まれた前の SD カードのサイズではなく、カードのサイズを読み取るようにする方法はありますか?