14 July 2019

VMwareの仮想マシンにWindows 10 Proを新規インストールし、ライセンス認証を移行

先日、『Dell Inspiron mini 10vのWindows 10をVMware vCenter Coverterで仮想マシンに変換』で仮想マシン化したWindows 10は 32ビット版。

今回、64ビット版を仮想マシンにクリーンインストールし、問題なく安定稼働したのでライセンス認証を移行した。

これで、必要ならいつでもクリーンインストールが可能となり、仮想マシンのファイル(34 GBytes)のバックアップの必要も無くなった。

VMwareの仮想マシンの作成

仮想マシン作成メニューのデフォルト動作は、「isoファイル指定で自動インストール」 かつ 「仮想ディスクが可変長設定」 となっている。 今回は、パフォーマンス重視のため「仮想ディスクを固定長で領域確保」を行う。

なお、Microsoftによると、『Windows 10 インストールのシステム要件』は次のようになっている

32bit版64bit版
CPU1 GHz以上
RAM1 GBytes2 GBytes
ハード ドライブの空き領域16 GBytes32 GBytes
ディスプレイ800x600

20190714-vmconfig01.jpg
OSを後からインストールする(install the operating system later)設定で仮想マシン作成

標準的な設定で仮想マシンを作成すると、可変長のディスクとなる。いったん、仮想ディスク(SCSIハードディスク)を削除して、もう一度(固定長ディスクの設定で)再作成する

20190714-vmhdd02.jpg
仮想ディスクはSCSIで作成する

20190714-vmhdd01.jpg
仮想ディスク領域を全て確保する(Allocate all disk space now)

さらに、ハードディスク領域のサイズは、Windows 10の64ビット版の場合 32GBytes 以上なので、少しだけ余裕をみた 34GBytes とした。

最終的に、仮想マシンは次のような設定となった

20190714-vmconfig.jpg

CPUコア数 : 2
メモリー : 2 GBytes
ハードディスク : SCSI 34 GBytes
CD : 初期状態は何もマウントしない
ネットワーク : Bridged
サウンドカード : 自動
USB : Version 2.0
ディスプレイ : 3Dアクセラレーション OFF

vmxファイルは次のようになっている

windows10.vmx
.encoding = "UTF-8"
config.version = "8"
virtualHW.version = "16"
virtualHW.productCompatibility = "hosted"
displayName = "Windows 10 Pro (64bit)"
guestOS = "windows9-64"
gui.exitOnCLIHLT = "FALSE"
 
extendedConfigFile = "Windows 10 Pro (64bit).vmxf"
nvram = "Windows 10 Pro (64bit).nvram"
uuid.bios = "56 4d 6a b1 5c 43 df 8b-70 48 e1 c4 d6 d4 4f 1d"
uuid.location = "56 4d a0 01 52 cb 50 34-c6 0d 4a 4e b4 bd 87 4e"
 
cpuid.coresPerSocket = "2"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.suspend = "soft"
powerType.reset = "soft"
cleanShutdown = "TRUE"
softPowerOff = "TRUE"
numvcpus = "2"
numa.autosize.cookie = "20022"
numa.autosize.vcpu.maxPerVirtualNode = "2"
firmware = "efi"
svga.guestBackedPrimaryAware = "TRUE"
monitor.phys_bits_used = "43"
memsize = "2048"
mem.hotadd = "TRUE"
 
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
 
ehci.present = "TRUE"
ehci.pciSlotNumber = "34"
 
vmci0.present = "TRUE"
vmci0.id = "-690729187"
vmci0.pciSlotNumber = "35"
vmotion.checkpointFBSize = "4194304"
vmotion.checkpointSVGAPrimarySize = "268435456"
vm.genid = "394501709451190654"
vm.genidX = "6363554458562749561"
 
hpet0.present = "TRUE"
sensor.location = "pass-through"
 
tools.syncTime = "TRUE"
tools.remindInstall = "FALSE"
toolsInstallManager.updateCounter = "1"
toolsInstallManager.lastInstallError = "0"
isolation.tools.hgfs.disable = "FALSE"
 
sound.autoDetect = "TRUE"
sound.virtualDev = "hdaudio"
sound.fileName = "-1"
sound.present = "TRUE"
sound.pciSlotNumber = "33"
 
scsi0.virtualDev = "lsisas1068"
scsi0.present = "TRUE"
scsi0.pciSlotNumber = "160"
scsi0.sasWWID = "50 05 05 61 5c 43 df 80"
 
scsi0:0.present = "TRUE"
scsi0:0.fileName = "win10x64-scsi-disk.vmdk"
scsi0:0.redo = ""
 
sata0.present = "TRUE"
sata0:1.deviceType = "cdrom-raw"
sata0:1.fileName = "auto detect"
sata0:1.present = "TRUE"
sata0:1.autodetect = "TRUE"
sata0:1.startConnected = "FALSE"
sata0.pciSlotNumber = "36"
 
usb.present = "TRUE"
usb.pciSlotNumber = "32"
usb.autoConnect.device0 = ""
 
ethernet0.addressType = "generated"
ethernet0.virtualDev = "e1000e"
ethernet0.present = "TRUE"
ethernet0.generatedAddress = "00:0c:29:d4:4f:1d"
ethernet0.generatedAddressOffset = "0"
ethernet0.pciSlotNumber = "192"
 
sharedFolder0.present = "TRUE"
sharedFolder0.enabled = "TRUE"
sharedFolder0.readAccess = "TRUE"
sharedFolder0.writeAccess = "TRUE"
sharedFolder0.hostPath = "/mnt/temp/temp/_share"
sharedFolder0.guestName = "vmware-share"
sharedFolder0.expiration = "never"
sharedFolder.maxNum = "1"
 
usb:1.speed = "2"
usb:1.present = "TRUE"
usb:1.deviceType = "hub"
usb:1.port = "1"
usb:1.parent = "-1"
floppy0.present = "FALSE"
tools.upgrade.policy = "useGlobal"
checkpoint.vmState = ""
usb:0.present = "TRUE"
usb:0.deviceType = "hid"
usb:0.port = "0"
usb:0.parent = "-1"

仮想マシンが安定稼働したのち、POWER OFFと同時にディスクの変更を元に戻したい場合、次の1行を加える

scsi0:0.mode = "independent-nonpersistent"

Windows 10 Proのクリーン インストール

Microsoftの『Windows 10 のディスク イメージ (ISO ファイル) のダウンロード』では、直近の2世代分のインストール メディアがダウンロードできる。

現在選択できるのは、次の2つ。

・ Windows 10 May 2019 版 (version 1903)
・ Windows 10 October 2018 版 (version 1809)

Home版とPro版の共通isoファイルなので、インストールの途中でどちらかを選択すればよい。

最新版のisoファイル (Win10_1903_V1_Japanese_x64.iso 4.8GBytes)を仮想マシンのCD-ROMに設定して、画面の指示に従ってインストールすれば、初回起動の画面まで何の問題もなく到達できる。

なお、インストールが正しく行われるかどうか心配な面もあるので、インストール時にプロダクトキーの入力は行わない。

20190714-winwinst01.jpg
プロダクトキーは入力しない

20190714-winwinst02.jpg
HomeエディションやProなど、所有しているライセンスキーに合わせて選択

20190714-winwinst03.jpg
仮想ディスク全領域を利用してインストール (ディスクを選択し、次へボタンを押すだけ)

初回ログオン時(起動時)に VMware Toolsをインストール

ハードウエアのドライバを組み込むため、初回起動時のログオン後にVMware Toolsを必ずインストールする。

VMware Playerの「Virtual Machine」メニュー内の「Install VMware Tools」を実行するとCD-ROMがマウントされるので、この中のインストーラを起動してデフォルト設定でインストールする。

再起動して、デバイスマネージャーを開いてドライバが読み込まれているかを確認する。

20190714-vmdevice.jpg

赤で囲っている部分がVMware Toolsでドライバがインストールされたデバイスで、これらのドライバが無い状態で再起動を行うと、正常に起動できない(ブルースクリーンが表示される)。

こうなってしまった場合は、『Dell Inspiron mini 10vのWindows 10をVMware vCenter Coverterで仮想マシンに変換』で試行したように、セーフモードの『3)低解像度ビデオを有効にする』で起動してログオンしVMware Toolsをインストールすることで解決できる可能性がある。

ライセンス認証

ライセンス認証する前に、管理者ユーザのログオンをマイクロソフト アカウントで行うように設定する。こうすることで、「アカウントにリンクされた デジタルライセンス」として保存され再認証が容易になる(らしい)。

インストールしたWindows 10が安定して稼働することが確かめられたら、設定 > 更新とセキュリティ > ライセンス認証 とたどって、「プロダクトキーを変更します」を実行してプロダクトキーを入力する。

今回は、すでにDell Inspiron mini 10vでライセンス認証されているWindows 8のライセンスキーを入力した。

20190704-win10-license01.jpg
「プロダクトキーを変更します」を選択

20190704-win10-license02.jpg
プロダクトキーの入力

20190704-win10-license03.jpg
プロダクトキー入力後10秒ほどタイムラグがあって、「ライセンス認証済みです」のダイアログが表示される

番外編 : LinuxのWindows共有にアクセス可能にする(SMB 1.0)

LinuxのWindows共有フォルダを利用するためには、旧来のSMB 1.0をインストールする必要がある。

コントロールパネル > プログラムと機能 > Windowsの機能 を開き、『SMB1.0/CIFSクライアント』をインストールする。

高速スタートアップの設定ができない

VMwareのハードウエアが「休止状態」をサポートしていない場合、コントロールパネル > 電源オプション > 電源ボタンの動作の選択 を開いたダイアログに、「休止状態」の設定が表示されない。

無効であれば、システムドライブ(C: ドライブ)のルートフォルダに hiberfil.sys ファイルが存在しないことより確認できる。

Windows 10 バージョン 1903で導入された予約済み記憶域

Windows Update用にシステム側で確保された7 GBytesほどの「予約済み記憶域」が作成されているのを確認するには

設定 > システム > ストレージ を開いて、ローカルディスク項目の「表示するカテゴリを増やす」をクリックしたのちに、「システムと予約済み」をクリックする

20190714-winreserve.jpg