復旧のための復旧。

 ThinkPad X60の復旧について。
 これまで半月、借り物のThinkPad z60mにREX-CB15S経由で故障HDDを接続して復旧作業を続けてきたがz60mを返却しなければならず、代わりの作業機を用意しなければならなくなった。X20はWindows2000環境であるためか、REX-CB15S経由で故障HDDを接続すると取り外すまでは動作がフリーズしてしまうため今回の作業には使えない事が分かっている。
 今回の故障HDDの前にX60で使用していた純正HDDをそのまま保管していたのでこれをX60に戻して作業環境に使用したいと思ったのだが、実際に取り付けてみるとWindowsXPは起動するもののログイン直後に勝手にログオフしてしまい、このログインとログオフを繰り返すのみでデスクトップにたどり着けなくなっていた。
 この勝手にログオフしてしまう現象は以前職場のNEC製XPマシンで体験した事があった。確かその時はAcronis Migrate Easyでより大容量HDDへの移行作業を行っていた時で、移行先HDDでこの現象が発生したのだ。Ultimate Bootable CDを別途入手し、内包されているFDISK互換ユーティリティで元HDDのMBRを移行先HDDに手動で上書することで解決した記憶がある。状況としてはX60も同じで、故障HDDへの移行作業はMigrate EasyによるHDDクローンの作成で行っている。このあたりの発生原因と対策の妥当性はよく理解できないままだった。MBRに不具合があるのならインストールされたWindowsXPを見つけられなくなるはずで、それならログイン画面にすらたどり着けなくなるのではないのだろうか。
 その他よく言われる原因としては、過去に流行したウイルスの一部でHDD上に存在しWindowsのユーザログインを処理するUserinit.exeを破壊するものがあり、この場合は正常稼動するXP環境からuserinit.exeをコピーすることで復旧すると説明されるものがある。これについては、今回のX60のログオン時の画面表示を観察していると、ThinkVantageで提供されている指紋認証ユーティリティ実行時に使われるログインダイアログではなくWindows標準のダイアログが表示されている。指紋認証ユーティリティが本来のUserinit.exeをオーバライドしてログイン処理を行っていたのが、何らかの理由で正常な処理に戻っているのが原因なのだろうか。それなら復旧は簡単で、Rescue and Recoveryにて純正HDDを最後に使用するより3ヶ月前に取得した全件バックアップからuserinit.exeだけ個別に復元すればいいはずだ。しかし実際に復元しても改善しない。
 今回改めてX20でこの辺の情報を検索してみる。すると、Migrate Easyと同じAcronisのディスクユーティリティ、True Imageに関するWEB上のFAQページ http://wiki.nothing.sh/page/True%20Image/FAQ に今回の事象と同一のものと思われる記載を発見できた。

復元後の環境でログオン、ログオフを繰り返してしまう(2000/XP/2003)ようこそ画面に何も表示されない(XP) [#raea52c5]

バックアップ時と復元後でブートパーティションのドライブレターが違っている可能性があります
・ハードディスクの引越しに使う場合はコピー元のHDDは外しておく、
・        〃        HKEY_LOCAL_MACHINE\SYSTEM\MountedDevicesをばっさり削除しておく、
・HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\Winlogon\Userinit の値からフルパスを消しておいて最低限ログオンだけは出来るようにしておく
等の処置をあらかじめ行っておいてください

すでに発症してしまっている場合、以下を参照してください
http://support.microsoft.com/kb/249321
http://www.netjapan.co.jp/r/faq/index.php?docid=1450daa56e312c7647cba053e060929e
http://homepage2.nifty.com/winfaq/w2k/boot.html#1079

※fixmbrではこの問題は解決しません。fdisk /mbrMBRのNTシグニチャも含めて上書きしますがfixmbrではブートコードを書き直すだけだからです。
また7.84GB以降にあるNTFSパーティションをアクティブにしている場合などはブートしなくなる可能性があるのでfdisk /mbrの後にはfixmbrもやっておく事をお勧めします
ドライブレターがずれた際に起きやすいためページファイルを作れず「仮想メモリが限界です」とエラーメッセージが表示される場合が多いです
が、この問題の本質はuserinit.exeが実行できない所為であってページファイルを作れない所為ではありません

 ブート可能なHDDが複数接続されたことによるブートパーティションドライブレターの意図しない変更は今までも時折HDDのバックアップ作業で直面したことはあるが、今回の事象は確認したところ該当しなかった。
 となればやはりMBRだろう。しかしMBRの修復作業を行うためには、今回は極めて大きな問題があった。
 今手元にはWindows2000で動作するX20とWindowsXP Professionalで動くFM/V、そして故障して起動しない件のX60の3台しかPCがない。Windows2000以降のWindowsではディスクパーティションの管理はDiskpartコマンドまたはGUI上のディスク管理コンソールが行うためFDISKコマンドがなくなっている。代わりにMBRを処理するためにfixmgrとbootmgrコマンドは存在するが、上記FAQの記述が正しければ効果がない。つまりWindows98SE以前の起動ディスケットが必要ということだ。
 手元にあるもので解決を試みる。まず最も安直な手段として、WindowsXPのプリインストールマシン用セットアップ媒体から回復コンソールを起動してみるが、使用した媒体はX60より発売時期では数年古いFM/Vの添付品でXP無印相当のものだったが、回復コンソール起動時にHDDを見つけられず終了してしまう。念のためFM/Vで試すとこちらは回復コンソールに入れた。しばらく繰り返して、X60のHDDがSATAであるためではないかと気がついた。Windows無印が発売された当時は、まだSATAは登場していなかった。
 他にないかと記憶を辿り、中古でDELLのVostroを買った時に添付されていたXP媒体がSP3相当だったことを思い出して試すと、今度は正常に回復コンソールが起動。早速FIXMBRを実行して再起動したが、残念ながらWindowsXPデスクトップにはログインできず。
 SATAが理由なら無駄だと思いつつX20でWindows2000の起動ディスケットを作成してこちらから起動、FIXMBRを試そうとしたがやはりHDDを見つけられず失敗。
 前回の遭遇時にも使用したUltimate Bootable CDを改めてダウンロード入手する(300MB以上あるファイルのダウンロードをW05Kで行うのはかなり無理があったが…)ことにより、FDISK互換ユーティリティを準備。いくつか試してみたが、大半はHDDを認識できず、また数少ない使用可能な互換ユーティリティはいずれも効果がなく無駄足になった。
 実家に戻ればWindows98環境もあるので簡単にFDISKを使えるのだが…と悔やんでいたが、よく考えてみればX60VirtualPCを使ったWindows98SE環境を構築したことがあった!。しかもVHDファイルを捨てるのを惜しんでDVDに焼いて保管していた気がする。一時間ほど探し回ってそのDVDを発見し、FM/V上で実行し懐かしのWindows98SE環境を起動。アプリケーションの追加と削除から起動ディスケットを作成することに成功。
 98SEにしてもSATAはそのままでは認識できないのでは?と思っていたが、実際に起動してみると正常にSATA越しにHDDのパーティションを認識できた。直ちにFDISK /MBRを実行してX60を再起動してみると…正常にデスクトップにログインすることに成功し、事象は解決された。
 それでは、早速…REX-CB15Sを取り付けて、HDD Regeneratorによる故障HDDのサルベージを再開する…。ああ。

 その他参考になる情報 http://homepage2.nifty.com/emotom/os/osjn220.htm#「Signature」と「volume%20GUID」