No. | 参加者のひろば | |
|
[104606] Vista用リカバリツールをWindowsServerで作る(覚書) |
|
|
先日来、質問者さんのトラブル(Vistaをうっかり消してしまった)でWAIK(Windows自動インストール・キット)
を使ったリカバリができないかと検討してきましたが、手順やコマンドなど、不可欠な資料をまとめておきたい。
(あのスレッドがかなり冗長になってきたので)
で、手順はこちらを見ていただく形で進めようと思いますので、管理人さんには許可をいただきたいです。
今現在(2008/03/20)見えてきているのは、Vistaのインストール(プリインストール含む)で
トラブルに見舞われたときの起動回復/データサルベージにかなり有望なツールになる、ということ。
(やっていくうちに多分XPにも使えそうだと思えてきました。これはそのうち・・・)
まず、しっかりした紹介記事(これを読まなければ理解が出来ないかも)
http://www.atmarkit.co.jp/fwin2k/operation/winpe2 /winpe2_03.html
「管理者必携! 最強のデータ・サルベージ・ツールを自作する」
WinPE自体は無料で誰でも手に入るものです。しかしDOSベース(よく読めばメモ帳でGUIできる)。
まずここが出発点です。
次に、PEを基盤としたWinREを作成します。これがGUIベースで回復オプションとして使えるはず。
※ただしWinREを作るにはVistaインストールディスクが必要です。
そこで、今期間限定で手に入る「VistaもどきのGUI-OS」WindowsServer2008で作ってみよう、というチャレンジです。
では、WinREって何かを下記で。
http://www.microsoft.com/japan/technet/windowsserver/2008 /library/7d837d88-6d8e-420c-b68f-a5b4baeb5248.mspx ?mfr=true
「ステップ バイ ステップ ガイド - Windows 展開サービス役割」
・・・ほとんど読んでませんが、困ったときの拾い読み用。
次に、ImageXとWimファイルについて。
https://www.microsoft.com/japan/technet/windowsvista/expert /ximage.mspx
これがXPと大きく違うところです。CUIなのでとっつきにくいですが、無料で手に入るのはありがたい。
それと、WindowsServer2008について、および、入手先
http://www.microsoft.com/japan/windowsserver2008 /default.mspx
期間限定なのでお早めに。
あんど、イメージのテスト用にバーチャルPC2007
http://www.microsoft.com/japan/windows/products/winfamily /virtualpc /default.mspx
ちなみにPEでの作業もすべてこれで行っています。
ということで、基本資料でした。
PE自体の作成や利用法は先にあげた@ITの記事に詳しいので割愛。
次回はServer2008のインストールDVDを使用してのWinREの作成です。
(まだ作業中なのでちょっと待ってね)
アルヴェマス (199) 2008年3月20日03:25
|
|
|
|
[104607] |
WinREのイメージファイルが出来ました。
詳しい手順は下記の4月16日の日記を参照。(パスが変わるくらいでほぼこのままです。)
http://www.tekipaki.jp/~morumotto/hunsenki.htm
現在こちらのページにすごくお世話になってます。(よければHOMEも覗いてください。充実しまくりです)
で、WindowsServerのインストールDVDでも、問題なくWinREは作成できました。
後は実際起動できるかのテスト。
それから、一応ここまでの手順のおさらい。
1)はじめにWinPEは必ず作っておく。練習になるし、これはこれでシンプルなサルベージツールになる。(しかも強力。)
作り方は@ITの記事ほぼそのままで問題ない。ポイントは、一つのコマンド動作が完了したら、
エクスプローラで出来てるか確認することくらい。
WinPEの作成自体はWAIKをインストールしていれば出来ます。
注:ImageXはXP環境で動くのか未検証です。ぼくはWindowsServer環境で作成しましたので。
2)WinPEが出来たら、一度バーチャルPCで起動させてみることをお勧めします。
USBが使えないのが難点ですが、PEはRAMディスクとして常駐するので、いったん起動後、
何らかのCD(出来ればXPやVistaのインストールディスク)を入れてバーチャルPCで認識させてみてください。
その後PEで"notepad.exe"とコマンドします。すると、インストールディスク内が見えることがわかります。
※もちろん既存のバーチャルマシンがあれば、そこにイメージキャプチャでPEを認識させ、
リセットさせてPEで起動すれば、そのバーチャルPC内のファイルも見えます。(しかもそこにCDを挿入できます)
3)WinREの作成手順もPEとよく似ています。
A)REのフォルダ作成(copypeコマンド)
B)WindowsServerディスクからのboot.wimファイル抽出(magex /exportコマンド)
C)winpeshl.iniを作成(これはデスクトップ上で、メモ帳で作成)
D)winre.wimをmountフォルダにマウント(imagex /mountrwコマンド。これでエクスプローラから
winre.wimのフォルダやファイルが見れるしファイル操作が出来る。)
E)マウントした中のsystem32フォルダにwinpeshl.iniを移動(copyコマンドでも、エクスプローラでも、どっちでも。)
F)変更を保存してアンマウントする(imagex /unmount /commitコマンド。E)の更新反映のための操作。)
G)F)で更新したwinre.wimをsourcesフォルダのboot.iniに反映させる
"copy c:\winre\winre.wim c:\winre\iso\sources\boot.wim"(こういうことです。)
H)isoファイルを作成(oscdimg -n -bコマンド)
4)バーチャルマシンで作業した場合は、出来上がったISOファイルをメイン(リアル)マシンのデスクトップへドロップアンドドラッグしておく。
・・・CUI操作なので、入力ミスに注意。ただ、GUIよりISO書き出しとかはすごく速い(ファイルサイズが小さいこともあるが)
では、いよいよバーチャルPCで起動試験してきます。
アルヴェマス (199) 2008年3月20日04:49
|
|
|
|
[104609] |
バーチャルPCでの起動試験成功です。
スクリーンショットを4枚アップしています。
http://crep.ne.jp/album.cr ?owner=dd2b2800-4743-102b-9b51-00114331ed99 &albumid=4014
さて、次は「起動情報がぐちゃぐちゃになった」あるいは「領域削除してしまったかも」状態を作り出して
どこまで修復できるか確認してみようか、と思ってます(笑)。でももう今日は眠い。おやすみなさい(おはようかな?)
アルヴェマス (199) 2008年3月20日06:09
|
|
|
|
[104615] |
一応覚書ですので、忘れないうちに現状の情報を貼り付け。
・ImageX /infoで見たwinre.wimの情報
手順:Server2008のスタートメニューからWAIKのサブメニュー、PEプロンプトを右クリック。
「管理者権限で実行」で立ち上げ(PE操作は必ずこうする)。
以下、コマンド操作なので見てもらえばわかります。(オプションでxmlとしても出力できるが、手抜きでコピペ)
(>の行は勝手につけた注釈)
C:\AIK\Tools\PETools>imagex /info c:\winre\winre.wim
>これがコマンド。"info"以降はファイルパスでよい。
ImageX Tool for Windows
Copyright (C) Microsoft Corp. All rights reserved.
WIM Information:
----------------
GUID: {34a58779-f3f2-4467-88ec-b8e22272eceb}
>いわゆる「識別子」
Image Count: 1
>マウントしたり抽出したりするときのISOナンバー。
Compression: LZX
Part Number: 1/1
Boot Index: 1
Attributes: 0x8
Relative path junction
Available Image Choices:
------------------------
<WIM>
<TOTALBYTES>136601459</TOTALBYTES>
<IMAGE INDEX="1">
<NAME>Windows Recovery Enviroment</NAME>
>便宜的につけた名前
<DESCRIPTION>Microsoft Windows Longhorn Setup (x86)</DESCRIPTION>
<FLAGS>2</FLAGS>
<WINDOWS>
<ARCH>0</ARCH>
<PRODUCTNAME>Microsoftョ Windowsョ Operating System</PRODUCTNAME>
<PRODUCTTYPE>WinNT</PRODUCTTYPE>
<PRODUCTSUITE></PRODUCTSUITE>
<LANGUAGES>
<LANGUAGE>ja-JP</LANGUAGE>
<DEFAULT>ja-JP</DEFAULT>
>日本語フォントが入っている。
</LANGUAGES>
<VERSION>
<MAJOR>6</MAJOR>
<MINOR>0</MINOR>
<BUILD>6001</BUILD>
<SPBUILD>16659</SPBUILD>
</VERSION>
<SYSTEMROOT>WINDOWS</SYSTEMROOT>
>Windowsフォルダ内にはきちんとsystem32フォルダもある。
</WINDOWS>
<DIRCOUNT>721</DIRCOUNT>
>ディレクトリ数。ただしほとんどのフォルダは空っぽ。
<FILECOUNT>3917</FILECOUNT>
<TOTALBYTES>404660716</TOTALBYTES>
<CREATIONTIME>
<HIGHPART>0x01C7F8E7</HIGHPART>
<LOWPART>0x09231F09</LOWPART>
</CREATIONTIME>
<LASTMODIFICATIONTIME>
<HIGHPART>0x01C889F3</HIGHPART>
<LOWPART>0xED27C530</LOWPART>
</LASTMODIFICATIONTIME>
</IMAGE>
</WIM>
ちなみにファイルサイズは417MB。意外に大きい?PEで作った「winpe.wim」は250MBそこそこだったので、
GUIベースにすると一気に膨れ上がる、ということでしょう。
アルヴェマス (199) 2008年3月20日13:04
|
|
|
|
[104626] |
とりあえず、必要なのは軽量なファイラーとランチャー(兼ね備えていればなおよし)。
最初はフリーソフトのリンク集で探しましたが、インストーラ版ばっかりで、一度組み込んでみましたがエラーが出て使い物になりません。
やっぱりレジストリを使わないものがよい、と思い検索するとぽつぽつ出てきました。
http://cooltool.jp/filer.html
ちょっと古いけど、32ビットFATシステムだからいけるのではないか、と思い、組み込み。(これはすんなり。ちょっと慣れてきたかも)
イメージにして(ファイル操作以外は全部imageXでできる。便利だ)、再起動・・・見事失敗。
欲張って、ファイラーと修復オプション両方をiniファイルに書き込んだのがまずかったか。
やり直し。
試行錯誤の末、ようやくファイラーで立ち上がることが出来ました。
そのほか、ツールで動作確認できたものは以下の通り。
・極窓・・・dllがない、起動できず。
・Vix画像ビューア・・・同じくdllがなく、エラー。
・autoruns・・・これはメモリアドレスの不正。起動できず。
・ProcessExplorer・・・起動できました。
・FastCopy・・・起動できました(やった!サルベージの強い見方!)
・Diskchecup・・・起動できました(これでHDDの情報取得/SMARTテストが出来ます。)
画像ビューアが使えないのが残念ですが、基本的なファイル救出は出来ます。それに、HDDテストも。
上記ツールは解凍後にフォルダ単位で\sources\recoveryフォルダに放り込んだだけです。
バートPEのプラグイン作成のようなややこしいことは何もしていません(というか、出来ません)。
それと、インストーラ形式で放り込んでインストール/実行ができるか、というものを検証。
・ポータブルFireFox(英語版)・・・セットアップ途中でパス(ドライブ文字、X:)を手入力でインストール。起動。
(もっともネット設定はまだしていないので、サーバー見つからないエラーですが)
・Lhaz(圧縮解凍アーカイバ)・・・インストーラをWクリックで難なく起動可能。
・ワードビューア、エクセルビューア・・・ソフトウェア例外エラーでインストできず(残念・・・)。
・MaxBlast(マクスターのHDDユーティリティ。大物です)・・・Windowsインストーラがない、と怒られ断念。
ワード/エクセルビューアがだめなのはちょっと問題ですね。やはり救出するときにどんなオフィスファイルか確認したいですから。
マクスターのはまぁしょうがない。DiskCheckupとFastCopyでカバーできるし、いいでしょう。
ちなみにファイラーは探しに探し回った結果、Commanderというフリーのファイラーが起動できました。
(ここがもっとも時間がかかったんです。)
2ペインの全然機能のないファイラーですが、バックアップ用途ならこれでも使えるでしょう。
また書き込みが長くなってしまいました。次回はWinREのRAMディスク、(X)について少し書きます。
アルヴェマス (199) 2008年3月20日20:24
|
|
|
|
[104636] |
ファイラーで起動するWinREのスクリーンショット
http://crep.ne.jp/album.cr ?owner=dd2b2800-4743-102b-9b51-00114331ed99 &albumid=4043
現在は起動後すぐにネット設定できるようにまたまた再ビルド。
それと、修復オプションの場所がわかりにくくなったために、
起動画面に表示できるように調整中。
あとはIMEのビルドが必要ですね。せっかくネット出来るようになっても、見てるだけでは・・・
やはり日本語環境は必要でしょう。WAIKは二種類あるので・・・どっちがやりやすいのだろう・・・
何回か再ビルドを繰り返しているのでメモ的にコピペした内容を載せておきます。
一応、PEは作って、そのあとwinre.wimを抽出済みってところから先の部分です。
Updating path to include peimg, cdimage, imagex
C:\AIK\Tools\PETools\
C:\AIK\Tools\PETools\..\x86
C:\AIK\Tools\PETools>imagex /mountrw c:\winre\winre.wim 1 c:\winre\mount
>ローカルフォルダにマウントする。
Mounting (RW): [c:\winre\winre.wim, 1] ->
[c:\winre\mount]
Successfully mounted image (RW).
C:\AIK\Tools\PETools>notepad
>winreshll.ini再編集のため、メモ帳を起動
C:\AIK\Tools\PETools>imagex /unmount /commit c:\winre\mount
>変更した中身を保存してアンマウント
Unmounting: [c:\winre\mount]...
Successfully unmounted image.
C:\AIK\Tools\PETools>copy c:\winre\winre.wim c:\winre\iso\sources\boot.wim
>変更した内容をboot.wimに反映
c:\winre\iso\sources\boot.wim を上書きしますか? (Yes/No/All): yes
1 個のファイルをコピーしました。
>何回もやっているので、上書き確認が出る。
C:\AIK\Tools\PETools>oscdimg -n -bc:\winre\etfsboot.com c:\winre\iso c:\winre.iso
>ローカルにisoファイルとして抽出
OSCDIMG 2.54 CD-ROM and DVD-ROM Premastering Utility
Copyright (C) Microsoft, 1993-2007. All rights reserved.
Licensed only for producing Microsoft authorized content.
Scanning source tree
Scanning source tree complete (18 files in 8 directories)
Computing directory information complete
Image file is 446128128 bytes
Writing 18 files in 8 directories to c:\winre.iso
100% complete
Final image file is 446128128 bytes
Done.
アルヴェマス (199) 2008年3月20日23:30
|
|
|
|
[104642] |
再ビルドもまた試行錯誤の末、ネット接続が出来るようにしました。
スクリーンショットは下記から。
http://crep.ne.jp/album.cr ?owner=dd2b2800-4743-102b-9b51-00114331ed99 &albumid=4049
最初は起動するファイラーの中途半端な大きさがいやだったけど、Dos画面に説明を入れてカバー。
結果オーライかな?
IMEはまだですが、緊急時はネットでの情報探しかファイルアップロードでしょうから、
当座はこれでいけそうです・・・あ、FTPクライアントを忘れていた・・・とほほ。
アルヴェマス (199) 2008年3月21日01:57
|
|
|
|
[104662] |
多分誰も見てないだろうけど、
自分でロジカルに整理するためにはこの書き込みがとてもありがたいので・・・
(だったらブログでやれよ!というつっこみがきそうですが・・・)
質問板の進展があるまで、もう少し勘弁願います。
・xドライブ(RAMディスク)について
WinREは起動すると、物理メモリに展開し、常駐します。
これがほかのCDLiveOSと大きな違いになっています。
この仕様に加え、NTFSシステムと完全互換であることが
Linux系との大きな違いというか、Windowsユーザーへのメリットになります。
PCが起動できない場合、データサルベージでKnoppixなどのLinuxを使用する、
というのが今までの方法論で結構ありました(ぼくもそうしてきました)。
ただし、KnoppixはNTFSにリードオンリーでしかアクセスできません。
たとえば、Cドライブにアクセスしてboot.iniの破損だった場合、
Knoppixでは書き換えが出来ません。WinREはアクセス権を超えたWindowsであるため、
簡単にBoot,iniを編集できてしまいます。
Vista系のブートローダの破損も、コマンドプロンプトで簡単に直せます。
(このほか、インストールCDを使用してシステムファイルの書き戻しも対応できます)
また、2パーティションのマシンでシステムドライブがおかしい場合に、
Knoppixの場合はUSBメモリかFDへしか書き込みが出来ません。
WinREなら簡単にDドライブに必要なファイルをコピーし退避できます。
いいことづくめのようですが、現時点でアキレスのかかとになっているのが
RAMディスクという基本設計でもあるんです。
具体的には、実メモリの貧弱なマシンではまともに動けない、という問題です。
もっとも、このOS自体がVista救済を想定しているため、
1GBに満たないマシンでの動作は当初から考えていないのかもしれません。
まだバーチャル環境でしか動かしていないので、次は実マシンでそのあたりを検証し、
なおかつ使用ソフトの選定の幅も広げてみたいと考えています。
あと、やっぱりOffice系のビューアと画像ビューアは入れ込みたいですね。
現時点で470MB、ちょっと太りすぎではあるんですけれど・・・
アルヴェマス (199) 2008年3月21日17:44
|
|
|
|
( 参照数:9219 日平均:1.6 ) |
|