ドライバフィードカタログのリストにない機種向けのドライバーをドライバフィードに配置する登録方法を説明します。
DriverFeed を使用すると Dell Enterprise Client (Latitude, Optiplex, Precision, XPSシリーズ等)、Lenovo、HPの各機種別のドライバパックをSDA上に蓄えておき、展開時に各機種別のドライバーを注入することができます。
そのドライバーのカタログには含まれないような機種・ベンダーへのドライバー注入時の対処方法を示します。
デバイスへのイメージ展開実行時にドライバーフィードからドライバの注入が実行されるためには次の条件を満たす必要があります。
(4) ドライバーの配置先のパスにドライバーファイルが配置されていること
スクリプト形式のインストール による展開おいては (1),(4) を満たせば展開時に自動で注入されます。
これらの条件を満たす場合に、展開プロセスではOS書き込み後に、組み込みの展開タスク'ドライバのコピー'が実行されてその機種・OSへインストール(注入)すべきドライバのパスを特定して再帰的にdism.exe /Add-Driver を行います。
この時のログは次のパスに記録されます。
[WinDrive]:\ProgramData\Quest\KACE\Logs\driver_feed_injection.log (9.0+)[WinDrive]:\Windows\dism.log(8.2まで)
ドライバフィードカタログに含まれる機種用のドライバーパックは管理者画面から選択することでダウンロードされ適切なパスに配置されます。
しかし、カタログにないプラットフォームのドライバー群を SDAドライバフィードから配布できるようにするには、ドライバーファイルを \\SDAIPADDR\drivers_postinstall 共有 の所定のパスに配置する必要があります。
特定のモデル/OS 用のドライバーは次のパスの下に配置されている必要があります。
9.0+ \\SDAIPADDR\drivers_postinstall\OSNAME\OSVer\OSarch\OSrel\MANF\SystemID
OSNAME: windows
OSver: 11, 10 等
OSarch : x86, x64
OSrel: any, 21h2等 (anyとWFUの両方のパスが存在する場合 'any' が優先使用)
MANF: dell, hp , lenovo , vmware, hyperv, devicecompany などメーカー名から記号空白などを削除したもの( 適宜 drvstr.cfgで補完 )
SystemID: 089a , 886d 。BIOSから与えられる文字列。ただし仮想マシンでは採取しない
例:
windows\11\x64\any\dell\aaaa
windows\10\x64\21h2\hp\bbbb
windows\11\x64\any\vmware\
展開できるようにするにはこのパスについて 実機上で調べてフォルダを作成し、配下にドライバファイルを配置する必要があります。
A. KBEでの実行
KBEで起動します。
1. 目的のモデルのPCをKBEで起動し KBEホーム画面 にて [Recovery] をクリックします。
2. [Command Prompt] コマンドプロンプトからrun_copy_drivers_debug.bat を実行します。 X:\Windows\System32\> Y: カレントドライブを切り替える
Y:\> cd Y:\drivers_postinstall\feed_tools\ フォルダ移動
Y:\drivers_postinstall\feed_tools\> run_copy_drivers_debug.bat
Recovery の Copy Drivers Debugメニューを使用することもできます。
"Expected Feed Path" では drivers_postinstall共有フォルダ内のOSName\OSVer\OSArch\{wfu|any}\Manf\SystemId\ の有無が確認され Not Installed か Installedが判定されます。
drivers_postinstallフォルダの配置状況に基づくこのデバイスへのドライバの注入元フォルダを確認できます。
"Dism Injection Command"の内容は、実際の展開時にドライバコピーのタスクがこのようなコマンドを実行しうる、という確認のためのものです。今実際に実行しているわけではありません。
Windows OS上で実行することもできます。
1. drivers_postinstall共有( \\sdaIPaddress\drivers_postinstall )のfeed_tools\ からcopy_drivers_debug.ps1 , run_copy_drivers_debug.bat, drvstr.cfg を取り出してローカルディスクの任意の場所に配置します。
2. 管理者としてコマンドプロンプトを起動して「管理者:コマンドプロプト」を立ち上げ、1で配置したパスへ移動します。
3. run_copy_drivers_debug.bat を実行します。
ただしKBEでの実行時と異なりSDA上のdrivers_posinstall\... 内のフォルダの有無は確認しません。
目的のモデルのPCをKBEで起動してcopy_drivers_debug.vbs を実行します。(Windows OSで上で実行することもできます がKBEではdrivers_postinstall内のパスの有無についても確認します)
7. コマンドプロンプトにdism /image:で始まるコマンドラインが出力されていることを確認
今のdrivers_postinstallフォルダの配置状況に基づくこのデバイスへのドライバの注入元フォルダを確認できます。
この表示は、実際の展開時にはドライバコピーのタスクがこのようなコマンドを実行しうる、という確認のためのものです。実際には実行されません。
以下の例では Dellのモデル に Windows 10(22h2)がインストールされたシステムで drivers_postinstallに該当するフォルダ(22h2,any)を作成したうえでv9.1のcopy_drivers_debug.vbsを実行しています。両方とも (Installed) となりますが、dismの引数にはanyが採用されます。
22h2\MANF\#### のみ存在する-> 22h2が採用
any\MANF\#### のみ存在する-> anyが採用
22h2\MANF\####, any\MANF\#### 両方存在する-> anyが採用
いずれもない場合、v8.2までの形式のパスが仮定されます。![]()
配置すべきドライバーがどこにあるかを調査します。
配置すべきドライバーのファイルとはユーティリティやEXE形式のインストーラーを伴うものではなく、infファイルとsys/dllなどから構成されinfを指定することでインストール可能なファイル群を指します。
インターネット上のWebサイトやメーカーのメディアに収録されている場合もあります。
Dell製クライアントPCの場合 ドライバフィードで自動で取得できるため不要ですが、Drivers PackとしてまとめられたものをWebサイト入手できます。
Dell Command | Deploy Driver Packs for Enterprise Client Operating System Deployment
同じモデルのマシンが存在しシステムイメージと同じOSが動作し必要なドライバーが既に入っている場合
dismコマンドあるいは DriverFeed Builder ( 後述の補足3を参照 )を用いて収集することが可能です。
DISM ドライバー サービス (.inf) コマンドライン オプション | Microsoft Learn
DISM /Online /Export-Driver /Destination:C:\temp\output
エクスプローラーから \\SDAIPADDR\drivers_postinstall\ へアクセスして、1. の手順で確認したパスを示すフォルダを作成します。
その下に 2. にて収集したドライバファイルを含むフォルダをコピーします。
手順は以上です。
重要: ここで作成したパスにファイル・フォルダを配置してもそれらのドライバーの情報が ライブラリ | ドライバ や ライブラリ | ドライバフィード の一覧に表示されるわけではありません(そのような機能はありません)。
あくまでも BIOSが返す情報やOSレジストリなどから識別される文字列のパスにドライバーを配置しておくことで、イメージ展開時に注入させる機能です。
期待するような機種の情報が取れない場合には copy_drivers_debugが参照するWMIの情報を記録してテクニカルサポートへお知らせください。
以下のPowerShellコマンドを実行します。
Get-CimInstance -ClassName Win32_ComputerSystem |select-object -Property CimClass,Model,HyperVisorPresent,SystemSKUNumber,Manufacturer | fl
Get-CimInstance -ClassName Win32_BIOS | Select-Object -Property CimClass,Manufacturer | fl
Get-CimInstance -ClassName Win32_ComputerSystemProduct | Select-Object -Property CimClass,Version |fl
Get-CimInstance -ClassName Win32_BaseBoard | select-object -Property CimClass,Product | fl
KBEから実行する場合、この内容を \\k2sdaIPaddr\petemp\ に colwmi.ps1 として保存しておき、
コマンドプロンプトから次のコマンドラインで実行します。
powershell -nologo -executionpolicy bypass -noprofile -file T:\colwmi.ps1
・メーカ名および機種名、機種情報の公式URLがあればそれも含めると助かります。
・内蔵ストレージにインストールされているOS(WFUリリース含む)
・copy_drivers_debugの結果画面
・wmi情報の結果
今後の製品拡張への参考とさせていただきます。
SDA7以上のメディアマネージャでKBEを作成する際、詳細設定オプションで「Driver Feed Advisorの実行」が有効(デフォルト:On)で作成されていれば、そのKBEを起動するだけでも確認できます。
起動中のコマンドプロンプトに表示されます。KBEホーム画面に移動して見えなくなったらAlt-Tabキーを押して画面を切り替えることで表示できます。
ハードディスクにすでにOSが入っていればOS名についても調べてくれます。
DriverFeed Builder を使用すると、配置先の作成および DoubleDriver相当の機能を呼び出してドライバーの収集とSDAへの登録を同時に行えます。
制限事項: KACEエンジニアにより作成されたユーティリティですがテクニカルサポートによるトラブルシューティングは行いません。
DriverFeed Builder v9.3.0からSDA v9.0以降のパスを作成できるようになりました。
Driver Feed Builderの入手
SDA管理者コンソールにて ライブラリ | ドライバフィード へ移動し、 アクションの選択 から Driver Feed Builderをダウンロードしています... を選択すると driverfeedbuilder_installer.exe がダウンロードされます。
起動とSDAへの接続
2-a. driverfeedbuilder_installer.exe を起動します。
2-b. 「Launch Driver Feed Builder」にチェックが含まれていることを確認してInstallボタンを押して起動します。
v 9.3.0.1より新しい場合にはダウンロードが案内されます。
2-c. 「Launch Driver Feed Builder」にチェックが含まれていることを確認してInstallボタンを押すとDriverFeed Builderが立ち上がります。
デスクトップ\driverfeedbuilderにdriverfeedbuilder_x64.exeが作成されます。
次回以降は driverfeedbuilder_x64.exeを起動して使用できます。
【直接アップロードする手順】
DriverFeed Builderを起動します。
SDAのIPアドレスおよびSDA Samba共有のパスワードを指定します。 Save Driver Password は空のまま [Next]を押します。
オプション選択
[Feed Builder Option]の選択では、[Harvest drivers with Double Driver]を選択します。 [Next]を押します。
ドライバの収集とアップロード
Harvesting Driversというダイアログが表示されしばらくすると閉じます。
アップロードが完了すると[Your Feed has been uploaded successfully!]と表示するダイアログが現れます。 Exitをクリックして閉じます。
確認 driver_postinstall共有の下を確認しフォルダ作成・ファイルの配置が行われている事を確認します。
【ローカルに保存する手順】
DriverFeed Builderを起動します。 Save Driver Password にチェックをいれて [Next]を押します。
オプション選択
[Feed Builder Option]では [Harvest drivers with Double Driver] を選択します。 [Next]を押します。
ドライバの収集とアップロード
Harvesting Driversというダイアログが表示されしばらくすると閉じます。
アップロードが完了すると[Your Feed has been uploaded successfully!]と表示するダイアログが現れます。 Exitをクリックして閉じます。
確認
デスクトップ\driverfeedbuilder\の下を確認しフォルダ・ファイルの配置が行われている事を確認します。
ドライバの収集手順については以上となります。
DriverFeedBuilderやメディアマネージャを何度も再起動させて、ツールがSDAにうまく接続できなくなった場合、 DriverFeed Builderを終了してコマンドプロンプトから net useの結果を確認して、SDAのIPアドレスとのセッションを探します。 以下のコマンドを実行してセッションを終了し改めてDriverFeed Builderを実行してください。(不都合でなければPC再起動でも結構です)
net use \SDAIP\<表示されるパス> /delete