ISO または WIM ファイルから Windows のバージョン、エディション、ビルドを確認する方法

これは最初はかなり簡単に思えるかもしれません。ISO をマウントし、Sourcesフォルダーを覗いて、または を確認するだけですinstall.wiminstall.esdしかし、どこを探せばいいのか、実際に情報を抽出する方法がわからない場合は、正直言って扱いにくくなります。ISO 名からはあまり情報がわからない場合があり、大きなイメージを扱っている場合は、どのバージョンやビルドを扱っているのかが明確ではありません。さらに、どのエディションが含まれているかを把握するのは、特にバージョンを確認するためだけにすべてのフレーバーをインストールしたくない場合は、頭の痛い作業になる可能性があります。そのため、DISM や PowerShell などのツールを使用すると、頭を悩ませることなく、これらすべてを高速化できます。使い方を覚えてしまえば、かなり便利です。

ISO または WIM ファイルで Windows のバージョンとエディションを確認する方法

方法 1: WIM ファイル情報に DISM を使用する

この方法は、ISOにinstalledファイルinstall.wimまたはinstall.esdファイルが含まれている場合に便利です。これにより、ISOに含まれるエディションを確認したり、バージョンの詳細を調べたりすることができます。基本的には、ISOをマウントし、install.wimまたはinstall.esdファイルへのパスをコピーし、コマンドプロンプトで管理者としていくつかの簡単なコマンドを実行します。これにより、特にISOファイル名からあまり情報がわからない場合、完全インストールを回避したり、どのエディションがインストールされているかを延々と推測したりする必要がなくなります。

ある環境では問題なく動作しましたが、別のマシンではコマンドプロンプトを管理者として実行する必要があるかもしれません(右クリック > 管理者として実行)。また、大きなWIMファイルがある場合は、この/Get-WimInfoコマンドを実行すると、各イメージインデックスの詳細(Windowsのエディションなど)が表示されます。

やり方:

  • ISOイメージファイルを右クリックし、「マウント」を選択してマウントします。新しいドライブ(通常はD:など)として表示されます。表示されない場合は、ドライブレターを確認する必要があります。Windowsがドライブレターを忘れてしまうことがあるためです。
  • そのドライブのSourcesフォルダに移動し、install.wiminstall.esd、または該当する場合は分割ファイル (.swm) を見つけます。
  • ファイルを右クリックし、「パスとしてコピー」を選択して、完全なパスをコピーします。
  • コマンド プロンプト を管理者として開きます ( Win+を押しXて、コマンド プロンプト (管理者) または Windows ターミナル (管理者) を選択します)。
  • 次のようなコマンドを実行します。
    DISM /Get-WimInfo /WimFile:"FULL_PATH_TO_YOUR_FILE"

    FULL_PATH_TO_YOUR_FILE をコピーしたパスに置き換えます。例:

    DISM /Get-WimInfo /WimFile:"D:\Sources\install.esd"

利用可能なWindowsエディション(Home、Pro、Enterpriseなど)のリストがインデックス番号付きで出力されます。複数のエディションが表示される場合は、ご希望のバージョンのインデックス番号をメモしてください。

特定のエディションをターゲットにしてそのシステム情報を読み取るには、次のコマンドを使用します。

DISM /Get-WimInfo /WimFile:"D:\Sources\install.esd" /index:6

ここで、6 はそのエディションのインデックスです。適宜調整してください。Windowsのバージョン、ビルド、言語パックなどが表示されます。何もインストールせずに確認できるのはとても便利です。

方法2: PowerShellを使用して詳細を抽出する

こちらは少し複雑ですが、非常に柔軟な概要を提供します。特に、すべてを一度に確認したい場合に便利です。PowerShellでISOファイルをマウントし、install.wimまたはinstall.esdをスキャンしてバージョン情報を取得します。なぜわざわざこんなことをするのでしょうか?イメージが鮮明でなかったり、複数のISOファイルの簡単なレポートが必要な時などです。

始めるための簡単なスクリプトを以下に示します。

$imagePath = "C:\iso\WindowsServer_RTM.iso" $Report = @() $beforeMount = (Get-Volume).DriveLetter $mountResult = Mount-DiskImage -ImagePath $imagePath -PassThru Start-Sleep -Seconds 2 # wait for the mount to settle $afterMount = (Get-Volume).DriveLetter $ImageDrive = "$($afterMount -join '').replace(($beforeMount -join ''), ''):" # This part figures out the drive letter of the mounted ISO # Now, get the Windows images info $WinImages = Get-WindowsImage -ImagePath "$ImageDrive\sources\install.wim" foreach ($WinImage in $WinImages) { $curImage = Get-WindowsImage -ImagePath "$ImageDrive\sources\install.wim" -Index $WinImage. ImageIndex $objImage = [pscustomobject]@{ ImageIndex = $curImage. ImageIndex ImageName = $curImage. ImageName Version = $curImage. Version Languages = $curImage. Languages Architecture = $curImage. Architecture } $Report += $objImage } # To see the report, you can just run $Report | Out-GridView # When finished, unmount Dismount-DiskImage -ImagePath $mountResult. ImagePath 

この便利なスクリプトは、ISOイメージをマウントし、イメージ情報を読み取り、すべてをテーブルにまとめてくれます。とても便利です。唯一面倒なのは、マウントしたイメージのドライブレターを確認する部分です。自動的に割り当てられない場合は、ディスクの管理PowerShell で設定する必要があるかもしれません。また、マウント後に必ずアンマウントしてください。そうしないと、ISOイメージがずっとマウントされたままになり、面倒です。

正直、Windowsがなぜこんなに複雑にするのかよく分かりませんが、これらのコマンドのおかげで、推測する手間が確実に減りました。あるマシンでは一発でうまくいきましたが、次のマシンではドライブレターを正しく設定するのに少し手間取りました。少しイライラしますが、なんとかできます。

まとめ

  • ISOをマウントし、install.wimまたはinstall.esdを見つけます
  • DISM /Get-WimInfo を使用してエディションとバージョンの詳細をすばやく確認します
  • PowerShellスクリプトは、内部にあるすべての画像の詳細な概要を表示できます。
  • 終わったらISOをマウント解除することを忘れないでください。ゴーストマウントが残らないようにするためです。

まとめ

結局のところ、細かく分解してみれば、これはロケット科学のような難解なものではありません。実行するコマンドと、どこを見ればよいかを知るだけで十分です。DISMコマンドは、インストールや書き込みの手間をかけずに、大容量のISOファイル内のWindowsバージョンを素早く特定するのに特に便利です。スクリプト作成に慣れているなら、PowerShellスクリプトを使えばさらに柔軟性が高まります。最初から完璧に仕上げるのは少し大変ですが、一度コツをつかめば、特に複数のISOファイルやイメージを管理する場合は、大幅に時間を節約できます。この方法が、誰かの終わりのない頭を悩ませる作業から解放されることを願っています。