LoginSignup
10
11

More than 5 years have passed since last update.

vmdkファイルのWindowsNTをHyper-Vで動かす

Posted at

はじめに

超ニッチですが、VMWare Player(vmdkファイル)上で動いていたWindowsNTをHyper-Vで動かすことをやったのでまとめておきます。
地味に色々ハマって、1,2時間かかった。。。

Hyper-Vの環境について

  • Windows 10 Enterprise
PS C:\Users\sakon> $PSVersionTable
Name                           Value
----                           -----
PSVersion                      5.1.15063.1292
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.15063.1292
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

大まかな流れ

  1. VMDKファイルをVHDファイルに変換する
  2. Hyper-Vマネージャにて新規VMを作成する

VMDKファイルをVHDファイルに変換する

Microsoft Virtual Machine Converter 3.0のダウンロード・インストール

Microsoftのオフィシャルより、Microsoft Virtual Machine Converter 3.0をダウンロードして、インストールする。


ハマりポイント

このMicrosoft Virtual Machine Converter 3.0、PowerShell 3.0以上じゃないとエラーになるというトラップがあるらしい。

WindowsServer 2008R2とかだとPowerShell 2.0なので、Windows Management Framework 3.0をインストールして、Version 3.0にする必要がある。

technetの投稿が参考になると思う。


VMDKファイルをVHDファイルに変換する


PS C:\Users\sakon>  Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"

PS C:\Users\sakon> ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath D:\WindowsNT\WindowsNT.vmdk -destination D:\WindowsN
T\hyper-v -VhdType DynamicHardDisk -VhdFormat Vhd

Destination                        Source
-----------                        ------
D:\WindowsNT\hyper-v\WindowsNT.vhd D:\WindowsNT\WindowsNT.vmdk

ハマりポイント

これがエグい。
Stackoverflowの投稿が役にたった。

普通に変換すると以下のようなエラーが出力される。


PS C:\Users\sakon> ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath D:\WindowsNT\WindowsNT.vmdk -destination D:\WindowsN
T\hyper-v -VhdType DynamicHardDisk -VhdFormat Vhd
ConvertTo-MvmcVirtualHardDisk : The entry 1 is not a supported disk database entry for the descriptor.
発生場所 :1 文字:1
+ ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath D:\WindowsNT\Windows ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (Microsoft.Accel...nversionService:DriveConversionService) [ConvertTo-MvmcVi
   rtualHardDisk], VmdkDescriptorParseException
    + FullyQualifiedErrorId : DiskConversion,Microsoft.Accelerators.Mvmc.Cmdlet.Commands.ConvertToMvmcVirtualHardDiskC
   ommand

ConvertTo-MvmcVirtualHardDisk : 1 つ以上のエラーが発生しました。
発生場所 :1 文字:1
+ ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath D:\WindowsNT\Windows ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (Microsoft.Accel...nversionService:DriveConversionService) [ConvertTo-MvmcVi
   rtualHardDisk], AggregateException
    + FullyQualifiedErrorId : DiskConversion,Microsoft.Accelerators.Mvmc.Cmdlet.Commands.ConvertToMvmcVirtualHardDiskC
   ommand

そのため、メタデータ的なのを変更してやらないといけないらしい。
dsforkというのをダウンロードして、任意の場所に解凍する。

出力する。

PS C:\Users\sakon> .\dsfo.exe "D:\WindowsNT\WindowsNT.vmdk" 512 1024 descriptor1.txt
OK, 1024 bytes, 0.000s, MD5 = XXXXXXXXXX

出力されたdescriptor1.txtをVisualStudioCodeか何かエディタで開いてddb.toolsInstallType = "1"をコメントアウトして保存。

# Disk DescriptorFile
version=1
encoding="Shift_JIS"
CID=b1e83783
parentCID=ffffffff
createType="monolithicSparse"

# Extent description
RW 8388608 SPARSE "Windows NT.vmdk"

# The Disk Data Base 
#DDB

ddb.adapterType = "buslogic"
ddb.geometry.cylinders = "522"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.longContentID = "10a28426192e2eb3eeb8f5b1b1e83783"
#ddb.toolsInstallType = "1" ←これをコメントアウト
ddb.toolsVersion = "7392"

あとなんか色々〜

そして、戻す

PS C:\Users\sakon> .\dsfi.exe "D:\WindowsNT\WindowsNT.vmdk" 512 1024 descriptor1.txt
OK, written 1024 bytes at offset 512

仮想マシンの作成

スクリーンショット 2018-10-06 19.52.46.png

スクリーンショット 2018-10-06 19.52.58.png

スクリーンショット 2018-10-06 19.53.11.png

取り敢えずコンソール接続するから、ネットワークはいいかな。
スクリーンショット 2018-10-06 19.53.24.png

スクリーンショット 2018-10-06 19.54.13.png

スクリーンショット 2018-10-06 19.57.25.png

んで、起動する。

スクリーンショット 2018-10-06 19.58.09.png

わーい起動したー

スクリーンショット 2018-10-06 19.58.57.png

10
11
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
10
11