「Windows PE」の版間の差分
(en:Windows PEへの転送ページ) |
Kusanaginoturugi (トーク | 投稿記録) (校正(でき・出来)) |
||
(2人の利用者による、間の6版が非表示) | |||
1行目: | 1行目: | ||
+ | [[Category:システム管理]] |
||
− | #redirect[[en:Windows PE]] |
||
+ | [[en:Windows PE]] |
||
+ | [https://technet.microsoft.com/en-us/library/cc766093(v=ws.10).aspx Windows PE] は Windows Vista 以降の Windows のインストールや、システムメンテナンスなどに使うための Windows の軽量版です。完全にメモリ上で動作し、ネットワークから起動することができます。このページでは Arch Linux マシンのフリーソフトウェアパッケージと Microsoft の Windows Automated Installation Kit (WAIK) だけを使って Windows PE イメージをカスタマイズして作成する方法や、ネットワーク上に公開する方法を説明します。WAIK は無償でダウンロードすることができ、Windows PE の初期コピーやブートファイルが含まれた {{ic|boot.wim}} ファイルを展開するのに必要です。 |
||
+ | |||
+ | {{Warning|物理コンピュータ上で Windows PE を起動した場合、Microsoft のクローズドソースコードにコンピュータの制御を任せることになります。自己責任で使って下さい。さらに、Windows Automated Installation Kit をダウンロードすると、ライセンスに縛られることになり、Windows PE を多目的のオペレーティングシステムとして使うことはできません。}} |
||
+ | |||
+ | == ユースケース == |
||
+ | |||
+ | 通常、Windows PE のイメージは Windows マシンの Windows Automated Installation Kit (WAIK) を使わないと作成できません。しかしながら、(Arch) Linux マシンを使って Windows PE のイメージを作成・修正して、ネットワーク上に公開して PXE ブートすることも可能です。Windows マシンは必要ありません。以下のような場合に Windows PE が有用です: |
||
+ | |||
+ | * Arch Linux ベースのサーバーを使って、ネットワークから Windows をインストールしたり、ネットワークから Windows PE を起動してシステムの管理をする必要がある場合。Windows ベースのサーバーがなかったり、セキュリティと可搬性を取ってできるだけ Linux サーバーを使いたい、あるいは他の目的で既に Linux サーバーをセットアップしている (わざわざ Windows サーバーなんて立てたくない) などの理由が考えられます。 |
||
+ | * Win32 プログラムを実行する Windows 環境が必要な場合。利用可能な Windows マシンが存在せず、[[Wine]] を使いたくはない、あるいはプログラムが [[Wine]] では上手く動作しないなど。 |
||
+ | |||
+ | == ブータブル Windows PE ISO の作成 == |
||
+ | |||
+ | [http://www.microsoft.com/en-us/download/details.aspx?id=5753 Microsoft のウェブサイト] から Windows Automated Installation Kit (WAIK) をダウンロードしてください。 |
||
+ | {{Warning|{{ic|KB3AIK_EN.iso}} のダウンロード容量は 1.7GB です。}} |
||
+ | {{Tip| |
||
+ | * [http://httpfs.sourceforge.net/ httpfs] を使うことでファイル全部をダウンロードする必要がなくなります。実際に必要なのは 118MB ほどだけです。 |
||
+ | * Windows 7 以降のバージョンのインストールメディアを持っている場合、WAIK の代わりにその ISO ファイルや光学ディスクを使うことができます。{{ic|mkwinpeimg}} は WAIK のイメージと Windows のインストールメディアの両方を扱うことができます。Windows のインストールメディアのバージョンによって含まれている Windows PE のバージョンも異なるので注意してください。Windows のバージョンと Windows PE のバージョンの関連性については、[https://en.wikipedia.org/wiki/Windows_Preinstallation_Environment#Versions Wikipedia] を参照してください。 |
||
+ | * Windows 8 から WAIK は WADK に名前が変更されており {{ic|adksetup.exe}} によって配布されるようになっています。Windows PE 4.0 以降のバージョンを入手するには、Windows 8 以降のバージョンのインストールメディアを使う必要があります。MSDN 会員ならインストールメディアの ISO ファイルが入手できます。他の場所から ISO をダウンロードして MSDN で公開されているハッシュ値でハッシュを比較することも可能です。 |
||
+ | }} |
||
+ | |||
+ | [[公式リポジトリ]]から {{Pkg|fuse}}{{Broken package link|置換パッケージ: {{Pkg|fuse2}}}}, {{Pkg|cdrkit}}{{Broken package link|置換パッケージ: {{Pkg|cdrtools}}}}, {{Pkg|cabextract}} を[[pacman|インストール]]してください。 |
||
+ | |||
+ | [[AUR]] から {{Pkg|wimlib}} をインストールしてください。 |
||
+ | |||
+ | WAIK ISO のマウント: |
||
+ | |||
+ | # mkdir /media/waik |
||
+ | # mount KB3AIK_EN.iso /media/waik |
||
+ | |||
+ | {{Pkg|wimlib}} に含まれている {{ic|mkwinpeimg}} スクリプトを使ってブータブル Windows PE ISO {{ic|winpe.iso}} を作成: |
||
+ | |||
+ | $ mkwinpeimg --iso --waik-dir=/media/waik winpe.iso |
||
+ | |||
+ | 詳しくは {{ic|man mkwinpeimg}} を参照してください。 |
||
+ | |||
+ | WAIK ISO のアンマウント: |
||
+ | |||
+ | # umount /media/waik |
||
+ | |||
+ | == Windows PE の起動 == |
||
+ | |||
+ | 前記のセクションで書かれているように Windows PE のブータブル ISO ({{ic|winpe.iso}}) を作成したら、以下の方法で Windows PE を起動できます: |
||
+ | |||
+ | === 仮想マシン === |
||
+ | |||
+ | {{ic|winpe.iso}} を CD-ROM と設定して仮想マシンを起動してください。Windows PE はメモリ上で動作するため、十分なメモリを割り当てて下さい。少なくとも ISO の容量以上のメモリが必要になります。利用可能な仮想化ソフトウェアのリストは[[:カテゴリ:仮想化]]を参照。 |
||
+ | |||
+ | === CD === |
||
+ | |||
+ | {{ic|winpe.iso}} を CD に[[光学ディスクドライブ#焼き込み|書き込めば]]、CD から起動できます。 |
||
+ | |||
+ | === ネットワーク === |
||
+ | |||
+ | Windows PE は [http://www.syslinux.org/wiki/index.php/PXELINUX PXELINUX] と [http://www.syslinux.org/wiki/index.php/MEMDISK MEMDISK] モジュールを使ってネットワークから起動することができます。 |
||
+ | |||
+ | {{pkg|syslinux}} と {{pkg|tftp-hpa}} をインストールしてください。 |
||
+ | |||
+ | [[TFTP]] サーバーのルートディレクトリに必要な PXELINUX ファイルをコピー: |
||
+ | |||
+ | # cp /usr/lib/syslinux/{pxelinux.0,menu.c32,memdisk} /var/tftpboot |
||
+ | |||
+ | [[TFTP]] サーバーのルートディレクトリに {{ic|winpe.iso}} を配置: |
||
+ | |||
+ | # mv winpe.iso /var/tftpboot |
||
+ | |||
+ | 以下のように PXELINUX の[[Syslinux#設定|設定ファイル]]を作成: |
||
+ | |||
+ | {{hc|/var/tftpboot/pxelinux.cfg/default|<nowiki> |
||
+ | UI menu.c32 |
||
+ | MENU TITLE Network Boot |
||
+ | TIMEOUT 50 |
||
+ | |||
+ | LABEL winpe |
||
+ | MENU LABEL Boot Windows PE from network |
||
+ | KERNEL /memdisk |
||
+ | INITRD winpe.iso |
||
+ | APPEND iso raw |
||
+ | |||
+ | LABEL localboot |
||
+ | MENU LABEL Boot from local disk |
||
+ | LOCALBOOT 0 |
||
+ | </nowiki>}} |
||
+ | |||
+ | [[TFTP]] サーバーを起動してください。 |
||
+ | |||
+ | ([[Dhcpd]] や [[Dnsmasq]] など) DHCP サーバーを設定して Linux サーバーの IP アドレスから {{ic|pxelinux.0}} をブートファイルとして指定します。DHCP サーバーがルーター上にある場合、カスタムファームウェアをインストールしないと指定できない可能性があるので注意してください。 |
||
+ | |||
+ | 上記の手順が完了したら、ネットワークから Windows PE を起動することができるはずです。 |
||
+ | |||
+ | {{Note|上の PXELINUX 設定ファイルでは、Windows PE はデフォルトで5秒後に起動します。}} |
||
+ | |||
+ | === ネットワークブートのパフォーマンス === |
||
+ | |||
+ | TFTP は (118MB 以上はある) {{ic|winpe.iso}} のような巨大なファイルを転送するようには設計されていません。{{ic|pxelinux.0}} ではなく {{ic|gpxelinux.0}} ブートローダーを使って TFTP ではなく HTTP を使って {{ic|winpe.iso}} をロードすることでパフォーマンスを改善できます。 |
||
+ | |||
+ | == Windows PE のカスタマイズ == |
||
+ | |||
+ | {{Pkg|wimlib}} に含まれている {{ic|mkwinpeimg}} スクリプトでは {{ic|--start-script}} や {{ic|--overlay}} オプションを使うことで Windows PE の改造ができます。詳しくは {{ic|mkwinpeimg}} のマニュアルページを見て下さい。 |
||
+ | |||
+ | Windows PE をカスタマイズすることで、Windows PE の中で実行したい Windows アプリケーションを追加したり、Windows PE が必要とするドライバーを追加することができます (ドライバーは Windows PE の中で {{ic|drvload}} コマンドを使うことでロードできます)。 |
||
+ | |||
+ | ==参照== |
||
+ | |||
+ | * [https://technet.microsoft.com/en-us/library/cc766093(v=ws.10).aspx Microsoft's documentation for Windows PE] |
||
+ | * [https://www.thinkwiki.org/wiki/Windows_PE Another article about making Windows PE images on Linux] |
2024年7月10日 (水) 21:03時点における最新版
Windows PE は Windows Vista 以降の Windows のインストールや、システムメンテナンスなどに使うための Windows の軽量版です。完全にメモリ上で動作し、ネットワークから起動することができます。このページでは Arch Linux マシンのフリーソフトウェアパッケージと Microsoft の Windows Automated Installation Kit (WAIK) だけを使って Windows PE イメージをカスタマイズして作成する方法や、ネットワーク上に公開する方法を説明します。WAIK は無償でダウンロードすることができ、Windows PE の初期コピーやブートファイルが含まれた boot.wim
ファイルを展開するのに必要です。
目次
ユースケース
通常、Windows PE のイメージは Windows マシンの Windows Automated Installation Kit (WAIK) を使わないと作成できません。しかしながら、(Arch) Linux マシンを使って Windows PE のイメージを作成・修正して、ネットワーク上に公開して PXE ブートすることも可能です。Windows マシンは必要ありません。以下のような場合に Windows PE が有用です:
- Arch Linux ベースのサーバーを使って、ネットワークから Windows をインストールしたり、ネットワークから Windows PE を起動してシステムの管理をする必要がある場合。Windows ベースのサーバーがなかったり、セキュリティと可搬性を取ってできるだけ Linux サーバーを使いたい、あるいは他の目的で既に Linux サーバーをセットアップしている (わざわざ Windows サーバーなんて立てたくない) などの理由が考えられます。
- Win32 プログラムを実行する Windows 環境が必要な場合。利用可能な Windows マシンが存在せず、Wine を使いたくはない、あるいはプログラムが Wine では上手く動作しないなど。
ブータブル Windows PE ISO の作成
Microsoft のウェブサイト から Windows Automated Installation Kit (WAIK) をダウンロードしてください。
公式リポジトリから fuse[リンク切れ: 置換パッケージ: fuse2], cdrkit[リンク切れ: 置換パッケージ: cdrtools], cabextract をインストールしてください。
WAIK ISO のマウント:
# mkdir /media/waik # mount KB3AIK_EN.iso /media/waik
wimlib に含まれている mkwinpeimg
スクリプトを使ってブータブル Windows PE ISO winpe.iso
を作成:
$ mkwinpeimg --iso --waik-dir=/media/waik winpe.iso
詳しくは man mkwinpeimg
を参照してください。
WAIK ISO のアンマウント:
# umount /media/waik
Windows PE の起動
前記のセクションで書かれているように Windows PE のブータブル ISO (winpe.iso
) を作成したら、以下の方法で Windows PE を起動できます:
仮想マシン
winpe.iso
を CD-ROM と設定して仮想マシンを起動してください。Windows PE はメモリ上で動作するため、十分なメモリを割り当てて下さい。少なくとも ISO の容量以上のメモリが必要になります。利用可能な仮想化ソフトウェアのリストはカテゴリ:仮想化を参照。
CD
winpe.iso
を CD に書き込めば、CD から起動できます。
ネットワーク
Windows PE は PXELINUX と MEMDISK モジュールを使ってネットワークから起動することができます。
syslinux と tftp-hpa をインストールしてください。
TFTP サーバーのルートディレクトリに必要な PXELINUX ファイルをコピー:
# cp /usr/lib/syslinux/{pxelinux.0,menu.c32,memdisk} /var/tftpboot
TFTP サーバーのルートディレクトリに winpe.iso
を配置:
# mv winpe.iso /var/tftpboot
以下のように PXELINUX の設定ファイルを作成:
/var/tftpboot/pxelinux.cfg/default
UI menu.c32 MENU TITLE Network Boot TIMEOUT 50 LABEL winpe MENU LABEL Boot Windows PE from network KERNEL /memdisk INITRD winpe.iso APPEND iso raw LABEL localboot MENU LABEL Boot from local disk LOCALBOOT 0
TFTP サーバーを起動してください。
(Dhcpd や Dnsmasq など) DHCP サーバーを設定して Linux サーバーの IP アドレスから pxelinux.0
をブートファイルとして指定します。DHCP サーバーがルーター上にある場合、カスタムファームウェアをインストールしないと指定できない可能性があるので注意してください。
上記の手順が完了したら、ネットワークから Windows PE を起動することができるはずです。
ネットワークブートのパフォーマンス
TFTP は (118MB 以上はある) winpe.iso
のような巨大なファイルを転送するようには設計されていません。pxelinux.0
ではなく gpxelinux.0
ブートローダーを使って TFTP ではなく HTTP を使って winpe.iso
をロードすることでパフォーマンスを改善できます。
Windows PE のカスタマイズ
wimlib に含まれている mkwinpeimg
スクリプトでは --start-script
や --overlay
オプションを使うことで Windows PE の改造ができます。詳しくは mkwinpeimg
のマニュアルページを見て下さい。
Windows PE をカスタマイズすることで、Windows PE の中で実行したい Windows アプリケーションを追加したり、Windows PE が必要とするドライバーを追加することができます (ドライバーは Windows PE の中で drvload
コマンドを使うことでロードできます)。