VirtualBoxで動く仮想マシン（Windows10）のHDD領域を拡張する

# 環境　
VitualBoxを動かしているホストOS => **OSX 10.12**
VitualBox上のゲストOS => **Windows10**

# 目的
VitualBox上のゲストOS（Windows10）のHDD容量を，**32GB**から**64GB**に拡張する。

# 方法

## 仮想ストレージの形式を確認

拡張するストレージのフォーマットが**VDI形式**であることを確認する。
確認するためには，VitualBoxのメニューより「ファイル」->**「仮想メディアマネージャー」**を開く。

<img width="231" alt="仮想メディアマネージャー" src="https://qiita-image-store.s3.amazonaws.com/0/37765/f7fb366b-3dbf-7501-e343-f36a3c1cbf02.png">

容量を拡張するためには，フォーマットがVDI形式でなければならない。
よって，**VMDK形式**などの場合には**VDI形式への変換が必要**になる。

VMDK形式のストレージをVDI形式に変換する方法は，次のWEBサイトが参考になる。

- [VirtualBox で VMDK 形式のディスク容量を大きくする](http://pig.hatenadiary.com/entry/2014/03/28/095112)

## ターミナルから領域を拡張する

1. **ターミナル**を開く。

2. 拡張するストレージの場所に移動する。
   ストレージの場所は，先の「仮想メディアマネージャー」から確認ができる。

3. VBoxManegeコマンドを使ってリサイズを行う。
  コマンドは次の通り。

```bash:VMBoxManage
$ VBoxManage modifyhd （対象のストレージ名） --resize （ストレージの容量 単位はMB）
```
64GBにリサイズするならば，**1,024MB * 64**で**65,536MB**となる。

例えば，今回のコマンドは次になる。

```bash:例
$ VBoxManage modifyhd Windows.vdi --resize 65536
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
```

その後，仮想メディアマネージャーを確認すると，ストレージのサイズが64GBに変更されていることがわかる。

<img width="558" alt="変更後のストレージ" src="https://qiita-image-store.s3.amazonaws.com/0/37765/3c68ae1b-cddb-5398-933a-24d9a119130a.png">

## ゲストマシン（Windows）側でパーティションの確認

「すべてのアプリ」->「Ｗindows管理ツール」から「コンピュータの管理」を開く。
次に「記憶域」->「ディスクの管理」を開く。

![VirtualBox_Windows_30_01_2017_15_52_24.png](https://qiita-image-store.s3.amazonaws.com/0/37765/c80ff9a5-faa7-652d-9d72-f73d520b4641.png)

**ディスク0が64GB**となっていることがわかるが，**パーティション(C:)は31GBのまま**である。そして，今回拡張した領域は，**未割り当てのまま32GB**となっている。

そのため，パーティション（C:）を拡張しなければならない。
拡張するためには，パーティション(C:)の箇所を**右クリック**して**「ボリュームの拡張」**を選択する。
しかし，筆者の環境では，**回復パーティション**（450MB）がパーティション(C:)の次に存在するため，**拡張することができない**。

![VirtualBox_Windows_30_01_2017_15_56_15.png](https://qiita-image-store.s3.amazonaws.com/0/37765/f71c00be-3148-cc79-f625-5ffd3227d873.png)

※ もし，回復パーティションが存在せず，パーティション（C:）と未割り当て領域が連続して存在する場合には，パーティションの拡張を実行することができる。よって，次の「回復パーティションの削除」は飛ばしてかまわない。

回復パーティションが存在する場合，パーティション（C:）を拡張するためには，邪魔になっている回復パーティションを削除，もしくは未割り当て領域と順番の入れ替えを行わなければならない。
今回は回復パーティションを削除することにする。

パーティションを移動する場合は，次のWEBサイトが参考になる。

- [Windows8.1 パーティションを移動してHDD領域の余りを使う](http://fanblogs.jp/honeycome/archive/47/0)

- [パーティションを自由自在に操作する、「Partition Manager 15 Pro」を試す](http://news.mynavi.jp/articles/2016/07/15/pm15pro/002.html)

## 回復パーティションの削除

「すべてのアプリ」->「Windows システムツール」より「コマンドプロンプト」を右クリックし，「管理者として実行」を選択する。

![VirtualBox_Windows_30_01_2017_16_08_56.png](https://qiita-image-store.s3.amazonaws.com/0/37765/3b62827a-c883-9344-6e49-45f2f81c4c6c.png)

コマンドプロンプトが起動したら `diskpart` とタイプ。

![VirtualBox_Windows_30_01_2017_16_10_59.png](https://qiita-image-store.s3.amazonaws.com/0/37765/c2a2eaaa-c878-38e7-8cbe-06be7950a906.png)

`list disk`とタイプして，変更を行うディスク番号を確認する。

![VirtualBox_Windows_30_01_2017_16_11_15.png](https://qiita-image-store.s3.amazonaws.com/0/37765/11455807-c91b-6e79-1f6c-8c5e743e3aa9.png)

今回は，ディスク0になる。
`select disk 0`とタイプし，ディスク０を選択する。

![VirtualBox_Windows_30_01_2017_16_11_38.png](https://qiita-image-store.s3.amazonaws.com/0/37765/038f54aa-e716-7692-2ed8-b2128cd3d23f.png)

`list partition`とタイプし，パーティションの一覧を取得する。

![VirtualBox_Windows_30_01_2017_16_11_50.png](https://qiita-image-store.s3.amazonaws.com/0/37765/ee980fb8-cbec-1eed-fe9a-78d37e97f8f4.png)

今回の場合は，回復領域が**パーティション3**だとわかる。
`select partition 3` でパーティション3を選択。

![VirtualBox_Windows_30_01_2017_16_12_05.png](https://qiita-image-store.s3.amazonaws.com/0/37765/9fad8559-a9f3-6f9d-43f6-3f7b5ace62c5.png)

次にパーティションの削除を行うが，削除後の挙動が心配ならば，削除前にVirtualBoxでスナップショットを取っておくと良いだろう。

`delete partition override`とタイプし，パーティションを削除する。

![VirtualBox_Windows_30_01_2017_16_13_25.png](https://qiita-image-store.s3.amazonaws.com/0/37765/37faef28-bb2b-9df8-d538-5e5c828ccdd1.png)

`exit`をタイプし，DiskPartから抜ける。
再度`exit`をタイプし，コマンドプロンプトからも抜ける。

## パーティションの拡張

パーティションの削除が正常に行われたら，パーティション（C:）と未割り当て領域が，次の画像のように，連続して配置されるようになる。

![VirtualBox_Windows_30_01_2017_16_13_34.png](https://qiita-image-store.s3.amazonaws.com/0/37765/c5666e6c-98c1-ce79-4ddf-62a93410a455.png)

すると，先ほどは選択できなかった**「ボリュームの拡張」**が選択できるようになる。

![VirtualBox_Windows_30_01_2017_16_13_43.png](https://qiita-image-store.s3.amazonaws.com/0/37765/f539f9b0-060f-651c-fd24-32a711ef4445.png)

ボリュームの拡張を選択し，ウィザードを起動する。
そして，必要に応じて値を調節し，パーティションを拡張する。

![VirtualBox_Windows_30_01_2017_16_14_11.png](https://qiita-image-store.s3.amazonaws.com/0/37765/8f74c392-50ab-e027-e951-dceb321be604.png)

パーティション（C:）が64GBに拡張されたことが確認できた。

# 参考
- [VirtualBoxでゲストOSのHDDを拡張！VDIのリサイズ](http://blogger.zatsuroku.net/2016/02/virtualboxvdihdd.html)

- [VirtualBox環境でのUbuntuのHDD容量変更方法](http://qiita.com/ryo716/items/3b2298f9016a8a002ecd)

- [VirtualBox で VMDK 形式のディスク容量を大きくする](http://pig.hatenadiary.com/entry/2014/03/28/095112)

- [Windows8.1 パーティションを移動してHDD領域の余りを使う](http://fanblogs.jp/honeycome/archive/47/0)

- [パーティションを自由自在に操作する、「Partition Manager 15 Pro」を試す](http://news.mynavi.jp/articles/2016/07/15/pm15pro/002.html)