Raspbianでは、これに責任を持つ2つの部分からなるメカニズムがあります。おそらく、最良のアイデアは、有効になっている場合は両方の部分を処理することです。
1つ目は、オリジナル/boot/cmdline.txt
にこれが含まれていることです。
init=/usr/lib/raspi-config/init_resize.sh
ルートパーティション上のそのパスを持つスクリプトを参照します。これは、起動時の初期化プロセスとして使用されます。そのビットがないと、デフォルトでカーネルに組み込まれた値になります/sbin/init
。これは、Raspbianではに対するシンボリックリンク/lib/systemd/systemd
です。
の部分を削除することによりcmdline.txt
、システムは正常に起動するはずです。
このスクリプトが実際に行うのは、SDカードのパーティションのサイズを変更することです。これは、パーティション内のファイルシステムのサイズ変更とは異なるプロセスであり、1が次に起こります。
発生する方法は、システムがすぐに正常にリブートされ(つまり、systemd経由)、init.d
スクリプトが早期にトリガーされるように設定されていることです。これは2番目のパーティションから削除する必要があります。
/etc/init.d/resizefs_once
そして、それへのシンボリックリンクも削除する必要があります:
/etc/rc3.d/S01resizefs_once
必要に応じて、後で使用するためにコピーを保持raspi-config
できますが、再度作成することができます(raspi-config
シェルスクリプトに埋め込まれています)。実際に実行された場合、自身を削除するため、再び発生することはありません。
また、新しくサイズ変更されたパーティションのファイルシステムのサイズを変更します。
1つまたは他の部分のみが発生した場合、害はありません。最初のケースでは、拡張パーティションを満たさないファイルシステムになりますが、2番目のケースでは、ファイルシステムがすでにパーティションを埋めているため、何も起こりません。
後でraspi-config
ファイルシステムを拡大するために使用する場合、パーティションのサイズをすぐに変更してから、initスクリプトを設定します(前述のとおり)。
cmdline.txt
最初のパーティションの編集は、VFATパーティションであるため、どのコンピューターでも簡単です。init.d
ファイルを削除するには、ext4ファイルシステムにアクセスして編集できるシステムが必要です。
代わりに、両方のタスクは、カードを書き込む前に画像ファイル自体に対して実行できます。GNU / LinuxシステムでRaspbianイメージをマウントおよび変更するには、こちらを参照してください。あるWindows用の並列Q&Aは。
これもリバーシブルですが、最初の部分には2番目の部分の自動ステージングが含まれていないため、上記のようにメカニズムの両方の部分を戻す必要があります。
- そのスクリプトからのエラーメッセージは、ルートファイルシステムのサイズ変更に失敗したと主張することにより、これらの用語を間違いなく混乱させますが、実際に失敗したのは、ルートファイルシステムが存在するパーティションのサイズ変更です。一方を実行しても、もう一方は自動的に実行されません。