システムファイルが壊れたXPをリカバリーディスクなしでどうにかする

リカバリーディスクマジ大事ってことを改めて確認できる一日だった。
ほぼ一日かけてなんとか修復できたかなというところ。
リカバリーディスクない人はマジ作れ。絶対つくれ。

一体何があったのか

一昨日ほど「パソコンが起動しなくなった助けてくれ」というメールがはいった。
で、どんな状況かを確認すると、
とりあえず立ち上がるのは立ち上がるのだけれど
「wininet.dllが見付かりません」
と表示されexploer.exeが起動せず、デスクトップが表示されなかった。
つまり真っ青な画面だけが表示されてしまっていたのでパソコンが起動しなくなってしまったと勘違いしてしまったらしい。
本当はさくっとリカバリーしてしまえばいいところだったのだが、「もらいものだからそんなの無い」だそうでリカバリーは使えない
しかしこれならなんとかなるかなーと思って
「じゃあなんとかしてやんよ」
と言ったのであった。
……がそれが地獄の始まりであった……。

exploer.exeが動かないゆえの苦闘

とりあえずこういうときは復元だよねー。
と思いつつシステムの復元を表示しようとすると
「wininet.dllが見つかりません」
……お前もかよ……。


「まあだがファイルが足りなければ足してあげればいいじゃない」
その単純な原因ゆえ簡単に問題は解決するものと思われた。
だがexploer.exeが動かないということはファイル移動もままならないわけで。


まあとにかくだ。
wininet.dllの元がなければはじまらない。
幸いにしてwininet.dllでググると教えてgooで同じような質問が投降されており、すぐに見つけることができた。
「WININET.DLLが見付かりません」と出ます - その他(インターネット接続) - 教えて!goo
wininet.dll free download - DLL-files.com
いやあ。心配したけどまさかシステムファイルがネットに公開されてるなんてなあ……。
というわけでUSBメモリにwininet.dllをコピー。


さてここからが本番だ。
このwininet.dllをどうやってC:\windows\system32フォルダにいれれるかが問題である。
実のところ解はそこまで難しくない。
とりあえず真っ青の画面でwindowsキー+Rでファイル名を指定して実行……
はexploer.exeが動いてないせいか動かない……。


いやここで動揺してはいけない。
おもむろにCtrl+Alt+Delキーをおしてタスクマネージャを呼びだす。
タスクマネージャは問題ない。ならば新しいタスクを押してcmdと入力。
そう、答えはコマンドプロンプトのcopyコマンドである。
ちなみに diskpart と入力すると接続されているドライブがわかる。
今回はUSBがEドライブだとわかっていたので
copy e:\ wininet.dll C:\windows\system32 と入力。
これで解決かなー。と思いきやその時


指定されたドライブが見当たりません
エ゛……



どういう理由かはあまり調べてないがコマンドプロンプトUSBにアクセスできる場合とできない場合があるようだ。



気を取り直してubuntuをCDブートで使う方法で行く。
どこでも俺環境! USBメモリにUbuntu構築 準備編 :教えて君.net
UbuntuTips/Install/BurningISO - Ubuntu Japanese Wiki
地味にubuntu使ったの初めてだわーとか思いつつ、ブートCDを作成し起動。
Cドライブをマウントs……


「ドライブがマウントできません」



ェ゛……
ざっとぐぐってもドライブがなぜマウントできないか不明。
CDブートだとドライブ使えない仕様とかあんの?

解決への道しるべ

そんな感じで行き詰まり。
まさかここまでファイルの移動だけで四苦八苦するとは思わなかった。
ほかにググりまくって方法はないか探してみると
1CDブート回復コンソール作製法

あなたが神か。

まさか回復コンソールをつくりだせるだなんて……。
というわけでさっそく上記のページを参考にしてメディアを作成。
回復コンソールを無事起動できたのであった。
これで勝つる!これで勝つるよ!
というわけで意気揚々と
copy e:\ wininet.dll C:\windows\system32
と入力すると
あれ?まだできない?


どうやらUSBドライブにアクセスするにはsetコマンドが必要らしい。
しかもsetコマンドはレジストリをいじらなきゃいけないとか……。
すぐに回復コンソールをexitでやめ、windowsXPを再起動
タスクマネージャからREGEDITと入力。


HKEY_LOCAL_MACHINE\SOFTWARE\MicrosoftW\indows NT\CurrentVersion\Setup\RecoveryConsole
でSecurityLevelとSetCommandの値を1にする。
これでsetコマンドが使えるようになるとか。


さっそく回復コンソールを起動。
set AllowRemovableMedia = true
set AllowAllPaths = true
これでUSBにアクセスできるはず!
というわけで
copy e:\ wininet.dll C:\windows\system32
と入力。
今回は……成功、
これで解決だ……長かった……。
頑張った!俺はがんばった!


windowsを起動し直すと
「urlmon.dllが見つかりません」
どうやらまだ戦いは続いてたみたいだ……。

ボロボロのシステムファイル。こんな時に使えない復元。

urlmon.dllも先ほどの回復コンソールを使用する方法でなんとか起動だけはするようになったwindows。
ただまだ駄目なようで
exploerは動くようになったがなぜかマイコンピュータを開こうとすると固まる。
コントロールパネルは表示できない。
しかもまだ復元は使えない。
iexploerは「iexploer.exeが見つかりません」と表示される。
ざっと確認するだけでもこんなに動かない。
……なんだこれ。システムファイルぼろぼろすぎじゃね……。
安請け合いしたのが間違ったか……。
とはいえこちらとしてもここまできたら引き下がれない。
こうなりゃ意地だ。
が、しかしマイコンピューターが動かないというのはさっきのネットから拾ってきたwininet.dllが悪かったんじゃね?
ということでちゃんと自分の正規のXPからwininet.dllとurlmon.dllをぶっこ抜き、またも移動させる。


回復コンソール大活躍だね!


やはりwininet.dllとurlmon.dllが悪かったのか移動させると
マイコンピューター起動とコントロールパネル起動。
よし。これなら復元m……しかしまだ復元も起動しない。
……まさか復元も死んでるのか…………。
どう考えてもwininet.dllとurlmon.dllがやられ、さらにほかのシステムファイルもやられてるっぽい状態はもはやなんかウイルスの仕業としか考えられん。
そして復元もできないようにするとかもうすげえな……。
徹底しすぎだろ……。


さて。復元できない状況でボロボロになったシステムファイルをどうすればいいか。
わりとどうしようもない状況。
もう……無理なんじゃ……ね。
と、パソコンを終了させようとすると
「重要な更新をインストール中です」
…………ピコーン!


       |
   \  __  /
   _ (m) _ピコーン
      |ミ|
   /  .`´  \
     ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (・∀・∩<windows updateやればいいんじゃね
    (つ  丿 \_________
    ⊂_ ノ
      (_)



それもシステムファイルが全部更新されるようなデカイ更新をすればいいんじゃね!?
そうだ!SP3をインストールすればシステムファイルほぼ全部一新されるはずだ!


そう思いついてからは早かった。
このパソコンはもともとXP SP3だったがならば、PCをSP2に書き戻せばいい。
先ほど復活したコントロールパネルのプログラムの追加と削除からインストールされた更新プログラムでWindows XP SP3を削除。
IE8も動かなかったから削除。
そして再起動すると……。


こいつ……動くぞ!!
褒められた方法ではないとはいえシステムファイルがほぼ復活したっぽい。
後はまたSP3にアップデートし直せばいい。
そうすれば多分ほぼ問題はないだろう。


長かった……今回の戦い……………。
長かった…………。