Elsaの技術日記(徒然なるままに)

主に自分で作ったアプリとかの報告・日記を記載

MENU

VirtualBoxでの容量アップ手段まとめ(備忘録)

最近勉強用で使用しているVirtualBox上の仮想マシン(Ubuntu16.04)の容量がいっぱいになってしまった。
当たり前だが、10GB(使用可能な領域6GB)ではいくつかライブラリインストールしてアプリ作っていると容量いっぱいになってしまう。。。

大したデータやアプリが保存されていなかったため、一旦削除して容量拡大版作成してもよかったが、
せっかくなので、拡張を試してみたらうまく出来た!!
(GUIであればgpartedを用いればすぐに出来る様であったが、使っているはCUIなので別の方法で実施)

備忘録のため、手順をまとめておく。
※下記手順はUbuntu16.04 CUI



パーティションとルートディレクトリのマウント先を確認。

パーティションの確認

sudo fdsik -l /dev/sda

・ルートディレクトリのマウント先確認

sudo mount

確認した結果下記構成であることが分かり、
/dev/sda1領域を拡張すればよさそう。
 ・/dev/sda1 :ルートディレクトリマウント先
 ・/dev/sda2 :拡張領域
 ・/dev/sda5 :swap領域(論理パーティション)

②仮想ディスクを拡張する(ホストPC側の設定)。

下記URLを参考に実施。
qiita.com

Oracle VM VirtualBox マネージャー上の
設定⇒ストレージからvdiが格納されているパスを確認する。
また、Oracle VM VirtualBox マネージャーの格納先も確認する。
ホストPC上で下記を実行する。

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd "先程コピーしたパス" --resize リサイズ後のサイズ


③容量をアップさせる(仮想PC上での設定)
今回CUIでありgpartedが使用出来ないため、CUI用のpartedを使用。
resizeはver3.0で廃止になったらしく使用出来ないため、代わりにresizepartedを使用。
resizeでは、先頭セクタ+後尾セクタを設定出来たため、第2パーティションを移動させて第1パーティションを拡張できるが、
resizepartは後尾セクタしか設定できない。
このため、
 ・第2パーティションを削除
 ・第1パーティションを拡張
 ・第2パーティションを拡張パーティションとして作成
 ・論理パーティションを作成
 ・論理パーティションをswap領域に変更
の順で実行した。

まずは、「第2パーティションを削除」と「第1パーティションを拡張」を実行する。

sudo parted
(parted)unit s
(parted)rm 2
(parted)resizepart  1 後尾セクタ
(parted)q

次に「第2パーティションを拡張パーティションとして作成」、「論理パーティションを作成」
を実行する。

sudo fdisk /dev/sda
n
2
e
(Enter)
(Enter)
n
5
w
sudo reboot

最後に「論理パーティションをswap領域に変更」を実行する
下記を参考に実施。
qiita.com

sudo dd if=/dev/zero of=/dev/sda5 bs=1M count=1024
sudo mkswap /dev/sda5
sudo swapon /dev/sda5

/dev/sda5をswap領域に変更出来たが、起動時にも設定を行うために
fstabにも変更を行う。

sudo blkid /dev/sda5 ←UUIDの確認のため
sudo vim /etc/fstab
~~~
# swap was on /dev/sda5 during installation
UUID=確認したUUIDを入力 none            swap    sw              0       0
~~~


以上。