コマンドラインを使用してext4パーティションのサイズを拡張するには?

コマンドラインを使用してext4パーティションのサイズを拡張するには?

次の構成のドライブがあります。

fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000f1b8b

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2612    20971520   83  Linux
/dev/sda3           60736       60801      525312   82  Linux swap / Solaris

/dev/sda1478GBの未割り当て領域があります。現在のデータを失うことなくこのスペースをどのように追加しますか/dev/sda1? (ファイルシステムはext4です。)

注:これはSSH専用サーバーであり、gpartedなどのタスクを実行するためのGUIはありません。

答え1

パーティション拡張: fdisk -u /dev/sda

pパーティション表を印刷するには、sda1の番号、開始、終了、およびタイプをメモしてください。

削除してくださいd::

n同じ数字(1)、開始、およびタイプを使用してコマンドを使用して再生成しますが、より大きい数字を使用してください。終わり(他のパーティションと重ならないように注意してください。)メガバイトの境界に合わせて並べ替えてください。終わり、2048から1を引いた倍数になります。必要に応じて変更タイプを使用しますt(保存extXまたはbtrfsファイルシステムパーティションの場合はデフォルト83値で十分です).

その後、w書き込みを開始してq終了します。

パーティションテーブルは変更されますが、一部のパーティションはすでにマウントされているため、カーネルはこれを考慮できません。

ただし、使用中のパーティションのみを拡大する場合は、カーネルに新しいレイアウトを採用するよう強制できます。

partx /dev/sda

失敗した場合は再起動する必要があります。システムは正常に起動する必要があります。

/sbin次に、展開されたパーティション(配置可能)の範囲内で拡張されるようにファイルシステムのサイズを変更します。

resize2fs /dev/sda1

ext4ライブFSでもうまく動作します。

答え2

ext4パーティションの拡張はとても簡単です成長部分

  1. 現在のパーティションテーブルのバックアップ

    sfdisk -d /dev/sdb > sdb_partition_bak.dmp
    
  2. テスト実行を実行して何が起こるかを確認してください。このツールがない場合。走るapt-getインストールクラウドユーティリティ

    growpart -N /dev/sdb 1
    
  3. すべてが大丈夫なら

    growpart /dev/sdb 1
    
  4. ファイルシステムのサイズを変更します。 10秒ほどかかることがあります

    resize2fs /dev/sdb1
    
  5. 新しいサイズを確認

    df -h
    

答え3

パーティションがマウントされている間は、この操作を安全に実行することはできません。つまり、別のパーティションを起動してそこで実行する必要があるということです。

gpartedこの目的のための素晴らしいシンプルなGUIです。削除されたコメント交換で「ディスプレイにアクセスできないため」開始されないと述べました。これはGUIであるため、Xにはなく、Xがないと機能しないことを意味します。

もちろん、作業するパーティションがない場合は、Live CDのようなものが必要です。考える彼らは通常gpartedに付属しています。最良の選択は実用的かもしれません。割れたライブCD、かなり新しい最新の安定版を持っているようです。CD、「ライブCD」が素早く「ライブDVD」に変わっているのでいいです。

私はgpartedに問題があったことはありませんが、もちろん重要なことを最初にバックアップしてください。

その場合は、次の引用man resize2fsに興味があります。

resize2fsプログラムは、ext2、ext3、またはext4ファイルシステムのサイズを変更します。デバイスにマウントされていないファイルシステムを拡大または縮小するために使用できます。ファイルシステムがマウントされている場合、カーネルとファイルシステムがオンラインサイズ変更をサポートしていると仮定すると、それを使用してマウントされたファイルシステムのサイズを拡張できます。 (最新のLinux 2.6カーネルは、ext3およびext4を使用してマウントされたファイルシステムのオンラインサイズ変更をサポートしています。ext3ファイルシステムでは、resize_inode機能が有効なファイルシステムを使用する必要があります。)

しかし、覚えておいてください。ファイルシステム拡張これは別の手術です。パーティション拡張(ファイルシステムを拡張する前に実行する必要があります。)したがって、パーティションのマウント中にパーティションを拡張するツールがある場合まったく同じ開始ブロックを維持します。、rootfsを内部で拡張できます。

答え4

partedパーティションを削除して再作成するよりも簡単で安全であると思いますfdisk

sudo parted /dev/sda
print
resizepart

ディスクを埋めるために最初のパーティションのサイズを変更するには、スワップ領域resizepart 1 -1があるので、コマンドラインから始めてください。swapoff -armpartedhttps://unix.stackexchange.com/a/238784/103025)。

関連情報