320GB の ext4 パーティションを持つ 400GB のディスクがあります。残りのスペース (80GB の空き領域) を使用するために ext4 パーティションを拡張したいと思います。
+--------------------------------+--------+
| ext4 | Free |
+--------------------------------+--------+
どうすればこれができるでしょうか?
使用している人を見たことがありますresize2fs
が、パーティションのサイズが変更されるかどうかはわかりません。
別の解決策としては、 を使用することですfdisk
が、パーティションを削除してデータを失うことは避けたいです。ファイルを失わずにパーティションを単純に拡張するにはどうすればよいでしょうか?
注: LVM を使用せずにマウントされていないデータ パーティションについて話しています。バックアップはありますが、リカバリに時間を費やすことは避けたいと考えています。
答え1
パーティションをアンマウントした状態で開始する必要があります。アンマウントできない場合(ルートパーティションやシステムの実行に必要なその他のパーティションなど)は、次のようにします。システムレスキューCDその代わり。
を実行する
parted
か、gparted
GUI が好みであれば、パーティションのサイズを変更して余分なスペースを使用します。gparted
質問で描いたものと非常によく似た、わかりやすいグラフィック表現が得られるので、私はこれを好みます。resize2fs /dev/whatever
e2fsck /dev/whatever
(安全かどうかを確認するため)パーティションを再マウントします。
失敗した例はまだ見たことがありませんが、まずはデータをバックアップしてください。
答え2
使用growpart
例resize2fs
:
:の場合、 との間にスペースがあることに注意してください。
/dev/sda
1
growpart /dev/sda 1
次の 2 つのコマンドがあります。
growpart /dev/sda 1
resize2fs /dev/sda1
$ growpart /dev/sda 1
CHANGED: partition=1 start=2048 old: size=39999455 end=40001503 new: size=80000991,end=80003039
$ resize2fs /dev/sda1
resize2fs 1.45.4 (23-Sep-2019)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 5
The filesystem on /dev/sda1 is now 10000123 (4k) blocks long.
これが期待どおりに動作しない場合は、拡張パーティションが原因である可能性があります。その場合は、次の回答が適用されます。https://unix.stackexchange.com/a/687489/124109
答え3
はい、パーティションがすでにソートされている場合は、オンラインで EXT4 ファイルシステムを拡張できます。パーティションはソートされていますか? LVM はありますか?
sudo resize2fs /dev/drive_to_grow
fdisk
確かにパーティションのサイズは変更されますが、これがルート パーティション (またはマウントされたパーティション) である場合は、まずマウント解除する必要があります。したがって、おそらくオフラインになります。
ディスク/ファイルシステムの操作に関連するすべてのことと同様に、バックアップと、テスト済みで十分に理解された回復プロセスを用意することを強くお勧めします。
答え4
受け入れられた答えはやや時代遅れです。ext4ファイルシステムのサイズ変更はオンラインオンライン拡張コード パスはオフライン拡張コード パスよりもはるかに一般的に使用されるため、オフラインではなく、オンライン拡張コード パスを使用することをお勧めします。
おそらくもっと難しいのは、LVMを使用していない限り、基礎となるパーティションを拡張することです。そしてボリューム グループに空き領域ができました。 パーティションをオンラインで拡張するには、fdisk
または を使用しますparted
。その後、 を実行してカーネルに変更を通知する必要があります。 LVM を使用している場合は、ボリュームの前に、サイズを変更したばかりのパーティションkpartx <device>
を追加する必要があります。pvresize
lvresize
最後に、resize2fs
ファイルシステムを発行できます。