Windows の UUID 類 確認方法まとめ

こんにちは、やまぱんです。

Windows を触っていると「UUID 教えて」と頼まれる場面が地味に多いんですが、よく聞き返すと指しているものが人によってバラバラだったりします。マシン本体の UUID、レジストリの MachineGuid、ディスクの GUID、ボリューム GUID …全部「UUID」って呼ばれがちです。

この記事では Windows でよく出てくる UUID / GUID 系の識別子を整理して、それぞれ PowerShellレジストリ での確認方法をまとめます。

まずは「種類・取得元・主な用途・取得コマンド」を 1 枚にまとめた早見表を貼っておきます。この表だけで「どれを聞かれているのか」の当たりをつけやすくなります。

Windows の UUID 類早見表。マシン UUID(SMBIOS、Get-CimInstance Win32_ComputerSystemProduct)、MachineGuid(レジストリ HKLM\SOFTWARE\Microsoft\Cryptography、OS 識別)、Disk UniqueId(Get-Disk、ディスク識別)、Volume GUID(Get-Volume、マウント識別)、Network MAC(Get-NetAdapter、ネットワーク識別)の 5 種を並べたマトリクス。UUID は RFC 4122、Windows では GUID 表記、wmic は Windows 11 24H2 / Server 2025 で非推奨なので PowerShell + CIM 推奨、という補足付き
「どの UUID を聞かれているのか」を先に見るための 1 枚

TL;DR

  • Windows で「UUID」と一括で呼ばれているものには 複数の種類 がある(マシン本体 / OS の MachineGuid / ディスク / パーティション / ボリューム / ネットワークなど)。
  • 用途と取得元(SMBIOS、Windows レジストリ、ストレージスタック、NIC)が違うので、確認コマンドも分かれる。
  • 取得は基本 PowerShell の Get-CimInstance で OK。wmic は Windows 11 以降で非推奨かつ削除されつつあるので、新しく書くスクリプトでは使わない方が安全。
  • 規格としての UUID 自体は RFC 4122 で定義されている 128 bit の識別子。Microsoft 用語の「GUID」も中身は同じ。

UUID と GUID、何が違うのか

まずよくある混乱から整理します。

  • UUID(Universally Unique Identifier): RFC 4122 で定義された 128 bit の一意識別子。12345678-1234-1234-1234-123456789ABC のような 32 桁の 16 進数表記が一般的。
  • GUID(Globally Unique Identifier): Microsoft の用語。中身は UUID と同じ 128 bit 値で、相互変換できる。Windows API やレジストリ、COM などで「GUID」と書かれているものは、ほぼ RFC 4122 の UUID と同じものと考えて OK。

つまり「UUID と GUID は呼び方の違いで、中身は同じ」と覚えておけば、まずズレません。

Windows 上の「UUID 類」を種類別にざっくり整理

Windows で UUID と呼ばれがちなものを、出どころ別に並べるとこんな感じです。

種類 何を識別するか どこから来る値か
マシン UUID(SMBIOS UUID) 物理 / 仮想マシンそのもの マザーボードのファームウェア(SMBIOS)
MachineGuid Windows OS インストール単位 Windows 固有のレジストリ値
OS のシリアル番号 / プロダクト ID Windows ライセンス / 製品識別 OS インストール時に生成
ディスク UUID / Disk Signature 物理ディスク GPT の場合 GUID、MBR の場合 32 bit シグネチャ
パーティション UniqueId パーティション パーティション作成時に生成
ボリューム GUID / ボリュームシリアル ボリューム(ドライブレター単位) フォーマット時に生成
PNPDeviceID デバイス(ディスクや NIC など) プラグアンドプレイ管理側で割当
MAC アドレス NIC(物理 / 仮想) NIC のファームウェア(または OS 設定)
アプリ固有 GUID アプリやコンポーネント アプリ側で生成・管理

「マシンを一意に識別したい」「ライセンス管理用に Windows インストールを識別したい」「ストレージを管理したい」など、目的によって見るべき UUID が違う のがポイントです。

確認方法 早見表

実際の取得方法を、用途別にまとめました。基本は PowerShell + CIM に寄せておくと、Windows 11 / Windows Server 2025 以降の wmic 非推奨の流れにも巻き込まれずに済みます。

種類 推奨コマンド(PowerShell) 代替
マシン UUID(SMBIOS) Get-CimInstance Win32_ComputerSystemProduct | Select-Object UUID wmic csproduct get UUID(非推奨)
OS シリアル番号 Get-CimInstance Win32_OperatingSystem | Select-Object SerialNumber systeminfo
MachineGuid Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Cryptography' -Name MachineGuid reg query
ディスク UUID / Signature Get-Disk | Select-Object Number, UniqueId, Guid, Signature, SerialNumber diskpartuniqueid disk
パーティション UniqueId Get-Partition | Select-Object DiskNumber, PartitionNumber, UniqueId -
ボリューム GUID / シリアル Get-Volume | Select-Object DriveLetter, FileSystemLabel, UniqueId mountvol
PNPDeviceID Get-CimInstance Win32_DiskDrive | Select-Object DeviceID, PNPDeviceID デバイスマネージャー
MAC アドレス Get-NetAdapter | Select-Object Name, MacAddress ipconfig /all

Get-CimInstance の使い方は Get-CimInstance(PowerShell リファレンス) を参照してください。

マシン UUID(SMBIOS UUID)

説明

物理マシンや仮想マシンの マザーボード / ファームウェア(SMBIOS) に紐づく UUID。VM の世界では「VM 識別」「ライセンスフィンガープリント」「資産管理」などで頻出します。

取得元のクラスは Win32_ComputerSystemProduct で、UUID プロパティが文字列で返ってきます。

確認方法(PowerShell, 推奨)

Get-CimInstance Win32_ComputerSystemProduct | Select-Object UUID

確認方法(wmic, 非推奨)

wmic csproduct get UUID

wmic は Windows 10 21H1 で非推奨化 されており、Windows 11 IoT 25H2 では削除済み です。新規スクリプトでは Get-CimInstance に寄せるのが安全です。詳細は Deprecated features for Windows client を参照してください。

画面ショット

Win32_ComputerSystemProduct から取得したマシン UUID の実行結果

MachineGuid(Windows OS インストール固有の GUID)

説明

これは SMBIOS の UUID とは別物で、Windows のインストール単位で振られる GUID です。レジストリの HKLM\SOFTWARE\Microsoft\Cryptography\MachineGuid に格納されています。OS をクリーンインストールすると変わります。

「同じハードでも OS を入れ直したら別物として扱いたい」「Windows 側で識別したい」用途で参照します。

確認方法

Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Cryptography' -Name MachineGuid |
    Select-Object MachineGuid

reg.exe で見たい場合:

reg query HKLM\SOFTWARE\Microsoft\Cryptography /v MachineGuid

OS シリアル番号 / プロダクト ID

説明

Windows ライセンスや OS インスタンスに紐づく識別子です。マシン UUID と混同されやすいですが、こちらは OS 側の値 です。Win32_OperatingSystem クラスから取得します。

確認方法

Get-CimInstance Win32_OperatingSystem |
    Select-Object Caption, Version, SerialNumber

ディスク UUID / Disk Signature

説明

物理ディスクの一意識別子です。GPT か MBR かで表現が変わります。

  • GPT(GUID Partition Table): 128 bit の GUID(例: 12345678-1234-1234-1234-123456789ABC
  • MBR(Master Boot Record): 32 bit の Disk Signature(例: A1B2C3D4

確認方法(PowerShell, 推奨)

Get-Disk | Select-Object Number, FriendlyName, UniqueId, Guid, Signature, SerialNumber

Guid プロパティは GPT ディスクのとき、Signature は MBR ディスクのときに値が入ります。

確認方法(diskpart)

diskpart
list disk
select disk X
uniqueid disk

画面ショット

diskpart で uniqueid disk を実行し、ディスクの GUID / シグネチャを取得している画面

パーティション UniqueId

説明

各パーティションに割り当てられる一意識別子。通常 128 bit の GUID 形式で、パーティション作成時に生成されます。再フォーマットやクローン作成で値が変わる可能性がある点に注意してください。

確認方法

Get-Partition | Select-Object DiskNumber, PartitionNumber, DriveLetter, UniqueId

画面ショット

Get-Partition でパーティション ID 一覧を表示した画面

ボリューム GUID / ボリュームシリアル番号

説明

ドライブレター単位の「ボリューム」を識別する GUID とシリアル番号です。{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} 形式のボリューム GUID は、フォーマット時に生成されます。マウントパスや VSS の話で出てくる \\?\Volume{GUID}\ の中身がこれです。

確認方法(PowerShell, 推奨)

Get-Volume | Select-Object DriveLetter, FileSystemLabel, FileSystem, UniqueId, Size

確認方法(mountvol)

mountvol

mountvol を引数なしで実行すると、各ボリュームの GUID パスとマウントポイントの対応が一覧で出ます。

画面ショット

mountvol コマンドの実行結果でボリューム GUID 一覧を表示している画面

PNPDeviceID(ディスクの by-id 相当)

説明

Linux の /dev/disk/by-id に近い感覚で使えるのが PNPDeviceID です。プラグアンドプレイ管理側でデバイスを一意に識別するための ID で、ベンダー名やシリアル風の文字列が混じった独特の形式になります。

「物理的にどのディスクか」を OS をまたいで識別したい場合に便利です。

確認方法

Get-CimInstance Win32_DiskDrive |
    Select-Object DeviceID, Model, SerialNumber, PNPDeviceID

画面ショット

Win32_DiskDrive から DeviceID と PNPDeviceID を取得している画面

ネットワーク(MAC アドレス)

説明

厳密には「UUID」ではないですが、NIC を一意に識別する 48 bit の識別子で、UUID 類と一緒に資産情報として扱われることが多いので並べておきます。

確認方法

Get-NetAdapter | Select-Object Name, InterfaceDescription, MacAddress, Status

まとめ

  • 「UUID」と一言で言っても、マシン本体 / OS / ディスク / パーティション / ボリューム / NIC で見るべき値が違う。
  • 取得は Get-CimInstance ベースの PowerShell に統一すると、wmic 非推奨の流れに巻き込まれずに済む。
  • レジストリ起点の値(MachineGuid など)は別経路なので、レジストリ取得手順も覚えておくと便利。
  • 一次情報は RFC 4122 と Microsoft Learn の WMI / CIM クラス、PowerShell リファレンスを当たるのが安全です。

参考リンク

以上、Windows の UUID 類まとめでした。手元の Windows でも、ぜひ見比べてみてください。

  cards

シェアする

  • このエントリーをはてなブックマークに追加

フォローする