partedコマンドを使ってパーティションを変更する(再起動不要)

Linuxにおいてパーティションを変更するコマンドとしてfdiskというものがありますが、
これがまた古臭いコマンドでセクタやらシリンダやらといった単語を理解する必要があります。
容量をセクタ単位にで切り分けたりするわけですね。

MBとかGB単位ならわかりやすいと思いません?

容量の指定方法以外には大きな違いはなく、
どちらもインタラクティブにパーティションを切れます。

例えば、
現在のパーティション情報を表示するには下記のコマンド。

parted /dev/sda print

引数として与えるデバイスの最大容量も表示してくれる(上記の例では/dev/sda)ので、
パーティションをシェルなどで切る時に使える有用な情報となる。

パーティションを切るには以下のコマンドを使う。(mkpart)
第一引数にはprimary(基本)かextended(拡張)を選ぶ。
第二引数にはファイルシステム(ここではext2)
そして最後に開始位置と終了位置を容量で指定する。

mkpart primary ext2 120GB 160GB

上記の例ではファイルシステムをext2としていますが、これはext4がサポートされていないようだったためです。
ですので、パーティションを作成する場合には一旦、ext2として作成したうえで再度ファイルシステムを作成する。

そして、partxコマンドでパーティション情報を反映させる。
このコマンドを使うと、マシンの再起動をせずにパーティション情報をシステムに知らせることが出来る。便利!

ファイルシステムを作成するには下記のようにする。

mke2fs -t ext4 /dev/sda6