揮発性のメモ2

http://d.hatena.ne.jp/iww/

Linuxで、ルートパーティションのサイズを拡張する

仮想マシンで .vdi のサイズを大きくしたので、ファイルシステムも大きくする

/dev/sda 64GB
/dev/sda1 / ext4 30GB ⇒ 62GB
/dev/sda5 swap 2GB

とりあえず作業はDebian10でおこなった

次の手順でなんとかする

swapを無効化

swapを停止し、/etc/fstab を編集

swapoff -av
# swap was on /dev/sda5 during installation
#UUID=ad75aafa-5c3e-4abe-bd5f-18c2817667c8    none    swap    sw    0    0

パーティションサイズを拡張

cfdisk で sda2を削除、sda1を拡張、sda2,sda5を再作成

    Device       Boot     Start       End  Sectors  Size Id Type
    /dev/sda1    *         2048  65107967 65105920   31G 83 Linux
    /dev/sda2          65110014  67106815  1996802  975M  5 Extended
    `-/dev/sda5        65110016  67106815  1996800  975M 82 Linux swap / Solaris
    Free space         67106816 134217727 67110912   32G

これをこんな感じに

    Device       Boot     Start       End   Sectors Size Id Type
    /dev/sda1    *         2048 130025471 130023424  62G 83 Linux
    /dev/sda2         130025472 134217727   4192256   2G  5 Extended
    `-/dev/sda5       130027520 134217727   4190208   2G 82 Linux swap / Solaris

ここで再起動

ファイルシステムサイズを拡張

resize2fs で特にサイズ指定しなければパーティション一杯まで拡張される

resize2fs /dev/sda1

swap領域のフォーマット

mkswap でsda5のswap領域をフォーマット *1

# mkswap /dev/sda5
Setting up swapspace version 1, size = 2 GiB (2145382400 bytes)
no label, UUID=987b4446-bc7e-4464-9f25-18e98a989fa0

ここでswapのUUIDがわかるので、メモっておく

swapを有効化

/etc/fstab を編集

# swap was on /dev/sda5 during installation
UUID=987b4446-bc7e-4464-9f25-18e98a989fa0    none    swap    sw    0    0

initramfsを更新

initramfsでもswap領域使ってるらしいので、それを修正する必要がある。*2
/etc/initramfs-tools/conf.d/resume を編集

RESUME=UUID=987b4446-bc7e-4464-9f25-18e98a989fa0
update-initramfs -u

ここで再起動

*1:-U オプションで前回のUUIDをそのまま付け直すこともできる。その場合 次のswapの有効化では アンコメントするだけでいい

*2:参考: Debianのswap消しちゃったら起きるコト: Road Station Oume-Kaido