以下省略!

タイダルウ(ry 毎日1記事執筆運動実施中。

Ubuntu上でWindows PEなISOを作ってみる

f:id:abyssluke:20150902174118p:plain:w240:left何気に調べていたらWindowsの軽量版(最低限環境)、Windows PE(WinPE)のことを思い出した。WinPEは主にWindowsのインストールやリカバリーディスクなどに使われていたりする。
Windows版アップデータのみ用意されているBIOSのアップデートにも使えるかも?
ここではWindows 7用のWindows自動インストールキット(WAIK)を利用してWinPEのISOファイルをUbuntu上で作成してみる。続きを読むから。

WAIKをダウンロードする

WAIKにはWinPEの環境が用意されているので、これを利用する。
Download Windows® 7 用の Windows® 自動インストール キット (AIK) from Official Microsoft Download Center
上記サイトからKB3AIK_JA.ISOをダウンロードする。
参考までに、ファイルのハッシュ値も記載しておく*1

CRC32: 26e67195
MD5: 4253e4cbdb883082a3815e113dbbb7d1
SHA1: 4450361ece937bd6ad7cee439228ce4d1525ebbb
RIPEMD160: f40e61792f72f8e29f1828663d21f39719806611
SHA256: 85f083e45691220ffac167ee79fc465324cd54fdfb4043ee1df652517b4fcd8c
SHA512: 1b5494ed2fee024455b33f93ca7dc960249dcfa01c8cab0df1477b6c0d986a577e872873231c044ac4c2f2ed8a232d91b9b60232cd8e2cc892bc5d428b641ffd

wimtoolsを導入する

WinPEのISO作成に必要なツールをインストールする。

~$ sudo add-apt-repository ppa:nilarimogard/webupd8
~$ sudo apt-get update
~$ sudo apt-get install wimtools

ちなみにwimとはWindows Imaging Formatというもので、Windowsのインストール等に必要なデータが入ったディスクイメージのこと。

ISOを作成する

ダウンロードしたWAIKのISOイメージをマウントし、mkwinpeimgでWinPEのISOファイルを作成する。

~$ cd; mkdir waik
~$ sudo mount KB3AIK_JA.ISO $HOME/waik
~$ mkwinpeimg --iso --waik-dir=$HOME/waik winpe.iso
~$ sudo umount $HOME/waik

winpe.isoができあがる。
もし必要なファイルを追加したい場合はmkwinpeimgのオプションに「--overlay=(ファイルが入っているディレクトリ)」を追加すればよい。
(試していないが恐らく)指定したディレクトリの中身がWinPE上でのX:\に展開されるはず。

ちなみにWinPEの作成はWindows 7/8のインストールDVD-ROMからでも可能。この場合は--waik-dirを--windows-dirとし、DVD-ROMがマウントされているディレクトリを指定する。

テスト起動

焼く前に動くかどうか確かめる場合はQEMUVirtualBoxで動かしてみる。以下の例はQEMUの場合。

~$ qemu-system-i386 -m 768 -enable-kvm -cdrom winpe.iso

メモリ(-m)は適当。-enable-kvmを入れておくと起動が早くなるかも。
記事最初の画像のようにコマンドプロンプトが出てきてwpeinitが終われば起動完了となる。

あとは適当なツールでCD-RやUSBメモリに書き込むだけ。

*1:WAIKのISOをマウントしてしまうとなぜかISOファイルをいじってしまうようでハッシュ値が変わるので注意

実験中:よい子は次のアドレスにメールを絶対に送らないでください。場合によっては晒しあげされますよ。 ivyrush+htnb.20170313@rita-ch.com viande@rita-ch.com