1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

vmdk形式のファイルをHyper-Vへインポートする

Last updated at Posted at 2022-12-06

vmdk形式をHyper-Vへインポートしたい

vmwareのファイル形式であるvmdkをHyper-Vのファイル形式であるvhdxへコンバートしたい。

エクスポートされたvmdkが分割されている場合

vmdkファイルが1ファイルにまとまっているのであれば、この手順は不要だが、もし複数のファイルに分割されているのであれば、結合しないといけない。

vmware-vdiskmanager.exeを使う

VMWare Workstation (2022/12月現在 Version 17.0)をインストールすると、一緒にインストールされる。(Playerのほうには入っていなかった。)
インストールフォルダのvmware.exeと同じ場所にある、vmware-vdiskmanager.exeを使う。有志が開発したラッパーGUIもあるようだが、PowerShellで十分実行できた。

vmware-vdiskmanager.exe -r Target-File-1.vmdk -t 0 Target-File.vmdk

Target-File-1.vmdk:分割されたvmdkファイルの先頭のファイルを指す。
Target-File.vmdk:結合後のファイル名を指す。

vmdkファイル形式をvhdxファイル形式へ変換

Microsoft Virtual Machine Converterを使う

既にMicrosoftの公式サイトからは入手できない?(2022/12月現在)
因みにインストーラのファイル名はmvmc_setup.msiだった。
インストールしたらGUIが起動できるが、GUIからはコンバート元のvmware等に接続することが求められるため、PowerShellで実行する。
まずは必要なモジュールをインポート

Import-Module "D:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"

次に変換するコマンドを実行。パスの指定はフルパス推奨。

ConvertTo-MvmcVhd -SourceLiteralPath 変換元.vmdk -DestinationLiteralPath 出力先.vhdx -VhdType DynamicHardDisk -VhdFormat Vhdx

このコマンドで

ConvertTo-MvmcVhd : The entry xx is not supported disk database entry for the descriptor.

とエラー表示が出た場合、次のツールで修正が必要となった。

dsfokを使う

dsfokをDLし、入っているdsfo.exeをまず使う。

dsfo.exe 対象となる変換元.vmdk 512 1024 tmp.txt

そうすると、tmp.txtにvmdkの情報が出力されるので、エラーの「entry xx is」の「xx」に該当する行がないか探して、その行をコメントアウトする。
そして、そのtmp.exeを対象となるvmdkに再度埋め込むため、今度はdsfi.exeを使う。

dsfi.exe 対象となる変換元.vmdk 512 1024 tmp.txt

そして、ConvertTo-MvmcVhdコマンドを再度実行する。(エラーが出ればその度にtmp.txtの編集->dsfi.exeを繰り返す)

Hyper-Vへインポート

これで無事にvhdx形式のファイルに変換できたら、Hyper-Vで新規マシンを作成し、ディスクを新規作成ではなく、変換したvhdxファイルを指定することで起動できる。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?