ISO イメージの焼き直しによるドライバ追加手順（Windows）

# はじめに
素のWindows2012R2 ISOに対して、ドライバを追加して焼き直す手順を記載します。
今回は、ISOからブートした際にNICが表示されないというエラーが発生したため、ドライバを追加して対処しました。

参考サイト：																		
[Windows インストールメディアにドライバーを追加する](https://www.vwnet.jp/windows/WS12R2/AddDriver/AddDriver2ISO.htm)

Microsoft サイト：

https://learn.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/add-and-remove-drivers-to-an-offline-windows-image?view=windows-11

# 作業環境情報
- サーバー・タイプ：Classic 仮想サーバー
- OS：Windows Server 2019 Standard Edition
- 追加ドライバ：Network Card: SuperMicro AOC-UR-I4XTF
    - 対象ドライバサイト：[Intel® Ethernet Adapter Complete Driver Pack
](https://www.intel.com/content/www/us/en/download/15084/intel-ethernet-adapter-complete-driver-pack.html)
- ISO：Windows2012R2 ISO
    - ISOサイト：[Microsoft ISO Download page](https://www.microsoft.com/ja-jp/evalcenter/download-windows-server-2012-r2)

# 事前準備(ADKのインストール)
>Windows アセスメント & デプロイメント キット (Windows ADK) と Windows PE アドオンには、Windows イメージを大規模な展開向けにカスタマイズしたり、システム、追加コンポーネント、システムで実行されるアプリケーションの品質やパフォーマンスをテストしたりするために必要なツールが含まれています。 Windows ADK には次のものが含まれています。

以下のリンクより、Windows ADK を取得し、インストーラーを実行します。
・[Microsoft: Windows ADK のダウンロードとインストール](https://learn.microsoft.com/ja-jp/windows-hardware/get-started/adk-install)

# 手順
1.　ISOの中身を確認します。ドライバーをインストールするターゲットは「インデックス: 2」の「Microsoft Windows Setup (x64)」です。
```																		
C:\Users\Administrator>dism /Get-ImageInfo /ImageFile:C:\Users\Administrator\Downloads\windows2012r2\sources\boot.wim																		
Deployment Image Servicing and Management tool									Version: 10.0.20348.681																																	
Details for image : C:\Users\Administrator\Downloads\windows2012r2\sources\boot.wim

Index : 1																		
Name : Microsoft Windows PE (x64)						
Description : Microsoft Windows PE (x64)
Size : 1,147,505,937 bytes
																		
Index : 2																		
Name : Microsoft Windows Setup (x64)
Description : Microsoft Windows Setup (x64)	
Size : 1,255,873,683 bytes

The operation completed successfully.
```	

2.　ISOをマウントし、作業するディレクトリを作成します。
```						
C:\Users\Administrator>mkdir offline	
```

3.　ターゲットのインデックス(Index:2)に対してISOをマウントします。
```
C:\Users\Administrator>Dism /Mount-Image /ImageFile:C:\Users\Administrator\Downloads\windows2012r2\sources\boot.wim /Index:2 /MountDir:C:\Users\Administrator\offline
																		
Deployment Image Servicing and Management tool																		
Version: 10.0.20348.681
																		
Mounting image
[==========================100.0%==========================]

The operation completed successfully.
```

4.　ドライバを追加します。
```
C:\Users\Administrator>Dism /Image:C:\Users\Administrator\offline /Add-Driver /Driver:C:\Users\Administrator\Downloads\Release_28.2.1\PRO1000\Winx64\NDIS64																			
Deployment Image Servicing and Management tool									Version: 10.0.20348.681																		
Image Version: 6.3.9600.17031													
Searching for driver packages to install...
Found 5 driver package(s) to install.

Installing 1 of 5 - C:\Users\Administrator\Downloads\Release_28.2.1\PRO1000\Winx64\NDIS64\e1c64x64.inf: The driver package was successfully installed.
Installing 2 of 5 - C:\Users\Administrator\Downloads\Release_28.2.1\PRO1000\Winx64\NDIS64\e1d64x64.inf: The driver package was successfully installed.
Installing 3 of 5 - C:\Users\Administrator\Downloads\Release_28.2.1\PRO1000\Winx64\NDIS64\e1r64x64.inf: The driver package was successfully installed.
Installing 4 of 5 - C:\Users\Administrator\Downloads\Release_28.2.1\PRO1000\Winx64\NDIS64\e1s64x64.inf: The driver package was successfully installed.
Installing 5 of 5 - C:\Users\Administrator\Downloads\Release_28.2.1\PRO1000\Winx64\NDIS64\v1q64x64.inf: The driver package was successfully installed.

The operation completed successfully.



C:\Users\Administrator>Dism /Image:C:\Users\Administrator\offline /Add-Driver /Driver:C:\Users\Administrator\Downloads\Release_28.2.1\PROXGB\Winx64\NDIS64

Deployment Image Servicing and Management tool
Version: 10.0.20348.681									
Image Version: 6.3.9600.17031

Searching for driver packages to install...

Found 7 driver package(s) to install.
Installing 1 of 7 - C:\Users\Administrator\Downloads\Release_28.2.1\PROXGB\Winx64\NDIS64\ixn64x64.inf: The driver package was successfully installed.	
Installing 2 of 7 - C:\Users\Administrator\Downloads\Release_28.2.1\PROXGB\Winx64\NDIS64\ixs64x64.inf: The driver package was successfully installed.
Installing 3 of 7 - C:\Users\Administrator\Downloads\Release_28.2.1\PROXGB\Winx64\NDIS64\ixt64x64.inf: The driver package was successfully installed.
Installing 4 of 7 - C:\Users\Administrator\Downloads\Release_28.2.1\PROXGB\Winx64\NDIS64\sxa64x64.inf: The driver package was successfully installed.
Installing 5 of 7 - C:\Users\Administrator\Downloads\Release_28.2.1\PROXGB\Winx64\NDIS64\sxb64x64.inf: The driver package was successfully installed.
Installing 6 of 7 - C:\Users\Administrator\Downloads\Release_28.2.1\PROXGB\Winx64\NDIS64\vxn64x64.inf: The driver package was successfully installed.
Installing 7 of 7 - C:\Users\Administrator\Downloads\Release_28.2.1\PROXGB\Winx64\NDIS64\vxs64x64.inf: The driver package was successfully installed.

The operation completed successfully.



C:\Users\Administrator>Dism /Image:C:\Users\Administrator\offline /Add-Driver /Driver:C:\Users\Administrator\Downloads\Release_28.2.1\PRO40GB\Winx64\NDIS64

Deployment Image Servicing and Management tool									Version: 10.0.20348.681															Image Version: 6.3.9600.17031																		
Searching for driver packages to install...

Found 2 driver package(s) to install.
Installing 1 of 2 - C:\Users\Administrator\Downloads\Release_28.2.1\PRO40GB\Winx64\NDIS64\i40ea64.inf: The driver package was successfully installed.
Installing 2 of 2 - C:\Users\Administrator\Downloads\Release_28.2.1\PRO40GB\Winx64\NDIS64\i40eb64.inf: The driver package was successfully installed.

The operation completed successfully.



C:\Users\Administrator>Dism /Image:C:\Users\Administrator\offline /Add-Driver /Driver:C:\Users\Administrator\Downloads\Release_28.2.1\PROAVF\Winx64\NDIS64

Deployment Image Servicing and Management tool
Version: 10.0.20348.681
Image Version: 6.3.9600.17031

Searching for driver packages to install...
Found 1 driver package(s) to install.
Installing 1 of 1 - C:\Users\Administrator\Downloads\Release_28.2.1\PROAVF\Winx64\NDIS64\iavf64.inf: The driver package was successfully installed.

The operation completed successfully.
```

5.　ドライバ・インストールが完了したらアンマウント&コミットします。
```
C:\Users\Administrator> Dism /Unmount-Image /MountDir:C:\Users\Administrator\offline /Commit

Deployment Image Servicing and Management tool
Version: 10.0.20348.681
Saving image
[==========================100.0%==========================]
Unmounting image
[==========================100.0%==========================]

The operation completed successfully.
```

6.　最後に新しいISOを作成します。
Legacyブートできるようにする場合はetfsboot.com、UEFIブートさせる場合はefisys.binを指定します。今回は両方指定し、元のISOの中のものを指定します。

```
C:\Users\Administrator>oscdimg -m -o -u2 -udfver102 -bootdata:2#p0,e,bC:\Users\Administrator\Downloads\windows2012r2\boot\etfsboot.com#pEF,e,bC:\Users\Administrator\Downloads\windows2012r2\efi\microsoft\boot\efisys.bin C:\Users\Administrator\Downloads\windows2012r2 C:\Users\Administrator\NewInstallMedia.iso

OSCDIMG 2.56 CD-ROM and DVD-ROM Premastering Utility
Copyright (C) Microsoft, 1993-2012. All rights reserved.
Licensed only for producing Microsoft authorized content.

Scanning source tree (3174 files in 1000 directories)
Scanning source tree complete (3315 files in 1039 directories)

Computing directory information complete

Image file is 5607325696 bytes (before optimization)	
Writing 3315 files in 1039 directories to C:\Users\Administrator\NewInstallMedia.iso

100% complete

Storage optimization saved 588 files, 106133504 bytes (2% of image)
After optimization, image file is 5511303168 bytes
Space saved because of embedding, sparseness or optimization = 106133504

Done.																		
```

以上の手順でドライバが作成されます。
ドライバが認識されない場合は、手順1-5が終わった後に追加で手順3にてIndex:1に対してISOをマウントし、同様の手順を行ってください。
1. Index: 2に対して手順1-5を実行
1. Index: 1に対して手順3-5を実行
1. 手順6を実行