VirtualBox上のWindowsServer2012のディスク拡張してみた


メモメモ程度に。。。

-

# 1. 検証環境について

[SW]

- VirtualBox バージョン 5.0.10 r104061

[Guest OS]

- WindowsServer2012R2

[Host OS]

- OS X El Capitan ver10.11.2

-

# 2. 検証結果

拡張前のGuest OSのディスクサイズは `25GB` 。
これを `40GB` まで拡張をしてみる。

![kobito.1451628659.689655.png](https://qiita-image-store.s3.amazonaws.com/0/33479/f4a66115-b566-b5f1-512e-7f125707d2aa.png "kobito.1451628659.689655.png")
![kobito.1451628675.633727.png](https://qiita-image-store.s3.amazonaws.com/0/33479/a6e1c7f1-94ec-25b8-9923-0cd52b33f12f.png "kobito.1451628675.633727.png")


今の仮想ファイルの拡張子は、 `vmdk形式` 。
このままではサイズの拡張は出来ないらしい。
下記のサイト内容を参考にやってみる。
http://qiita.com/niwashun/items/f71b0b805a6f97b514ec


仮想マシンのハードディスク一覧

````ログ
MacBookAir:VirtualBox VMs users$ 
MacBookAir:VirtualBox VMs users$ VBoxManage list hdds
UUID:           402bf723-efcf-4997-90fa-59526ac4b9d2
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /Users/users/VirtualBox VMs/WinSrv2012/WinSrv2012.vmdk
Storage format: VMDK
Capacity:       25600 MBytes
Encryption:     disabled

UUID:           ad0c94e5-c5d0-4179-9afd-ecc026079da5
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /Users/users/VirtualBox VMs/OEL64/OEL64.vmdk
Storage format: VMDK
Capacity:       12288 MBytes
Encryption:     disabled

MacBookAir:VirtualBox VMs users$ 
````

IDを指定することでマシン単体の詳細情報がみれる

````ログ
MacBookAir:VirtualBox VMs users$ VBoxManage showhdinfo 402bf723-efcf-4997-90fa-59526ac4b9d2
UUID:           402bf723-efcf-4997-90fa-59526ac4b9d2
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /Users/users/VirtualBox VMs/WinSrv2012/WinSrv2012.vmdk
Storage format: VMDK
Format variant: dynamic default
Capacity:       25600 MBytes
Size on disk:   7960 MBytes
Encryption:     disabled
In use by VMs:  WinSrv2012 (UUID: 75c3cdfa-40ad-438e-847f-9d036b29584a)
MacBookAir:VirtualBox VMs users$ 
````

コマンドで拡張してみたけど怒られました。

````ログ
MacBookAir:VirtualBox VMs users$ VBoxManage modifyhd 402bf723-efcf-4997-90fa-5952 --resize 40960
VBoxManage: error: Could not find file for the medium '/Users/users/VirtualBox VMs/402bf723-efcf-4997-90fa-5952' (VERR_FILE_NOT_FOUND)
VBoxManage: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component MediumWrap, interface IMedium, callee nsISupports
VBoxManage: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 178 of file VBoxManageDisk.cpp
MacBookAir:VirtualBox VMs users$ 
````

力づくでも駄目みたいなので、おとなしく拡張可能と言われる `VDI形式` に変更してやってみたいと思います。

クローンを作り、`VMDK形式` から `VDI形式` に拡張子を変えてみます。

````ログ
MacBookAir:VirtualBox VMs users$ VBoxManage clonehd "/Users/users/VirtualBox VMs/WinSrv2012/WinSrv2012.vmdk" "/Users/users/VirtualBox VMs/WinSrv2012/clone.vdi" --format vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'vdi'. UUID: 3d5cb828-ac79-4752-8fb1-102ae03e3c65
MacBookAir:VirtualBox VMs users$
MacBookAir:VirtualBox VMs users$ ll WinSrv2012/
total 32578848
drwx------  9 users  staff         306  1  1 01:44 Logs
-rw-------  1 users  staff        7834  1  1 15:31 WinSrv2012.vbox
-rw-------  1 users  staff        7834  1  1 01:55 WinSrv2012.vbox-prev
-rw-------  1 users  staff  8347320320  1  1 01:51 WinSrv2012.vmdk
-rw-------  1 users  staff  8333033472  1  1 15:31 clone.vdi
MacBookAir:VirtualBox VMs users$
````

`VDI形式` 変更できたので拡張をしてみる。

````ログ
MacBookAir:VirtualBox VMs users$ VBoxManage modifyhd "/Users/users/VirtualBox VMs/WinSrv2012/clone.vdi" --resize 40960
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
MacBookAir:VirtualBox VMs users$
````

拡張できたようなので、 `VMDK形式` に戻してみる。
上書きではなく、別名にしてみる。


````ログ
MacBookAir:VirtualBox VMs users$ VBoxManage clonehd "/Users/users/VirtualBox VMs/WinSrv2012/clone.vdi" "/Users/users/VirtualBox VMs/WinSrv2012/WinSrv2012_2.vmdk" --format vmdk
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'vmdk'. UUID: f49f8f63-039e-476e-ac64-a0355b8afd5b
MacBookAir:VirtualBox VMs users$ 
MacBookAir:VirtualBox VMs users$ ll /Users/users/VirtualBox\ VMs/WinSrv2012/
total 48767776
drwx------  9 users  staff         306  1  1 01:44 Logs
-rw-------  1 users  staff        7834  1  1 15:31 WinSrv2012.vbox
-rw-------  1 users  staff        7834  1  1 01:55 WinSrv2012.vbox-prev
-rw-------  1 users  staff  8347320320  1  1 01:51 WinSrv2012.vmdk
-rw-------  1 users  staff  8288731136  1  1 15:44 WinSrv2012_2.vmdk
-rw-------  1 users  staff  8333033472  1  1 15:40 clone.vdi
MacBookAir:VirtualBox VMs users$
````

GUIで `VMDKファイル` を入れ替えてちゃんと拡張後のサイズで認識されているか確認してみる。

![kobito.1451631104.216650.png](https://qiita-image-store.s3.amazonaws.com/0/33479/48be89fa-f8be-a91f-5d5c-a979728572a2.png "kobito.1451631104.216650.png")


うまく拡張できました！
但し、これだけではOS側で拡張後サイズで認識してくれていないので、OS側でも拡張後の操作をします。

![kobito.1451631438.564070.png](https://qiita-image-store.s3.amazonaws.com/0/33479/82072e0d-6bea-6c4a-4914-0829062a47e6.png "kobito.1451631438.564070.png")

ちゃんとOSが起動できました！！
想定通り、拡張した分が未割り当てになっているので認識させます。

![kobito.1451631511.045019.png](https://qiita-image-store.s3.amazonaws.com/0/33479/c0ee8973-ed6c-72b2-7b64-680429d873b4.png "kobito.1451631511.045019.png")

ちゃんと認識されました！！