サイトアイコン puti se blog

uuidとは?WindowsでUUID確認方法

仮想マシンといた仮想環境が出てきまして、
仮想マシンを気軽に、コピーや複製が出来るようになりました。

この仮想マシンのコピーや複製をした時に、時々問題になったりするUUIDについて紹介します。

UUIDとは?

UUIDとは、「Universally Unique IDentifier」の略です。

一般的には「Windowsの場合」とか関係なしに、

全世界で2つ以上同じ値を持つことのないユニークなID

を意味します。

この一般的なUUIDの定義が、Windowsの至る所で使われています(レジストリとにもよく見かけますよね)。

仮想マシン(VMwareとかHyper-V)で登場するUUIDとは

VMwareとかHyper-Vの仮想マシンで登場するUUIDとは、

ハードウェア(マザーボード)の中のBIOSに記録されているUUID

を示します。

簡単に言いますと、マシンハードウェアの一意のIDをUUIDと言います。

BIOS内のデータ構造(SMBIOS)とは?

SMBIOSとは、「System Managemant BIOS」の略になり、
BIOS内のデータ構造の配置(およびそのアクセスメソッド)に関する仕様でです。

このBIOSデータ構造仕様の中に、「UUID」という値があります。

詳しくは、マイクロソフトのSMBIOS3.0のフィールド情報をみてみてください。

Windows OSからUUID確認方法

仮想マシンのUUIDは、マシンハードウェアの中にありますが、
このUUIDをWindows OS上でも取得できるので、UUIDを使用しているアプリケーション等が時々あります。

そのため仮想マシンのコピーや展開方法(UUIDをコピーするか、作成しなおすか)を間違えると、思わぬトラブルに遭遇します。

また、この特性上、
物理マシンでもマザーボードを交換するとUUIDが変わるという事象が起こりえます。

方法1,コマンドプロンプトのwmicコマンド

コマンドプロンプトで

wmic csproduct get /value

を実行しますと、UUIDが表示されます。

UUID以外にも、

といった情報も、Windows OS上からわかったりします。

UUIDだけを知りたい場合は、以下のコマンドオプションになります。

wmic csproduct get uuid

方法2,PowerShellでUUIDを確認するコマンド

PowerShellにて、

(Get-CimInstance -Class Win32_ComputerSystemProduct).UUID

を実行すると、UUIDが確認できます。

Windows GUIでUUIDは確認できない?

Windows GUIでUUIDを確認する方法を探しました。

■ msinfo32

最もシステム情報がある「msinfo32」上でUUIDを探しましたが、
SMBIOSバージョン情報はありましたが、残念ながらUUID情報は見当たりませんでした。

■ レジストリ

HKEY_LOCAL_MACHINE\SYSTEM\HardwareConfig

に、UUID情報が入っていました。

UUIDを変更する方法は?

以下に、何環境下でのUUIDを変更する方法のリンクを紹介します。

ポイントとして、仮想マシンをインポートやリストアするタイミングで、
UUIDを変更することが出来ます。

モバイルバージョンを終了