普段家で使っているPCでの開発環境は、VirtualBoxにLinuxをインストールし、そこで開発を行っています。
しかし、最近そのLinuxが容量不足になってしまいました。
ディスクが勝手に拡張されるものかと思っていたのですが、以前再構築した際にその辺の設定をし忘れたのか、そもそも出来なくなったのかわからないけれど結果で言うと容量増やすのにちょっと手間取ったのでメモに残しておきます。
やったこと
PowerShell上での実行コマンドと、ゲストOS(Ubuntu)上でのパーティション拡張手順をまとめる。
概要フロー
- VBoxManage のパスを通す
- .vmdk を .vdi に変換
- .vdi をリサイズ(例:50GB) 4, VirtualBoxで仮想マシンのディスクを .vdi に変更 5, Ubuntu上でパーティションを拡張
PowerShell:ホスト側作業
VBoxManageというコマンドを使うので、とりあえずPATHを通します。
PowerShellで以下を実行:
$env:Path += ";C:\Program Files\Oracle\VirtualBox"
ファイルがvmdkになっていたので変換を行います。以前はvdiだった気がするのだけれど作った時に変わっちゃったのかな。 ってことで、 .vmdk → .vdi に変換。
VBoxManage clonehd "C:\Users\yatta47\VirtualBox VMs\development22\ubuntu-jammy-22.04-cloudimg.vmdk" "C:\Users\yatta47\VirtualBox VMs\development22\ubuntu-jammy-22.04-cloudimg_resized.vdi" --format vdi
変換したvdiの拡張をします。
VBoxManage modifyhd "C:\Users\yatta47\VirtualBox VMs\development22\ubuntu-jammy-22.04-cloudimg_resized.vdi" --resize 51200 (MB単位 → 51200MB = 50GB)
そして変更した仮想マシンを切り替える。
- VirtualBoxから .vdi を仮想マシンに設定
- VirtualBoxマネージャーで該当VMを選択 「設定」→「記憶域」 
- 既存の .vmdk を削除(リンク解除) 
「追加」から .vdi を選択して割り当て
ここまでで下準備は完了。この後は、Linux側にて拡張したディスクを認識させる作業になります。
Ubuntu(ゲストOS)上での作業:パーティション拡張
以下は、ゲストOS(Ubuntu)を起動した後の作業です。
どのディスクか確認。自分の場合は以下のように出てきました。
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 63.7M 1 loop /snap/core20/2496 loop1 7:1 0 44.4M 1 loop /snap/snapd/23771 loop2 7:2 0 89.4M 1 loop /snap/lxd/31333 sda 8:0 0 100G 0 disk sda1 8:1 0 40G 0 part /
おそらく /dev/sda や /dev/vda として出てくるはずです。
そしてパーティションの拡張(1パーティションのみならこれでOK)
sudo growpart /dev/sda 1 # /dev/sda1 を拡張します(数字はパーティション番号)
sudo resize2fs /dev/sda1
df -h
拡張されていれば、ルートパーティションのサイズが大きくなっているはずです。
まとめ
仮想マシンがなぜかvmdkで出来ていたせいで、返還をする必要がありました。
何でそれで作ってしまっていたのかは全く覚えていないですが、まぁディスク容量増やせたのでよかったよかったという感じです。
それでは~。
![Linuxをマスターしたい人のための実践Ubuntu[第2版] Linuxをマスターしたい人のための実践Ubuntu[第2版]](https://m.media-amazon.com/images/I/51dv7GpurUL._SL500_.jpg)