個人で使っているパソコンのWindows OSの再インストールは普段実施しないかもしれませんが、仕事などでOSを複数のサーバなどにインストールしたりします。
イメージファイルは、インストールファイル容量が4.7GB超えてしまい、DVDに書き込めないですので、USBキーからインストールできる方法も紹介します。
この時にISOイメージを持っていくのですが、これが半年ほど古いものでしたら、WindowsUpdateが最新ではなく、無駄に時間がかかってしまいます。
ネットワーク環境で通信が早い環境ですとよいのですが、場合によってはネットワーク速度が遅く時間がかかってしまいます。
そこで、WindowsUpdate済みのインストールイメージ(パッチ適用したカスタマイズイメージなど)を作成しすれば、WindowsUpdateにかかわる時間が少なくて済みますし、効率的になるのではないかと思います。
事前準備
事前準備は以下のコンポーネント・ファイルを用意します。
- Windows ADK (最新版をインストール)
- Windowsイメージファイル(ISOファイル)
- 最新パッチのダウンロード
- 作業用パソコン(Windows 10)
- USBディスク
コンポーネント追加(KB適用、機能追加)
wimファイルの操作には DISM コマンドを利用します。コマンドを利用し、コンポーネントの追加・削除など行っていきます。
まずは、Wimファイルの中身を見える形にマウントしていきましょう。
今回Windows Server 2019 のカスタムは、Datacenter Edition としていますので、”Index:4″ としています。
Dism /Mount-Image /ImageFile:”D:\Work\OS\sources\install.wim” /Index:4 /MountDir:”D:\Work\Customized_Image” |
マウントができましたら、展開先フォルダにファイルが見えます。この展開先のOSインストール用ファイルにカスタマイズしていきます。
インストールするコンポーネントによってオプションが行るので注意が必要です。KB追加は Add-Package オプション、ドライバー追加は Add-Driver オプションを利用します。
コマンド:
Dism /Image:<Wim展開先> /Add-Package /PackagePath:<ファイルのパス>
Dism /Image:<Wim展開先> /Add-Driver /Driver:<ファイルのパス/フォルダのパス>
Dism /Image:”D:\Work\Customized_Image” /Add-Package /PackagePath:”D:\Work\KB\windows10.0-kb4486153-x64_8da922572d9adb038b41fb65b458b36a491ecc62.msu” |
ついでにチップセットドライバーも入れておきます。サーバや自作PCなどOS標準では入っていないドライバーも予め組み込むことでOS起動時に自動認識させます。
コマンド:
Dism /Image:<Wim展開先> /Add-Driver /Driver:<ドライバーファイルのパス>
下記コマンド例はインテルのドライバー(予めダウンロード済み)を適用した場合。
Dism /Image:”D:\Work\Customized_Image” /Add-Driver /Driver:D:\Work\Driver\Intel-Chipset-W2K16-x64 |
次にサーバOSの場合ですが、何かしらコンポーネントが有効にすることが多いです。例えば、サーバ監視するためSNMPサービスの有効する場合が多いです。
対象のコンポーネントを有効にするには、コンポーネント名を予め確認します。今回は Windows Server Backup を有効にしてみましょう。
コマンド:
DISM.exe /Image:<Wim展開先> /Enable-Feature /FeatureName:<役割・機能名>
例は、Windows Server Backup が有効化済みのカスタムOSとなります。
DISM.exe /Image:”D:\Work\Customized_Image” /Enable-Feature /FeatureName:WindowsServerBackup |
必要なカスタマイズが完了しましたら、イメージファイルを保存することが必要です。
Unmout-WIM と Commit オプションを利用して、イメージ保存およびアンマウントしていきます。
Dism /Unmount-WIM /MountDir:<Wim展開先> /Commit /CheckIntegrity |
(参考)
以下のコマンドはイメージの適用のみ行います。マウントはそのまま継続しています。
Dism /Commit-Image /MountDir:”D:\Work\Customized_Image” |
USBブータブルディスク作成
USBブータブルディスクの作成方法はすごく簡単です。OS標準のコマンド(Diskpart)で可能です。
まずはPowershell でDiskpart と実行し、”DISKPART>”と表示されることを確認します。この状態からコマンドを実行し、USBキーを初期化していきましょう。
手順としては、
“list disk” でUSBキーを確認します。”Select disk” で処理ディスクへ遷移。この手順を間違えてしまうと、対象のドライブが初期化してしまいます。
“clean” で初期化します。初期化後、パーティション作成しフォーマットしていきます。ファイルシステムはNTFSでよいと思います。
“Active” で有効化しますと、OSで認識できるディスクとなります。
DISKPART> list disk DISKPART> select disk 4 DISKPART> clean DISKPART> create partition primary DISKPART> select partition 1 DISKPART> format fs=ntfs quick DISKPART> active DISKPART>exit | Diskpart
USBキーが用意できましたら、カスタマイズしたファイルをコピーしていきます。
GドライブがUSBキーとして認識しましたので、以下のコマンドを実行しています。
Copy-Item D:\Work\OS\* G:\ -Recurse
ここまでは、単なるファイルの作成ですが、ブートできるよう以下のコマンドを実行します。
USBキーへ保存した bootsect.exe を使ってブート仕様に変更していきます。
G:\boot\bootsect.exe /nt60 G: /Force |
これでUSBブータブル可能です。
ISOファイル作成
ISOファイル作成は Windows ADK 付属のoscdimg.exe を利用します。
このコマンドを利用して作成する ISOファイルは既定でCDFSとなります。 CDFS はDVDメディア(4.5 GB)までのメディアサイズとなります。
4.5 GB以上の ISOファイルを作成した場合、実際にDVD(-R)メディアなどに書き込むと、一部ファイルが破損したり、欠損したりします。
対策として UDF ファイルシステム利用オプションを必ず指定しましょう。
コマンドラインとしては、長いかもしれませんが、必要項目は以下の4つのみです。
bEtfsboot.comのパス
bEfisys.binのパス
カスタムイメージのファイル
ISOファイル名
オプションは、UDFファイルシステム利用を明示するため、”-u2″と”-udfver102″が必須です。
“-m”でファイルサイズの制限を外し、”-o”でMD5でのチェックサムします。
“-bootdata” には2つ記述します。1つは「BIOSシステムでのブート」、もう1つは「UEFIシステムでのブート」です。
ちなみに”e”は「フロッピーディスクエミュレーション無効」という意味です。
階層化してみますと以下になります。
実行ファイル | オプション1 | オプション2 |
---|---|---|
Oscdimg.exe | ||
-m | ||
-o | ||
-u2 | ||
-udfver102 | ||
-bootdata:2 | #p0,e,b<bEtfsboot.comのパス> | |
#pEF,e,b<bEfisys.binのパス> | ||
<カスタムイメージのファイル> | ||
<ISOファイル名> |
オプション、ISOイメージファイル名を指定し、下記コマンドを実行しますとISOファイルが作成されます。
※コマンドは改行せず1行で実行してください。
Oscdimg -m -o -u2 -udfver102 -bootdata:2 #p0,e,bD:\Work\OS\boot\etfsboot.com #pEF,e,bD:\Work\OS\efi\microsoft\boot\efisys.bin D:\Work\OS D:\Work\ISO\WinServer2019.ISO |
以上となります。