Debianを使用していると仮定します。
ショートバージョン:
- システムをバックアップする
- メインパーティションとスワップパーティションを削除します(ブートパーティションのみを残します)
- メインパーティションを再作成して、残りのディスク領域(ブートパーティションを除く)を利用します。元のルートパーティションと同じ開始セクターを再利用してください。
- システムを再起動します
- 新しいブートルートパーティションのサイズを変更して、パーティションサイズ全体を利用します。
ステップバイステップの説明
まず、何か問題が発生した場合に備えて、ここに記載されている手順を使用してSDカードのバックアップを作成します。
コマンドラインまたはターミナルウィンドウから次を入力します
sudo fdisk /dev/mmcblk0
次にp
、パーティションテーブルをリストするために入力します
3つのパーティションが表示されます。あなたがラベルされた最後の列に見れば、システムあなたが持っている必要があります
- W95 FAT32
- Linux
- Linuxスワップ
パーティシトン2の開始番号を書き留めます。これは後で必要になります。ただし、(念のため)画面に表示される可能性があります。
d
パーティションを削除する次のタイプ。
次に、削除するパーティションの番号の入力を求められます。上記の場合、LinuxとLinuxスワップパーティションの両方を削除する必要があります。
タイプ 2
d
もう一度入力してから、入力3
してスワップパーティションを削除します。
これで、メインパーティションのサイズを変更できます。
入力n
して新しいパーティションを作成します。
この新しいパーティションはプライマリパーティションである必要がありますp
。
2
パーティション番号の入力を求められたら、次に入力します。
これで、新しいパーティションの最初のセクターのプロンプトが表示されます。
前の手順の開始番号(Linuxパーティション)を入力します
次に、残りのディスク容量を利用するデフォルトを受け入れるためにEnterキーを押すことができる最後のセクターのプロンプトが表示されます。
入力w
して、行った変更を保存します。
次に、次のコマンドを使用してシステムを再起動します。
sudo reboot
システムが再起動し、コマンドラインに戻ったら、次のコマンドを入力します。
sudo resize2fs /dev/mmcblk0p2
注:これには時間がかかります(カードのサイズと速度によって異なります)ので、ファイルシステムを混乱させずに最初からやり直す必要がないように、しばらくお待ちください。
完了したら、次のコマンドを使用してシステムを再起動します。
sudo reboot
次のコマンドを入力して、システムがSDカードの全容量を使用していることを確認できます。
df -h
これが機能する理由:
ここでの本当の魔法は、ルートパーティションを削除し、ディスクにデータを書き込む前に(元の開始セクタを使用して)ルートパーティションのみを再作成することです。その結果、ルートパーティションから既存のデータを消去しません。
スワップパーティションを削除すると、ルートパーティションルームが現在のサイズを超えて拡大し、ディスクの未使用部分がいっぱいになります(パーティションの配置のため-ルートパーティションはブートパーティションとスワップパーティションの間に挟まれます)単にスワップパーティションを残したままサイズを変更してください)。
次に、ファイルシステムのサイズを変更して(マウントされたディスク上で実行しても安全です)、新しいルートパーティションのすべてのスペースを使用します。
ref: