« 1月3日に | トップページ | 風が見えたような in 小金井公園 »

2007年1月 4日 (木)

WinPE2.0 & DOS 2in1 ブータブルUSBメモリ

こちらの続きのようなもの。
DOS 起動と WinPE2.0起動の USBメモリ を使い分けは少々面倒。
という訳で、合体、2in1 ブータブルUSBメモリ 。

自分の blog であるにも関わらず行きつ戻りつするのが我ながら面倒くさいので全部入りメモ。
短縮したいので、Windows Automated Installation Kit (Windows AIK) は WAIK、USBメモリ は WAIK のマニュアルに倣って UFD (USB Flush Device) としばらく呼称。

調達 & 準備物

  1. Windows AIK
    ダウンロードセンターの (旧版) Windows 自動インストール キット (AIK)から
    • 必要システムとして「Windows XP SP2 (KB926044 適用済み) 」とあるのが気になるが、相変わらず何処にあるのか分からない……。
      [2007/01/29 追記]
      KB926044 が公開されていた。問い合わせてゲットする類のQFE
      http://support.microsoft.com/kb/926044
      これでようやくKB926044の正体が判明
  2. dd
    Windows 環境で作業を完結したいので、Windows版の dd を
    http://www.chrysocome.net/dd
    から最新の dd-0.4beta5.zip を入手。
  3. sysLinux
    http://syslinux.zytor.com/
    download から辿って新しめの物 syslinux-3.31.zip を入手
  4. 『DOS の sys コマンドが利用可能なブータブル FD/CD/UFD などの何か』
    もしくは以下のファイル三つ
    • IO.SYS
    • MSDOS.SYS
    • COMMAND.COM
    ここでの DOS は個人的に Windows98SE のモノを利用。
    生粋の PC-DOS 2000 と WinPE2.0 の組み合わせの選択肢も取りえたものの、sysLinux動作保障外のFAT32で使いたいので、素直に手持ちの Windows98 SE ベースのブータブルCDを利用。

以下、あると便利なので利用

  1. Windows Vista
    今ならまだ RC1 ぎりぎり入手可能かもしれない?
    とりあえず、まだRC1使いまわし
    【補足】プロンプトを使うときは『管理者として実行』が往々にして必要
  2. VirtualPC 等の仮想環境
    WinPE2.0 の仕上がり確認には isoイメージファイルでそのまま確認した方が早い。
    VirtualPC2007 は RC がリリース(2007/01/02)されていたので MicrosoftConnect からゲット
    2GB越えのWinPE2.0 iso というモノを作る訳でもないのでVirtualPC2004でも特に支障はないはず
    (700MB 程度メモリを割り当てられるとかなり快適、1.5GB まで増やして良かったと思える瞬間)

WinPE2.0 としてのブータブルUSBメモリ作成

まず、WAIK のインストールと WinPE2.0 のブータブルDVD を作成。
ブータブルCDにすると、やたら唸って五月蝿い事になりやすいのでブータブルDVDで作成するのがお勧め。

WAIK のインストール

  1. ダウンロードセンターからダウンロードしてきた *.img ファイルを DAEMON Tools でマウント (CDに焼くのは面倒なので)
  2. readme.rtf は事前によく読む
  3. 必要に応じてWAIK の CD にある HOTFIX\WINDOWSXP-KB914882-X86-JPN を適用 & 再起動
  4. WAIK をインストール
    WAIK の CD の Autorun に任せたり STARTCD.EXE を実行したりして、必要に応じて .NET framework2.0 と MSXML6.0 Purser を入れながらセットアップ
  5. ヘルプの
    [Windows AIK] → [Documentation] → [Windows PE ユーザーズ ガイド]
    から
    • 「Windows PE をカスタマイズする」
      → 「Windows PE イメージを構築する」と
    • Windows PE をカスタマイズする
      → Windows PE のチュートリアル
      → チュートリアル : 起動可能な Windows PE RAM ディスクを UFD に作成する
    に目を通して作業開始

作業場所は d:\winpe\x86 にしたいので、予め d:\winpe を作成しておく

  1. Windows PE Tools コマンド プロンプト 」を実行
  2. 必要ファイルをコピーする為に以下のように実行
    >copype x86 d:\winpe\x86
  3. コピーが完了したら
    >imagex /apply winpe.wim 1 mount
    のように基本的な作業環境を展開

    カレントディレクトリと作業ディレクトリが一致していなければパスはフルパス指定する
    >imagex /apply D:\winpe\x86\winpe.wim 1 D:\winpe\x86\mount
    のようにする(上を一行で)
    ここからカレントディレクトリが d:\winpe\x86 である事を前提にして相対パスでの場合のコマンド例
  4. パッケージの確認
    >peimg /list mount
    日本語版 Windows AIK では日本語環境がインストール済みなのが分かる

  5. パッケージの追加
    >peimg /install=WinPE-Scripting-Package mount
    な感じで順次追加

    英語版 Windows AIK で日本語言語パックと日本語WMIパッケージをインストールするには、各パッケージをインポートしてからインストール
    >peimg /import=q:\WINPE_LANGPACKS\X86\JA-JP\LP.CAB mount
    >peimg /import=q:\WINPE_LANGPACKS\X86\JA-JP\WINPE-WMI_JA-JP.CAB mount

    >peimg /install=Microsoft-Windows-WinPE-LanguagePack-Package mount
    >peimg /install=WinPE-WMI-Package mount
    WAIKの言語パックを利用する場合、 q: がWAIKのインストールCDの時は上のような感じで(それぞれ一行で)

  6. 必要なパッケージの追加が完了したら再確認
    >peimg /list mount
  7. パッケージ追加作業の確認が済んだら固める準備
    >peimg /prep mount
    を実行

  8. WinPE2.0環境を起動直後から101キーボード配列で利用する時には以下も実行
    >peimg /lang=ja-JP /layerdriver=1 mount
    106キーボード配列に戻したい時は /layerdriver=6 で再実行

    日本語IME (IME10)を利用したい時には Microsoft KB926181 を参照

  9. boot.wim 再作成
    >imagex /boot /capture mount ISO\sources\boot.wim "MyPE"
    上を一行で

  10. 確認用 isoイメージ の作成
    >oscdimg -n -betfsboot.com ISO MyPE.iso

    相対パスだと分かりにくさ倍増なので絶対パスでの記述も参考までに
    >oscdimg -n -bD:\winpe\x86\etfsboot.com D:\winpe\x86\ISO D:\winpe\x86\MyPE.iso
    上を一行で

  11. 動作確認
    VirtualPC でできあがった ISOイメージ をマウントして起動
    おかしな事になっていなければWinPE2.0のイメージが完成

    作成した ISOイメージ は DVD(もしくはCD) に焼いておく

  12. UFD こと USBメモリ を準備
    Vista上、もしくは WinPE2.0 環境(DVD/CDなどからブートしたWinPE2.0)で 以下のように。 ( XP で diskpart を実行してもUSBリムーバブル系は選択できないので)
    >diskpart
    DISKPART>list disk
    DISKPART>select disk 1
    DISKPART>clean
    DISKPART>create partition primary
    DISKPART>list partition
    DISKPART>select partition 1
    DISKPART>active
    DISKPART>format fs=fat32 label=flash
    DISKPART>assign
    DISKPART>exit
    基本は上のパターン
    disk 番号の確認と partition の確認はその都度しておいた方が無難

  13. 作成している WinPE2.0 イメージである ISO 配下のファイルとフォルダを全て UFD にコピーする
    ここまでの手順の流れなら d:\winpe\x86\ISO の下にあるファイルとフォルダ

  14. USB Flash Device からのブート順位を適切に設定した PC で WinPE2.0 が起動可能か確認する
    ※1 ここが実は微妙

  15. WinPE2.0 として起動可能な事を確認したらブートセクタを採取
    dd-0.4beta5.zip を解凍して dd.exe をパスの通った場所に置いておいて、UFD が F: の時以下のように
    >dd if=\\.\f: of=nt60.bss bs=512 count=1
    拡張子は必ず .bssにして、ファイル名は任意
    ここではWinPE2.0時のブートセクタのファイルを nt60.bss

DOS としてのブータブルUSBメモリ作成

  1. 予め USBメモリを取り付けた状態で
    『DOS の sys コマンドが利用可能なブータブル FD/CD/UFD などの何か』
    で起動して以下
    >sys c:
    いつもの事ながら DRVSPACE.BIN は削除しておくのが吉

    もしくは
    1. 以下の3つのファイルを UFD にコピー
      • IO.SYS
      • MSDOS.SYS
      • COMMAND.COM
    2. WAIK のインストール先にある sys.exe 、標準でインストールしていれば次のもの
      C:\Program Files\Windows AIK\Tools\PETools\sys.exe
      を使える場所に用意
    3. WinPE2.0 (Vista)上で UFD が F: の場合以下のように
      >sys f:
  2. USB Flash Device からのブート順位を適切に設定した PC で DOS が起動可能か確認する
    ※2 ここも実は微妙

  3. DOS として起動可能な事を確認したらブートセクタを採取
    WinPE2.0 の時のブートセクタを採取した時と同様に、UFD が F: の時には以下のように
    >dd if=\\.\f: of=dos.bss bs=512 count=1
    拡張子は必ず .bss にして、ファイル名は任意
    ここではDOS時のブートセクタのファイルを dos.bss

sysLinux を設定する

  1. ダウンロードしておいた syslinux-3.31.zip を解凍して、現れた win32\syslinux.exe を作業場所にコピー

  2. 設定ファイルを一つ作成
    syslinux.cfg

    ブートのプロンプトで、dos [Enter] で DOS、pe [Enter] で WinPE2.0 となり、12秒放置で dos が自動的に起動する一例。

  3. 採取しておいた二つのブートセクタファイル dos.bssnt60.bss 、および設定ファイル syslinux.cfg を UFD にコピー

  4. コマンドプロンプトで作業場所をカレントにして、 UFD が F: の場合以下のように
    >syslinux f:
  5. USB Flash Device からのブート順位を適切に設定した PC で syslinux による起動が可能か確認する
    ※3 ここはかなり微妙

    期待通りの起動をしないようならコマンドプロンプトで作業場所をカレントにして、 UFD が F: の場合以下も試してみる
    >syslinux -ma f:

以上で、運が良ければ 『WinPE2.0 & DOS 2in1 ブータブルUSBメモリ 』が利用可能なPCでは利用可能に。

補足三点

※1
DOS のブータブルUSBメモリが利用可能であっても、WinPE2.0 のブータブルUSBメモリではブートできない場合もある
DOSの時よりもBIOS依存で条件が厳しいようなので、ココで上手くいかないPCならブータブルDVDの利用を考えた方が良さそう
BIOSによってはUSBメモリの容量如何でリムーバブルデバイスとして扱うかHDDとして扱うかを見ているものもあったりで試してみないと分からないケースがしばしば
※2
USBメモリが C: として起動してこない状態 (A; ないしは B: で起動)では、おそらく WinPE2.0 でも起動できなかったはず
DOS のブータブルUSBメモリを普通の作成手順で作成した時に、C: として起動できる PC で作り直すと吉
※3
FAT16 で一から作りなおせば成功するかもしれない……

自宅で、1GB と 512MB の USBメモリ と3台 のPCで組み合わせ2x3の6通りを確認したところ 3勝3敗。
そもそも WinPE2.0 のブータブルUSBメモリからブートできないケースが。


現時点(2007年1月4日 20:00:17) での感想

最新とはいえないPCだったのが要因とは言え、一言で言って、敗北。
ブータブルUSBメモリが 2in1 で手軽に便利に使える予定はあえなく散る……。

そもそも、下手な方法を取っている気がしてならないのは置いておいて、試した中では DOS>sysLinux(GParted)>>>WinPE2.0 のような難易度の感触。
BIOS次第な昔のCDブートやUSBブートがそうであったようにそのうち解消すんのかね?

3in1 その他

負けっぱなしは悔しい(?)ので、使えるPCで使えれば良いという割り切りついでに、GParted の LiveUSB 版も同居

  1. GPartedLiveUSB から latest 版をダウンロードして解凍
    今回は gparted-liveusb-0.3.1-1.zip
  2. 展開して現れたファイルのうち
    • gparted
    • initrd.gz
    • linux
    を UFD にコピー
  3. gparted のアーカイブに含まれる syslinux.cfg を参考に以下のように編集
    syslinux.cfg
  4. boot.msg を表示するようにしたので boot.msg を以下のように作成
  5. 期待通りの動作が確認できれば完成

さらに BartPE も、、、等と凝りはじめると際限なくなるのでこの程度に留めておくのが精神衛生上良い気がする。

【追記:2007/11/28】

 

|

« 1月3日に | トップページ | 風が見えたような in 小金井公園 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/60348/13333499

この記事へのトラックバック一覧です: WinPE2.0 & DOS 2in1 ブータブルUSBメモリ:

« 1月3日に | トップページ | 風が見えたような in 小金井公園 »