PowerShellでWindows PE環境を活用し自動インストールUSBを作成する方法

PowerShellを利用したWindows PE環境の活用は、システム管理やデプロイメントを効率化するための強力な方法です。本記事では、Windows PE(Windows Preinstallation Environment)を作成し、自動インストールUSBを構築する手順を解説します。特に、PowerShellを用いたスクリプトでの自動化を中心に、必要なツールの準備からトラブルシューティングまで、初心者にも分かりやすく説明します。この方法を習得することで、システムのセットアップやトラブル解決が迅速に行えるようになります。

日程Fit。無料・登録不要。「いつ空いてる?」を、ひとつのリンクで。リンクを送って、○△×でかんたん日程調整。無料で日程を作る。
目次

Windows PE環境とは何か

Windows PE(Windows Preinstallation Environment)は、Windowsオペレーティングシステムをインストールしたり、修復したりするための軽量な環境です。主に、以下のような用途で使用されます。

Windows PEの特徴

  • 軽量な構成:Windows PEは最小限の構成で動作し、必要最小限のシステムリソースで実行できます。
  • 高いカスタマイズ性:必要なドライバーやツールを追加して、自分の用途に合った環境を作成できます。
  • システムの修復と展開:インストールメディアとしてだけでなく、ディスクの修復やバックアップのためにも利用可能です。

Windows PEの主な用途

  1. Windowsのインストール
    Windows OSのクリーンインストールやアップグレードを効率的に行うことができます。
  2. システム修復
    不具合が発生したシステムの修復やデータの復旧に活用できます。
  3. デプロイメント作業
    カスタマイズされたイメージを複数のデバイスに展開する際に便利です。
  4. 自動化プロセスの実現
    スクリプトや設定ファイルを用いて、インストールや設定作業を完全に自動化できます。

Windows PEはシステム管理者やエンジニアにとって欠かせないツールであり、柔軟かつ強力な作業環境を提供します。

自動インストールUSBのメリット

自動インストールUSBは、OSのインストール作業を効率化し、一貫性のあるセットアップを実現するための強力なツールです。特に、複数のデバイスに同じ設定でOSを展開する際に有用です。

主なメリット

1. 時間の節約

自動インストールUSBを使用することで、手動でOSの設定やインストールを行う時間を大幅に短縮できます。設定ファイル(Unattend.xmlなど)を事前に作成しておくことで、インストールプロセスが完全に自動化されます。

2. 一貫性の確保

自動インストールUSBを使用すると、すべてのデバイスに対して同じ設定と構成を適用できます。これにより、人為的ミスを防ぎ、環境間の違いを最小限に抑えることができます。

3. 大量展開の効率化

複数のデバイスに同じOSイメージを展開する場合、自動インストールUSBを利用することで、同時に複数のデバイスに作業を進めることが可能です。特に企業や教育機関で役立ちます。

4. カスタマイズ可能な構成

PowerShellスクリプトを活用して、必要なドライバーやソフトウェアを事前にインストールしたり、特定のネットワーク設定を適用したりすることができます。

5. トラブルシューティングの容易化

自動インストールUSBには修復ツールやバックアップツールを組み込むことができるため、トラブルシューティングにも役立ちます。

使用シーンの例

  • 新しいPCのセットアップ:オフィスや教育機関で複数のPCをセットアップする場合。
  • 災害復旧:システムクラッシュ後の迅速な再インストールと設定復元。
  • プロトタイピング:開発環境の一括セットアップ。

自動インストールUSBを活用することで、効率的かつスムーズなシステム管理が可能になります。

必要なツールと環境の準備

PowerShellを使用してWindows PE環境を構築し、自動インストールUSBを作成するには、いくつかのツールと適切な環境の準備が必要です。以下では、それぞれの準備手順を詳細に説明します。

必要なツール

1. Windows ADK(Windows Assessment and Deployment Kit)

Windows PE環境を構築するために必要なツールセットです。以下の手順でインストールしてください。

  • Microsoft公式サイトからWindows ADKをダウンロードします。
  • インストール時に、「Deployment Tools」と「Windows Preinstallation Environment (Windows PE)」を選択します。

2. PowerShell

スクリプトを実行するためのWindows標準のコマンドラインツールです。Windowsにプリインストールされていますが、最新バージョンが必要な場合は、PowerShell公式サイトから更新します。

3. Unattend.xml エディター

自動インストールの設定ファイルを作成するために使用します。Windows SIM(System Image Manager)が最適です。Windows ADKとともにインストールされます。

4. USBメモリ

  • 容量:最低8GB(推奨:16GB以上)
  • FAT32またはNTFSでフォーマットする必要があります。

環境の準備

1. 必要なファイルとディレクトリの作成

Windows ADKを使用して、以下のようなディレクトリ構造を作成します。

C:\WinPE_Environment\
  ├─ Media\
  ├─ Mount\
  ├─ Scripts\

2. 管理者権限の確認

すべての操作は管理者権限のPowerShellコンソールで行う必要があります。
PowerShellを「管理者として実行」してください。

3. USBのフォーマット

USBメモリを適切なファイルシステム(FAT32またはNTFS)でフォーマットします。PowerShellで以下のコマンドを実行します。

Get-Disk | Out-GridView -PassThru | Initialize-Disk -PartitionStyle MBR
New-Partition -DiskNumber 1 -UseMaximumSize -IsActive -AssignDriveLetter
Format-Volume -FileSystem FAT32 -NewFileSystemLabel "WinPE"

次のステップ

環境が整ったら、Windows PE環境の具体的な構築手順を進めていきます。PowerShellスクリプトを活用し、自動化を実現するプロセスに進みましょう。

Windows PE環境の作成方法

Windows PE環境を作成するには、Windows ADKのツールを使用し、必要なファイルを準備します。以下では、PowerShellを活用した具体的な手順を説明します。

1. Windows PE環境の作成

Step 1: Windows PEの初期化

Windows ADKをインストールした後、以下のコマンドを実行してWindows PEの作業ディレクトリを作成します。

copype.cmd amd64 C:\WinPE_Environment
  • amd64は64ビット環境用を意味します。32ビット環境の場合はx86に変更してください。
  • C:\WinPE_Environmentは作業ディレクトリのパスです。

Step 2: 必要なファイルのコピー

Windows PEのブートファイルを作業ディレクトリにコピーします。

Copy-Item "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\*" "C:\WinPE_Environment\Media" -Recurse

2. カスタマイズ

Step 1: PowerShellスクリプトを追加

作業ディレクトリ内のMediaフォルダにScriptsフォルダを作成し、必要なPowerShellスクリプトを配置します。
例: 自動インストール用のスクリプト

Write-Output "Starting automated installation..." > C:\WinPE_Environment\Media\Scripts\Install.ps1

Step 2: 必要なドライバーやツールの追加

デバイスに必要なドライバーやユーティリティをC:\WinPE_Environment\Media\Driversにコピーします。

Copy-Item "C:\Drivers\*" "C:\WinPE_Environment\Media\Drivers" -Recurse

3. Windows PEイメージのマウントと変更

Windows PEイメージをマウントしてカスタマイズします。

Dism /Mount-Wim /WimFile:C:\WinPE_Environment\Media\sources\boot.wim /Index:1 /MountDir:C:\WinPE_Environment\Mount
  • boot.wimはWindows PE環境のイメージファイルです。

必要な設定変更を行った後、変更を保存します。

Dism /Unmount-Wim /MountDir:C:\WinPE_Environment\Mount /Commit

4. Windows PEイメージのUSBメモリへの展開

最後に、Windows PE環境をUSBメモリに展開します。

MakeWinPEMedia /UFD C:\WinPE_Environment\Media E:
  • E:はUSBメモリのドライブレターです。

Windows PE環境の確認

USBメモリをPCに接続し、BIOS/UEFIでブート順序を設定してWindows PE環境が正しく起動するか確認してください。

この手順により、Windows PE環境が正常に作成され、次のステップで自動インストールの設定に進む準備が整います。

スクリプトでの設定自動化

PowerShellスクリプトを活用することで、Windows PE環境での設定やタスクを効率的に自動化できます。以下では、自動インストールやカスタムタスクを実行するためのスクリプトの作成と実装手順を解説します。

1. スクリプトの作成

Windows PE環境における自動化の基本となるスクリプトを作成します。

基本スクリプト例: 初期メッセージ表示

以下のスクリプトは、Windows PE起動時にメッセージを表示する例です。
ファイル名: Install.ps1

# 初期メッセージ
Write-Host "Welcome to Windows PE Automated Installer"
Write-Host "Starting setup process..."

自動インストールスクリプト例

以下のスクリプトは、Windowsイメージの展開とドライバーインストールを行う例です。
ファイル名: AutomatedInstall.ps1

# パーティションの作成とフォーマット
Write-Host "Creating and formatting partition..."
Get-Disk 0 | New-Partition -UseMaximumSize -AssignDriveLetter | Format-Volume -FileSystem NTFS -NewFileSystemLabel "OS_Drive"

# Windowsイメージの展開
Write-Host "Deploying Windows image..."
dism /Apply-Image /ImageFile:D:\Sources\install.wim /Index:1 /ApplyDir:C:\

# ドライバーインストール
Write-Host "Installing drivers..."
dism /Add-Driver /Image:C:\ /Driver:D:\Drivers /Recurse

# 再起動メッセージ
Write-Host "Installation complete. Rebooting..."
Restart-Computer

2. スクリプトの配置

作成したスクリプトをWindows PE環境のMedia\Scriptsフォルダに配置します。
例:

C:\WinPE_Environment\Media\Scripts\Install.ps1
C:\WinPE_Environment\Media\Scripts\AutomatedInstall.ps1

3. スクリプトの自動実行設定

Windows PE環境起動時にスクリプトを自動的に実行するよう設定します。
Windows PE起動設定ファイル(startnet.cmd)を編集します。

ファイルパス: C:\WinPE_Environment\Media\Windows\System32\startnet.cmd
内容:

@echo off
wpeinit
powershell -ExecutionPolicy Bypass -File "X:\Scripts\Install.ps1"

4. テストとデバッグ

作成したスクリプトが正しく動作するか確認します。

  1. Windows PE環境をUSBメモリに展開します。
  2. USBメモリからPCを起動し、スクリプトが正しく実行されるか確認します。
  3. 必要に応じてスクリプトを修正します。

応用: スクリプトによる追加タスク

  • ネットワーク設定: IPアドレスやネットワークドライブの設定を追加できます。
  • ソフトウェアのインストール: 必要なアプリケーションを事前にインストール可能です。
  • ログの保存: 実行結果をログファイルに保存して、後で確認できるようにします。
    例:
Start-Transcript -Path "X:\Logs\InstallLog.txt"
# スクリプト内容
Stop-Transcript

まとめ

PowerShellスクリプトを活用することで、Windows PE環境でのタスクを効率的に自動化できます。この自動化により、システム管理やデプロイ作業を大幅に効率化することが可能です。次は、自動インストール設定ファイルの作成に進みます。

自動インストール用設定ファイルの作成

自動インストールUSBを作成する際、Windowsのインストールを完全自動化するためには、Unattend.xmlという応答ファイルを作成する必要があります。このファイルにインストール時の設定を記述することで、手動入力を不要にします。

1. Unattend.xmlとは

Unattend.xmlは、Windowsのインストールプロセスを自動化する応答ファイルです。インストール時の設定(言語、ライセンス、パーティション、アカウント情報など)を事前に定義することで、インタラクションを最小化します。

2. 必要なツール

Unattend.xmlを作成するには、以下のツールが必要です。

  • Windows SIM (System Image Manager): Windows ADKに含まれるツールで、Unattend.xmlを視覚的に作成できます。

3. Unattend.xmlの作成手順

Step 1: Windows SIMを起動

  1. Windows SIMを起動し、インストールするWindowsイメージ(install.wim)を読み込みます。
  • install.wimのパス:
    通常、WindowsインストールメディアのSourcesフォルダにあります。
  • [ファイル] → [Windowsイメージの選択]から指定してください。

Step 2: 応答ファイルの生成

  1. メニューから[新しい応答ファイル]を選択します。
  2. Windowsイメージに基づいたツリーが表示されるので、インストール時に自動化したい設定を追加します。
  • 例:
    • Windows PE: 起動時の初期設定(例: パーティション設定)。
    • Specialize: コンピュータ名やネットワーク設定。
    • OOBE: ユーザー初回セットアップの省略。

Step 3: 必須設定の入力

以下は一般的に必要な設定例です。

  • パーティション設定:
    インストール先ドライブのフォーマットとパーティションの設定。
  <DiskConfiguration>
    <Disk wcm:action="add">
      <CreatePartitions>
        <CreatePartition wcm:action="add">
          <Order>1</Order>
          <Type>Primary</Type>
          <Size>100000</Size>
        </CreatePartition>
      </CreatePartitions>
      <DiskID>0</DiskID>
      <WillWipeDisk>true</WillWipeDisk>
    </Disk>
  </DiskConfiguration>
  • OOBEのスキップ:
    初回セットアップ画面をスキップします。
  <OOBE>
    <HideEULAPage>true</HideEULAPage>
    <NetworkLocation>Work</NetworkLocation>
    <ProtectYourPC>3</ProtectYourPC>
  </OOBE>
  • プロダクトキー:
    ライセンス認証用のキーを設定します。
  <UserData>
    <ProductKey>
      <Key>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</Key>
      <WillShowUI>OnError</WillShowUI>
    </ProductKey>
    <AcceptEula>true</AcceptEula>
  </UserData>

Step 4: ファイルの保存

作成したUnattend.xmlC:\WinPE_Environment\Media\Unattendに保存します。

4. 設定ファイルのUSBへの配置

作成したUnattend.xmlをWindows PEメディアのルートディレクトリに配置します。以下のようにコピーしてください。

Copy-Item "C:\WinPE_Environment\Media\Unattend\Unattend.xml" "E:\Unattend.xml"
  • E:はUSBメモリのドライブレターです。

5. 動作確認

USBメモリを用いてPCを起動し、インストールプロセスが自動的に進行することを確認します。

まとめ

Unattend.xmlはWindowsインストールの全工程を自動化する鍵となる重要な設定ファイルです。正確に作成することで、効率的なインストール作業が可能になります。次のステップでは、USBメモリの作成手順を詳細に説明します。

自動インストールUSBの作成手順

Windows PE環境を構築し、自動インストールUSBを作成するには、これまで準備した設定やファイルを組み合わせ、USBメモリに展開します。このステップでは、USBメモリのフォーマットからファイルの展開、起動確認までを解説します。

1. USBメモリのフォーマット

自動インストールUSBを作成する前に、USBメモリを適切にフォーマットします。

PowerShellでのフォーマット手順

以下のコマンドを管理者権限のPowerShellで実行します。

# USBドライブの一覧を表示
Get-Disk | Out-GridView -PassThru | Initialize-Disk -PartitionStyle MBR

# 新しいパーティションを作成
New-Partition -DiskNumber 1 -UseMaximumSize -IsActive -AssignDriveLetter | Format-Volume -FileSystem FAT32 -NewFileSystemLabel "WinPE"
  • 必要に応じてDiskNumberを確認し、適切な番号を指定してください。

2. Windows PEファイルの展開

USBメモリにWindows PE環境を展開します。

Windows PEの展開コマンド

以下のコマンドでWindows PEイメージをUSBメモリにコピーします。

MakeWinPEMedia /UFD C:\WinPE_Environment\Media E:
  • C:\WinPE_Environment\Mediaは作成したWindows PEファイルのディレクトリ。
  • E:はUSBメモリのドライブレターです。

3. 自動インストールファイルの配置

Unattend.xmlやスクリプトをUSBメモリにコピーします。

スクリプトと設定ファイルのコピー

以下のコマンドを実行してファイルを配置します。

# スクリプトのコピー
Copy-Item "C:\WinPE_Environment\Media\Scripts\*.ps1" "E:\Scripts" -Recurse

# Unattend.xmlのコピー
Copy-Item "C:\WinPE_Environment\Media\Unattend\Unattend.xml" "E:\Unattend.xml"

4. USBメモリの起動設定確認

BIOSまたはUEFIでUSBメモリを起動デバイスとして設定します。

  1. PCを再起動し、BIOS/UEFI設定に入ります(通常、DELキーやF2キーでアクセス可能)。
  2. ブート順序を設定し、USBメモリを優先デバイスにします。

5. 起動と動作確認

  1. USBメモリをPCに接続し、起動します。
  2. Windows PE環境が起動し、自動インストールスクリプトとUnattend.xmlが適切に機能しているか確認します。
  3. 正常に動作していない場合は、エラーログを確認します。

6. 応用: カスタムツールの追加

必要に応じて、以下のようなツールをUSBメモリに追加できます。

  • ドライバー: Driversフォルダを作成し、ドライバーファイルを配置。
  • ソフトウェア: 任意のインストーラーを追加し、スクリプトでインストールを実行。

まとめ

これで、自動インストールUSBの作成が完了しました。作成したUSBを使用すれば、インストール作業を完全に自動化し、効率的なシステムセットアップが可能になります。次は、トラブルシューティングや応用例について解説します。

トラブルシューティングと応用例

自動インストールUSBを作成して使用する際、予期せぬ問題が発生する場合があります。このセクションでは、よくあるトラブルの解決方法と、応用的な使い方について解説します。

1. トラブルシューティング

1.1 USBメモリがブートしない

原因: BIOS/UEFI設定やUSBメモリのフォーマット形式に問題がある可能性があります。
解決方法:

  • BIOS/UEFIでUSBメモリを優先的な起動デバイスに設定してください。
  • USBメモリがFAT32でフォーマットされているか確認してください。UEFI環境ではFAT32が推奨されます。
  • 必要に応じて、USBメモリを再フォーマットしてWindows PEを再展開します。

1.2 スクリプトが実行されない

原因: スクリプトのパスが正しく設定されていない、またはPowerShellの実行ポリシーに問題がある可能性があります。
解決方法:

  • startnet.cmdで指定したスクリプトのパスを確認してください。
  • PowerShellの実行ポリシーを緩和します。
  powershell -ExecutionPolicy Bypass -File "X:\Scripts\Install.ps1"
  • スクリプト内のエラーハンドリングを追加してデバッグ情報を記録します。
  Start-Transcript -Path "X:\Logs\DebugLog.txt"

1.3 Unattend.xmlが正しく機能しない

原因: Unattend.xmlの構文エラーや設定ミスが原因の可能性があります。
解決方法:

  • Windows SIMでUnattend.xmlを再度検証し、エラーがないことを確認します。
  • setupact.logsetuperr.logファイルを確認し、エラーの詳細を特定します。

2. 応用例

2.1 カスタムドライバーの展開

特定のハードウェアで動作させるために、必要なドライバーを自動でインストールできます。

dism /Add-Driver /Image:C:\ /Driver:X:\Drivers /Recurse

2.2 ネットワーク設定の自動化

Windows PE環境でネットワーク接続を自動設定し、リモート共有フォルダから追加のインストーラーを取得することも可能です。

net use Z: \\server\share /user:username password
Copy-Item "Z:\Software\Installer.exe" "X:\Tools\Installer.exe"

2.3 データ復旧ツールの統合

Windows PE環境にデータ復旧ツールを組み込むことで、トラブル時にデータをバックアップしたり復旧したりできます。

  • 例: Robocopyで重要なファイルを外部ストレージにコピー。
  Robocopy C:\ImportantFiles D:\Backup /E

3. ベストプラクティス

  • ロギングの徹底: スクリプトやUnattend.xmlの実行結果をログファイルに記録し、問題発生時に詳細を確認できるようにします。
  • テスト環境での検証: 本番環境で使用する前に、仮想マシンなどのテスト環境で動作確認を行います。
  • バックアップの作成: 設定ファイルやスクリプトをバックアップし、問題が発生した際に迅速に復元できるようにします。

まとめ

トラブルシューティングを通じて問題を解決し、応用的な活用を行うことで、自動インストールUSBをさらに強力なツールに進化させることが可能です。これにより、柔軟性のある効率的なシステム管理が実現します。次のステップでは、記事全体のまとめに進みます。

まとめ

本記事では、PowerShellを活用してWindows PE環境を構築し、自動インストールUSBを作成する方法を解説しました。Windows PEの基本的な役割や、自動インストールのメリット、必要なツールの準備からスクリプトを用いた設定の自動化、Unattend.xmlの作成、USBの展開手順、さらにトラブルシューティングや応用例までを詳細に説明しました。

自動インストールUSBを活用することで、OSインストール作業を効率化し、安定したセットアップを短時間で実現できます。この記事を参考に、柔軟かつ実用的なデプロイ環境を構築してみてください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次