# VMでバーチャルハードディスクを後から分割したくなった場合
Category: "IT全般, 一般" , Tags: VHD, Virtual Disk Manager, VM, vmware-vdiskmanager, バーチャルハードディスク, 2Gに分割
今日乗っていたバスが煙を吹いて壊れました。目的地まであと3駅という微妙な所で下ろされてしまいました。
さておき、
ソフトウェアテストのためVM上に各国語のOSを入れていたんですが、うっかり(?)一つ、バーチャルHDを「2Gごとに分割する」にし忘れて作ってしました。
気づいたのはちょっと後で、うーんどうしよう。
ほぼクリーンな状態だから、4G(受け渡しのために)越えないければ今回はいいかなという感じのことをしゃちょーも言ってくれてたんですが、えーと?テストに必要なソフト入れてたら超えちゃいましたね…
うーんうーん。作り直す? 受け渡し用のHDをNTFSにフォーマットする?
時間かかるなぁー(←ただのめんどくさがり?) 何かないかな…
あ、ありました。(ネットで検索)
コマンドラインでVirtual Disk Managerというのを使って後から分割できるんですね(私が知らなかっただけ?)。
HDの容量も大きくできます。小さくはできないようですが。
確かにVMwareのディレクトリの中にvmware-vdiskmanager.exeというのがあります。
使い方は本家(http://www.vmware.com/pdf/VirtualDiskManager.pdf)に載ってます。
日本語ないのかな?説明してくれているブログとかは多少あったんですが。
また使うこともありそうなので、メモとしてちょっと内容をまとめてみました。
まず前提:
- VMwareは切った状態で。
- 操作したいvmdkがあるディレクトリに移動しておいたほうが楽。
- ただし、パスが通ってるはずだが、通ってないようならvmware-vdiskmanager.exeのディレクトリへ移動。
- 必ず操作前にバックアップ(コピー)を取ること。
で、ホスト上のコマンドプロンプトかターミナルを開きコマンドを打つ。
vmware-vdiskmanager [options] [diskname]
vmware-vdiskmanager [options] [drive|mountpoint]
[options](オプション 一部のみ。ちゃんと見たい人は上記URLより直接どうぞ)
- -c: ローカル・バーチャル・ディスクを作成。-a、-s、-t オプションと
を指定する必要がある。- -d: [diskname]によって指定されたバーチャルディスクのデフラグメント。
- -k: [diskname]によって指定されたバーチャルディスクを圧縮。
- -n [sourcedisk] [targetdisk]: [sourcedisk]のバーチャルディスク名を[targetdisk]という名称に変える。ディレクトリ パスを指定することで、オリジナル名と同じまたは新しいディスク名のものを異なるディレクトリに置くこともできる。
- -r [sourcedisk] [targetdisk]: [sourcedisk]のバーチャルディスクをコンバート(クローン)し、[targetdisk]という名の新たなバーチャルディスクを作成。ローカルのでは-tオプションによりタイプを指定する必要がある。
- -x [GB|MB|KB]: [diskname]によって指定されたハードディスクの要領をに拡大。はギガバイト(GB)、メガバイト(MB)、キロバイト(kB)で指定。新たな容量はオリジナルのものより大きくなくてはならない。
- -a [ide|buslogic|lsilogic]: ディスク アダプター タイプを指定。バーチャルディスクを作成する際に必須のオプション。
- -s [GB|MB|KB]: バーチャルディスクのサイズを指定。 バーチャルディスクを作成する際に必須のオプション。
- -t [0|1|2|3|4|5]: バーチャルディスク タイプを指定。バーチャルディスクを作成またはコンバートする際に必須のオプション。以下よりひとつ指定:
- 0 – 可変長のバーチャルディスクをひとつのファイルに作成(モノシリック スパース)
- 1 – 可変長のバーチャルディスクを複数の2GBファイルに分割して作成(スプリット スパース)
- 2 – 固定長(ディスク領域を事前に割り当て)のバーチャルディスクをひとつのファイルに作成(モノシリック フラット)
- 3 – 固定長のバーチャルディスクを複数の2GBファイルに分割して作成(スプリット フラット)
- 4 – 固定長の、ESXサーバと互換性のあるバーチャルディスクを作成(VMFS フラット)
- 5 – ストリーミングに最適化した圧縮ディスクを作成
こんな感じでしょうか。
今回やったことは、
オリジナルと同じ名前で分割したバーチャルハードディスクを作りたかったので、まずオリジナルハードディスクの名前を適当なものに変更
vmware-vdiskmanager -n [オリジナル バーチャルディスクのdiskname] [適当に変更するためのdiskname]
それからバーチャルディスクを分割ディスクにコンバート
vmware-vdiskmanager -r [名前を変更したオリジナル バーチャルディスクのdiskname] -t 1 [もともとのオリジナルと同じ名前をつけた新しいバーチャルディスクのdiskname]
Convert: 100% done.
Virtual disk conversion successful.
と表示されたら成功!


