土曜日, 3月 29, 2008

WindowsServer2008で作るVistaPE(資料編)

VistaのDVDなしでVistaPEを作成する。
下記に必要なものをまとめる。原則的にネットで拾えるフリーなものばかりである。


  • Windows自動インストールキット(AIK)
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=c7d4bc6d-15f3-4284-9123-679830d629f2

以下、WAIKと略称。WindowsServer2008(以下Server2008)の補完ソースとして、またImageX及びWindowsPE(以下WinPE)のために必須。

  • WindowsServer2008(エンタープライズエディション、日本語版)
http://www.microsoft.com/japan/windowsserver2008/default.mspx

ソースとして使用。プロダクトKey入手にはTechNetかMSDNの登録が必要。ビルドのためだけに使用するのなら、ダウンロードするだけでインストールは不要。

  • WinBuilder
http://www.vistape.net/index.html

スクリプトで半レディメイドなVistaPEを構築するためのソフト。必要なもののダウンロードとスクリプト構成は全部これがやってくれる。GUIで設定をいじるだけで手軽ではある。

  • VirtualPC2007
http://www.microsoft.com/japan/windows/products/winfamily/virtualpc/default.mspx

ビルドしたイメージのテスト環境に使用。これがなくても作れるわけだが、いちいちCDに焼いて、再起動して駄目だったらまたXPに戻って・・・は非常に効率が悪い。それにブートローダー設定でこけることは往々にしてある。真っ黒な画面で進まなくなったらまたそれも面倒だ。
ぼくは仮想環境にインストールしたServer2008でビルドして、イメージを外(リアルマシンのデスクトップ)に放り出してテストしている。

必要なものはこのくらいだ。あとは、好みに応じてAcronis True Imageなどをインストールしてもいいかもしれない。だが、まずはWinBuilderのプレーンな設定で作ってみるほうがいいだろう。

いままでにPEBuilderを使ったことのある人なら、いきなり作り始めてもかまわない。
だが、ここでは初めてこういう作業をする人を対象にしているので、XPとVistaで大きく変わったブートローダーの概念、及びブータブルCDの基本から入っていく。
そのためには多少なりとも以下の紹介する記事や、ホワイトペーパーに目を通しておいて欲しい。
  • WAIK、WinPE/RE関連記事
管理者必携! 最強のデータ・サルベージ・ツールを自作する
http://www.atmarkit.co.jp/fwin2k/operation/winpe2/winpe2_01.html
WAIKの概念及びインストール、WinPEの作成と利用法。この記事だけでとりあえずプロンプトベースのOSは作れるし、ImageXコマンドの基本操作が習得できる。

なみだの奮戦記byモルモットパソコン
http://www.tekipaki.jp/~morumotto/hunsenki.htm
ぼくはこのページにかなりお世話になっている。4/16の記事は必見。何かにつまずいたとき、このページには解決のヒントがあるのだ。感謝。
WinPE/REのカスタマイズのために考え出されたコマンドや設定ファイルの組み方など実践的な内容。まずはここの真似をしてみると結構わかってくる。

Windows Vista のデバッグhttp://www.microsoft.com/japan/whdc/driver/tips/debug_vista.mspx


ブート構成データ エディタについてよく寄せられる質問
http://www.microsoft.com/japan/technet/windowsvista/library/85cd5efe-c349-427c-b035-c2719d4af778.mspx

ImageX と WIM イメージ形式
https://www.microsoft.com/japan/technet/windowsvista/expert/ximage.mspx

ステップ バイ ステップ ガイド - Windows 展開サービス役割
http://www.microsoft.com/japan/technet/windowsserver/2008/library/7d837d88-6d8e-420c-b68f-a5b4baeb5248.mspx?mfr=true

これらの資料はXPとは大きく変わったVistaのブートローダーについてと、そこで使われるbcdedit.exeの解説、及びWinPE作成に欠かせないImageXとそのコマンドの解説が載っている。ブックマークし、必要なときに目を通せるようにしておくといい。

マルチブータブルCD/DVD製作法
http://lets-go.hp.infoseek.co.jp/bootcd/index.html
ブータブルCD/DVDの概念、及びブートローダーの仕組みについてはここで学べる。

現時点での資料はこのくらい。とはいえ、全部しっかり読んでるとかなりの時間がかかるのも事実。ぼくだって拾い読みしかしていない。
次回からいよいよWinBuilderを使って実践に入る。

月曜日, 3月 24, 2008

私信

わたべさん、
以下、現状で考えられる対応策とその根拠らしきものを列記します。
で、その前にWindowsVistaの起動の仕組みだけはおさらいです。

  • Vistaインストール手順
(出来るだけ単純に書きます)
  1. 起動イメージが動く(MBR)
  2. Windowsプレインストール環境(WinPE)が起動する
  3. 応答ファイルでパスワードなどの権限確認が行われる
  4. 起動選択画面でユーザーの意思によりインストールが行われる
詳しくは下記参考に
http://www5a.biglobe.ne.jp/~imo/vista.html
「Vistaのブートプロセス」

そこでWinPEを使えば、現時点で再現できない1./2.が再現できると考えたわけです。(実際、これは間違っていないはずです)
問題は3.です。この応答ファイルが、Sotec独自のものであると考えます。
これはスクリプトファイルです。WindowsAIK内にある、「Windows システム イメージ マネージャ (Windows SIM)」で作成します。

4.に関しては、WinREが一部機能を持っています。ただし、3.に連携して独自のREをSotecが作っていると思われます。REの本体(実行ファイル)はRecEnv.exeです。

  • 対応策と根拠
  1. パス通ってよ作戦
  2. UbuntuでWクリック
  3. WinRE(シェル同梱)を使う
  4. HDRECの再構築
1.WinPEのコマンド上で「ドライブ文字:source¥RecEnv.exe」をタイプします。
これで「回復オプション」が表示されれば、そこにSotecのリカバリ項目が存在する、と予測しています。
なお、ここでのドライブ文字はHDRECの領域をWinPEが認識した場合の文字になります。

2.これは以前に失敗した方法ですが、「どんな実行ファイルをWクリックしたのか」で結果が変わる可能性が捨て切れていません。
ぜひsourceフォルダのRecEnv.exeをクリックしてみてください。

3.現在作成中のWinRE/PE(シェル同梱)を使い、そこから「管理者権限」で1.と2.を行ってみる手法です。下記にスクリーンショットを貼っておきましょう。


  • 現在の最新版。通常のWindowsと同じ感覚で操作する。メニューは英語だが日本語入力対応。
このWinRE/PEはイメージファイル名が「VistaPE4.iso」でサイズは約370MBです。
コンパクトなのでUSB起動が可能なマシンならUSBメモリから起動できるでしょう。
これをファイルストレージ経由で入手していただき、ここから問題のソーテック独自の回復オプションを探し出して「管理者権限で」起動することが出来るような気がします。

・・・これらのビルド作業はかなり試行錯誤が必要です。
マシン環境的にはお互い似たような感じだと思いますので、とりあえずこっちで作っちゃったやつを利用されたらどうでしょうか?(そのほうがぼくも対応がしやすいので)

4.HDRECを再構築する手法ですが、今考えているのは「Grub4DOS」などのVista互換MBRを用いて、HDRECをソースとしたリカバリディスクを作る、という方法です。
「たっぴ」で「そのまんま東作戦」が出てましたけど、XPとVistaはMBRが決定的に違うので、なんらかのVista互換MBRが必要となります。また、最初のほうで書いた応答ファイルも必要な気がします。
そこで、ソースとなるHDRECのファイル群を提供していただければ、WAIKを使ってインストールディスクの再構築が可能ではないかと考えています。この根拠は下記URLを参考に。
http://www.microsoft.com/japan/technet/windowsvista/library/88f80cb7-d44f-47f7-a10d-e23dd53bc3fa.mspx
(WindowsVista展開のステップガイド)
ちなみにこいつは長期戦です^^

土曜日, 3月 22, 2008

寄り道...

どうも芳しくない。
いったんWinREはシェルを入れてカスタマイズビルドできた。
だが選んだシェル(commander)は貧弱で使い勝手が悪い。
自分の性格上、起動後のGUIは派手にしたいのだ。
最低限エクスプローラ機能がほしい。
それと、分岐の少ないランチャー機能。
目標は「初心者がトラブルを自力で克服」出来るツール。
出来れば、一画面で簡単なTIPSがあるランチャーを起動したい。
(結局.NETででも自作せねばならないのだろうか?)
そこでもう一度情報収集、今まで見てきたブログから
見落としがないか、もう一度見て回った。
あった。
「WinPEバージン・・・」
スクリーンショットはVistaのようでVistaでない。
WinPEというWAIKとはまた違う存在があるようだ。
http://www.vistape.net/index.html
ここに、いままで散々探してたA43ファイルマネージャやIMEが入っているみたいだ。
早速ダウンロード。展開。
Winビルダーというツールで必要なスクリプトや設定をすべてGUIで行える仕組みだ。
しかし。。。
GUIというのはある意味厄介だ。
3枚くらいのカーテンの向こうに
好きな女性の存在を感じるようなものだ。
どっちにどう転んでくれるのか見当が付かない。

2回ビルド作業を行い、失敗。
原因もよくつかめないまま。
・・・とやっているうちに、また別の興味対象が。
バーチャルボックスのプラグイン。
前から存在は知っていたものの、
VmWereの使い勝手の悪さやDllのいやらしさに辟易していたので手を出していなかった。
今回はもう何でも入れてやれの気分。
インストールして起動すると、最初から日本語で操作できる。
ウィザードもバーチャルPCと似ていて迷わずに進める感じだ。
OSのタイプでLinuxカーネルに対応している。
これは勿怪の幸い、バーチャルPCでマウスキャプチャが出来なかった、Knoppixを早速入れて動かしてみる。
少し設定で戸惑ったものの、リアル状態とほぼ変わらない感じで動いてくれる。
これは便利だ。あとは共有フォルダ設定とかどうなってるんだろう。
LinuxとWindowsの壁をこいつが乗り越えてくれれば、
かなりのことが出来そうな気がしてきた。

・・・という感じで、バーチャルボックスに気を取られ、
肝心のWinPEビルドは放置してしまった。
ま、そこから学ぶこともあるよ、いいだろ。

金曜日, 3月 21, 2008

WinREを作って遊ぶ日々

WindowsREというのを聞いたことがあるだろうか。
先日来ひょんなきっかけからぼくはこのOSに魅せられ、のめりこんだ。
またそのことで、新たなすばらしい人物の存在も知った。
幾多もの想いと生活が交錯する中で、疲弊した精神は沈殿化した。
そこに光を投げかけたのは、ちっこいプログラムの寄せ集め。
そんなWinREに付き合っていこう、と思った。

  • WinREとは何者なのか
正確にはWindows Recovery Environment: Windows 回復環境という。
いつもながら勿体ぶったマイクロソフトの例にもれず、
こいつもおいそれとDLして使えるわけではない。
WAIKという開発者向けキットをインストールし、
そこから構築する必要がある。
http://itpro.nikkeibp.co.jp/article/Windows/20050906/220662/
要するにメーカーの担当者がプリインストール環境を作れるよ、というものらしい。
一般にはあえてレディメイド提供はやらんでいい、という発想は理解できる。

が、メーカーの方針(内部事情か?)で
HDDリカバリ領域はそのまま外部に持ち出せない場合がある。
具体的には、HDDリカバリプログラムをブータブルDVDとして作成できない。

XPまではその方法でも救済は可能だった。
起動ディスクさえ入手すれば、FD(あるいはFDエミュレートCD)で
回復コンソールを使い、コマンドで復旧作業が出来たからだ。
だが、Vistaはそうは行かない。
コンポーネント化したVistaでは、二つのOSが動いている。
従来のようにBIOS⇒POST⇒ブートローダという単純な図式ではない。

HDDリカバリプログラムは、Vista回復オプションから呼び出されて機能する。
もしメーカーからHDDリカバリプログラムのDVDキットが提供されない場合は、
Vistaの領域を上書きしてしまうだけで、リカバリプログラムが呼び出されなくなる。
某ソーテックのプリインストールがそういうやり方だ。
ユーザーはたとえLinuxなどでHDDリカバリ領域を覗けたとしても、
見えるだけで手が出せない。

ソーテック側の答えは、メーカー持込修理ということらしい。
ライセンスの問題があるのかもしれないが、
簡単に救済ツールを配布はしない方針のようだ。

なら、金のないわれわれ草の根ユーザーは泣きを見るだけか?
持込の送料、手間隙、修理代、個人情報管理、
もろもろのデメリットを考えたら、
新しいVistaパッケージを購入してメーカーと別れを告げよ、ということか?
マイクロソフトが儲かるだけぢゃないか!!!

・・・ということで、インディにしこしこ逆襲をかけることに決めた。
幸いWAIKは誰でもフリーで入手できる。
しかしVistaの「回復オプション」はこれだけでは構築できない。
VistaのインストールDVDが必要となる。

だが、ここも盲点があったのだ。
現時点ではWindowsServer2008が無償で配布されている。
こいつがVistaの変形したクローンなのだ。
コンポーネント化したことで、Server2008のソースをVista用に転用できる。

と、言う流れでWinREを独自に構築する。
材料はすべてタダ。
しかもそれでXP系旧OSのレスキューにも活用できるミニWindowsを作る、
というのが本稿の目的だ。

次回からはより具体的なデータとソースの入手先、手段について。