Windows 10のWIM/ISOインストールイメージにデバイスドライバーを組み込む方法【PowerShell・DISM手順解説】
本記事では、必要なデバイスドライバーをWindowsインストールイメージに直接組み込む(統合する)方法を詳しく解説します。オフラインのWindowsイメージへドライバーを事前に統合しておく手法は、同一ハードウェア構成の多数のワークステーションやサーバーを展開する際に広く活用されています。AHCI、RAID、NVMeなどの個別ドライバーを各端末に手動でインストールする代わりに、ISO/WIMファイルやVHD/VHDXファイル内のWindowsインストールイメージのドライバーストアに直接ドライバーを組み込めば、OS展開プロセスを大幅に簡素化し、高速化できます。このようなイメージからWindowsをインストールすると、プラグアンドプレイ(PnP)サービスが検出されたハードウェアに必要なドライバーを自動的にインストールしてくれます。
ドライバー統合の概要と対応環境
このガイドは、Windowsイメージへのデバイスドライバー統合について説明するものであり、デスクトップ版のWindows 10やWindows 8.1はもちろん、Windows Server 2016や2012 R2でも利用できます。
最近のWindowsでは、インストール用ISOイメージにドライバーを追加する方法として、主に以下の2つがあります。
- DISMユーティリティを使用する方法
- PowerShellコマンドラインを使用する方法
実際にはどちらも同じ操作、すなわちオフラインのWindowsイメージへドライバーを追加する処理を行います。どちらを使うかは管理者の好みの問題です。ここでは、Windows 10のインストールイメージへのドライバー統合を例に、両方の方法を詳しく見ていきましょう。
注意: Windows Server 2008 R2およびWindows 7の時代には、WAIKに含まれるimagexコマンドラインツールを使ってWindowsインストールイメージにドライバーを追加できましたが、Windows Server 2012以降ではサポートされていません。
PowerShellを使ってWindows 10インストールイメージにドライバーを注入する方法
まず最初に、必要なすべてのデバイスドライバーをダウンロードし、1つのディレクトリにまとめて配置します(ドライバーごとに個別のフォルダーを作成してください)。なお、DellやHPなど多くのベンダーは、自己展開型のexeファイルやzipアーカイブ形式でドライバーを提供しています。これらのアーカイブはローカルドライブに展開し、ドライバーフォルダー内にinf、cat、sysファイルが含まれている状態にしておく必要があります。
作業を始める前に、ローカルドライブ上に次のようなディレクトリ構造を作成しましょう。
- Driversフォルダー — 統合対象となるWindows 10エディション用の展開済みドライバーファイルを格納します。必要なドライバーファイルは手動でダウンロード・展開してもよいですし、必要なドライバーがすでにインストール済みのリファレンスとなるWindows 10マシンから、
Export-WindowsDriverコマンドレットを使ってサードパーティ製ドライバーを一括エクスポートすることも可能です。 - ISOフォルダー — 展開したWindows 10のISOイメージを格納します。Sourcesディレクトリから必要なのはInstall.wimファイルだけです。もしWindows 10のISOイメージに ..\sources\install.esd しか含まれていない場合は、DISMツールを使ってESDファイルをWIM形式に変換できます:
dism /export-image /SourceImageFile:"C:\WinWork\ISO\install.esd" /SourceIndex:4 /DestinationImageFile:C:\WinWork\ISO\install.wim /Compress:max /CheckIntegrity - Mountフォルダー — 後ほどWindowsインストール用WIMイメージをマウントするための空のディレクトリです。
Get-WindowsImage PowerShellコマンドレットを使って、Install.wimファイルに含まれるすべてのWindowsエディションを一覧表示します。これは、追加ドライバーを統合する対象のWindowsエディションを特定するために必要な作業です。
Get-WindowsImage -ImagePath C:\WinWork\ISO\install.wim
この例では、WIMファイルにはインデックス1のWindows 10 Proエディションのみが含まれています(ImageIndex: 1)。
次に、選択したWindowsエディションのイメージをMountディレクトリにマウントします。マウントするWindowsイメージのインデックス番号は、Indexパラメーターの引数として指定します。
Mount-WindowsImage -Path C:\WinWork\Mount\ -ImagePath C:\WinWork\ISO\install.wim -Index 1
イメージのマウントが完了したら、次のコマンドでDriversディレクトリからドライバーを追加できます。
Add-WindowsDriver -Path C:\WinWork\Mount\ -Driver C:\WinWork\Drivers -Recurse
Add-WindowsDriverコマンドレットは、-Recurseパラメーターにより指定フォルダーを再帰的に検索し、ドライバーの記述を含むすべての*.infファイルを見つけます。infファイル内の記述に基づいて、依存関係のあるINF、DLL、CAT、PNFなどのファイルがWindowsイメージのドライバーストアに追加されます。
-ForceUnsignedキーを使用すれば、デジタル署名のないドライバーでもドライバーストアに追加できます。このオプションを使わない場合は、デジタル署名の強制を無効化するか、自己署名証明書でデバイスドライバーに自ら署名する必要があります。
これでドライバーのコピーは完了です。変更を保存しながら現在のイメージをマウント解除しましょう。
Dismount-WindowsImage -Path C:\WinWork\Mount\ –Save
上記の例では、Install.wimイメージファイルにドライバーを追加しました。これはコンピューターのローカルディスクに展開されるWindowsイメージです。一方、Windowsのインストール時にコンピューターが起動するブートイメージにもドライバーを追加したい場合は、Boot.wimファイルに対して同じ操作を行う必要があります。これは通常、Windowsインストール時にローカルハードディスクが認識されない、あるいはLANに接続できないといったケースで必要になります。boot.wimイメージに統合が必要なのは、一般的にディスクコントローラーとネットワークアダプターのドライバーだけです。
なお、時間の経過とともにドライバーストアフォルダー(%WINDIR%\System32\DriverStore\FileRepository)は大幅に肥大化する可能性があるため、未使用のドライバーや古いバージョンのドライバーは定期的に削除することをおすすめします。
統合済みドライバーを含むinstall.wimファイルは、DISMの圧縮オプションを使ってinstall.esd形式に変換することもできます。
DISM /Export-Image /SourceImageFile:C:\WinWork\ISO\install.wim /SourceIndex:1 /DestinationImageFile:C:\WinWork\ISO\install.esd /Compress:recovery
あとは、Dism++やoscdimgコマンドを使ってISOファイルを作成し、DVDまたはUSBフラッシュドライブに書き込むだけです。
oscdimg -n -m -bc:\ISO\boot\etfsboot.com C:\ISO C:\new_win10pro_image.iso
Windows 7 / 2008 R2にはAdd-WindowsDriverコマンドレットが存在しません。このコマンドレットはWindows 8 / Windows Server 2012以降でのみ利用可能です。そのため、Win7/2008 R2のイメージにドライバーを統合する場合は、DISMツールを使用してください(下記の例や「Windows 7インストールイメージへのUSB 3.0ドライバー追加」の記事を参照)。
DISMを使ってオフラインのWindows Server 2012 R2イメージにドライバーを追加する方法
続いて、Windows Server 2012 R2のインストールイメージにドライバーを統合する具体例を紹介します。Windows 8.1上でイメージを作成している場合は、最新バージョンのDISMを使って作業を続けるために、Windows 8 ADK(https://www.microsoft.com/en-us/download/details.aspx?id=30652)をダウンロードしてインストールする必要があります。インストールするのはDeployment Toolsコンポーネントです。
ディレクトリ構造は同じものを使用します。Drivers(ドライバーと*.infファイルを格納)、ISO(展開したWindows Server 2012 R2イメージ)、Mount(イメージのマウント先ディレクトリ)です。ここでは、install.wimファイルの中からインデックス3のWindows Server 2012 R2 Datacenterエディションを対象とします。
まず、install.wimインストールイメージをマウントします。
dism /Mount-Wim /WimFile:c:\iso\sources\install.wim /Index:3 /MountDir:c:\mount
次に、新しいドライバーを再帰的に検索し、Windows Server 2012 R2イメージのドライバーストアに統合します。
dism /image:c:\mount /Add-Driver "/driver:c:\drivers\" /recurse
変更内容をWIMイメージに保存します。
dism /unmount-wim /mountdir:d:\mount /commit
ネットワークアダプターやディスクコントローラー用のドライバーについては、ブートイメージファイルboot.wimにも統合が必要になる場合があります。
wimファイルに含まれるすべてのWindows Serverエディションにドライバーを追加したい場合は、以下のコマンドが返したすべてのOSバージョンのインデックスに対して、これらの操作を実行する必要があります。
dism /get-wiminfo /wimfile:d:\install.wim
まとめ:更新プログラムの統合も忘れずに
ドライバーの統合に加えて、通常はインストール予定のWindowsイメージにセキュリティ更新プログラムを注入しておくことも推奨されます(Windowsインストールイメージへの更新プログラム追加方法を参照)。こうすることで、OSはインストール直後から高いセキュリティ状態になります。最後に、完成したインストールイメージをDVDディスクやUSBフラッシュドライブに書き込むか、ISOイメージに変換すれば作業完了です。
-
Windows PCに未署名ドライバーをインストールする3つの方法と注意点を徹底解説
Windowsパソコンに接続されたハードウェアデバイスが正常に動作するためには、ハードウェアドライバーが不可欠です。ドライバーはOSのカーネルレベルへのアクセスを必要とするため、Windowsでは正式なデジタル署名を持つドライバーのみのインストールが推奨されており、Microsoftは未署名ドライバーのインストールを防ごうとしています。しかし、古いハードウェアや特殊な機器など、デジタル署名のないドライバーをインストールしなければならない場面もあります。未署名ドライバーのインストールは可能ですが、通常の署名済みドライバーほど簡単ではありません。この記事では、Windowsで未署名ドライバーをイン
-
Windows 11でWiFiドライバーをインストール・更新する方法|WiFiが遅い・繋がらないときの対処法
Windows 11にアップグレードした後、インターネットの速度が遅くなったと感じていませんか? それとも、アップグレード後にWiFi経由でネットにまったく繋がらなくなったということはありませんか? ご安心ください! こうしたトラブルの多くは、古いドライバーや接続の不具合が原因です。本記事では、その原因から具体的な解決策まで詳しく解説します。 Windows 11の主な特徴 Windows 11は、これまでで最も期待されたWindows OSです。モダンな新機能が数多く搭載され、従来のバージョンよりはるかに魅力的な仕上がりとなっています。 生産性向上のための機能も充実しており、ユーザー体験を