- ベストアンサー
XPの起動ファイル破損について
XPが突然起動途中で読み込まなくなりました 直前(再起動かける前)までは正常に起動していたのですが、エラーも表示されません 回復コンソールのchkdsk/rでエラー回復しましたと出るものの、起動状態は改善せずです 起動状態は、壁紙までは読み込むものの、デスクトップやタクスバーまでは読み込まない状態です どこかのQ&Aサイトで、別PCの起動ファイルをコピーしたら直ったとあったのですが、その一言だけだったので、どれをコピーしたらよいのかわかりません。 ちなみに、現在同じHDDにwindows2として、べつフォルダにwinXPをインストールしてそちらを起動する事は出来ます。 このwindws2フォルダからwindowsフォルダへ必要ファイルをコピー等して元のwinを修復することは出来ないでしょうか
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
今まで指摘していませんでしたが、他の掲示板や過去ログなどを見ていて、質問者さんの状況に近いケースではスパイウェア/マルウェアの影響が指摘されており、実際に直った事例もそうでした。 http://pasokoma.jp/bbsb/lg359623 (360000番のレス参照。個人的には「すっきり・・・」の使用は感心しないが) 特に、気になったのは >手動でexplorerを起動かけるとwindowsがexplorerを閉じてしまい ですね。 userinit.exe がうまく機能していない状況といってもいいです。 userinit.exe については下記参照 http://itpro.nikkeibp.co.jp/members/ITPro/ITBASIC/20050602/162002/ 動作タイミングは進捗バーが消えてカーソルが出て、ログオン画面が映るまでの間です。つまり質問者さんの気になっている場面ですね。 一度、下記レジストリを確認してください。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ ↓ワーム感染例 CurrentVersion\Winlogon\"shell" = "explorer.exe http://www.f-secure.co.jp/v-descs/v-descs3/Email-Worm_W32_VB.FW.htm http://www.viruslistjp.com/viruses/encyclopedia/?virusid=143342 ↑これは最近よくありげな「UPX を使って圧縮された Windows PE EXE ファイル」、つまりUSBメモリなどから感染する。 ・・・きりがない。グーグル検索結果を貼り付けておきます。 http://www.google.co.jp/search?q=Winlogon\%22shell%22+%3D+%22explorer.exe%E2%80%9D%E3%80%80%E3%83%AF%E3%83%BC%E3%83%A0&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a 確率としてワーム/マルウェアにやられた可能性が高い、と判断します。 userinit.exeがおかしいとネットに接続することは出来ないでしょうし、仮に出来たとしても通信によって個人情報の漏洩、ハッキングによる更なる被害、ボットばら撒きの原因となりうるのでオンラインスキャナなどは使えません。 そこで ボット駆除ツールCCCクリーナー https://www.ccc.go.jp/flow/index.html システムクリーナー http://jp.trendmicro.com/jp/support/extermination_tool/winny/ XーCleaner マイクロスキャナ http://service.nextedgetech.com/yamada-denki/index.php?err=1 これらを現在接続できているPCからダウンロードし、問題のマシンで使用してください。併用可能ですし、そのほうが検出確率は上がります。 これらの対処でも変化がない場合、そして今までの文脈から見てレジストリのバックアップなどは行っていなかったと思えますので、OSのクリーンインストールが確実です。 セーフモードで起動できるので、大事なデータのバックアップは出来るはずです。面倒でしょうが、ちょっと小手先で通用するレベルを超えている、と判断します。
その他の回答 (8)
- gamebakari
- ベストアンサー率60% (699/1147)
訂正/お詫び 文中(真ん中よりちょっと上あたり)の貼り付けがミスでしたお詫びします。 >一度、下記レジストリを確認してください・・・から下を訂正 レジストリキー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\Winlogon\"shell" = "explorer.exe" (補足)ここの値が"shell" = [ワームのファイル名]になっているのが山田ウィルスによく見られる現象。 >グーグル検索結果を貼り付けておきます。・・・から下を訂正 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla%3Aja%3Aofficial&hs=oAB&q=%22shell%22+%3D+%22explorer.exe%E2%80%9D%E3%80%80%E3%83%AF%E3%83%BC%E3%83%A0&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja (その"Winlogon"検索結果もある程度関連情報とはいえます。) 以上、訂正しお詫びします。
- gamebakari
- ベストアンサー率60% (699/1147)
>最初はブートファイルが壊れていたが、chkdskにより回復したものの、 >常駐プログラムの不具合により、起動出来ない状態にある 何を持ってブートファイルと定義しているかが不明確ですが、 Windowsが持っている起動に必要なシステムファイルはもっと早い段階でロードされます。 ここが壊れていると、NO3に貼ったURLのように明確なメッセージが出て、そこから先には全く進みません。 だから回復コンソールで起動させる(インストールディスク内の起動ファイルで起動させる)必要があるのです。 あなたの場合、そのプロセスは通過しています。 一般的に、電源投入後約20秒前後で起動用ファイルとレジストリ、デバイスドライバ、プリフェッチデータが読み込まれGUIモードになります。 (Windowsの進捗バーまでがこのプロセスです) マウスカーソルが出たらGUIモードに移行している証拠。 そこまでメッセージが出ずに進むなら起動ファイルは問題ない、と考えていいです。 NO6補足欄に書かれた情報を見る限り、レジストリ自体の不整合があり、なおかつShell.dllもおかしくなっているようです。 関連のあるファイルは Ntuser.dat Ntuser.dat.log Ntuser.iniであると思われます。 これはよそからとってきても意味がないと思いますので、セーフモードで「NTUSER.bak」を探してください。(ない場合も) あるとすればC:\Documents and Settings\ユーザー名\フォルダです。 一旦コピーし任意のフォルダに退避後、Ntuser.datにリネームし再起動してみてください。 元のNtuser.datはNtuser.datoldなどとリネームし、念のために他のドライブなどへバックアップしてください。 その後bakから書き換えたほうを戻し、再起動です。 プロファイルが二重になったのは、おそらくきちんと読み込めないためにC:\WINDOWS\repairフォルダにあるNtuser.datを読み込んでいるためと思われます。
補足
ありがとうございます。色々と勉強になります。 残念ながら「NTUSER(DATファイル)」と「NTUSER.dat(テキストドキュメント)」はありましたが、「NTUSRER.bak」はありませんでした。 現在、セーフモード起動のみ受け付ける状態です。 通常起動では、相変わらず壁紙までの読み込みで、一度は読み込んだものの、診断スタートを受け付けません。 「Alt,Con,Del」で見る限り、プロセス的には「userinit」と「explorer」の読み込みしているかの違いだけですが、通常起動の場合、「userinit」と「explorer」は自動で読み込まれず、手動で起動しても「userinit」は無反応で、「explorer」はwindowsに起動終了されてしまいます。(explorerを手動起動するとdumprep.exeも一瞬起動する) あと、少し気になったのが、セーフモードでも通常起動でも、windowsの進歩バーが消えてからユーザー選択までの画面までが以前より長くなりました。 あまりに変わらぬ状況に心が折れそうです…
- gamebakari
- ベストアンサー率60% (699/1147)
Ext-remeさん(こちらこそ失礼しました)の提案はちょっと興味を持ったので検証してみました。 といっても「不具合」が演出できないので、あくまで「つもり」ですが。 結果、explorer.exeをプロセスでkillした後(タスクバーやアイコンがなくなる)、ショ=トカットから実行すると復活はしました。 ただし、「健全な」状況での場合なので、スタートアップ時に何らかの不具合が発生して起動できない原因が不明なままではこの手法が有効とはどうしても思えませんが。 わざとWindowsフォルダのexplorer.exeの遅延を設定し、再起動してみましたが変哲なく起動しました。 ちなみにexplorer.exeにはセキュリティソフトやIMEの元であるctfmon.exeなどのシステム関連プログラムをはじめとする常駐プログラムが依存関係にあります。 ですので一番初めに疑うべきなのは常駐プログラムの不具合なんです。
補足
お二方ともありがとうございます。 一度は起動したものの、再起動をかけたら、手動でexplorerを起動かけるとwindowsがexplorerを閉じてしまい、起動出来ない状態になってしまいました。 また、元のユーザープロファイルではなく、同名コピーのような(ユーザー名+コンピュータ名)プロファイルが出来上がっていました(adminも「admini+コンピュータ名」) プログラムファイルのプログラムも起動しようとすると 「正しくインストールされていません」 と出る始末… 起動できた時にシステムファイルのロールバックを試すものの、バックアップファイルが、先ほどの起動できた時点しか見当たらず… msconfigで起動を最小にしたり、全選択したり、診断スタートアップ~にしても起動に変化が無い状態です 最初はセーフモードすら起動しませんでしたが、今はとりあえずセーフモードなら通常に起動します。 ということは、最初はブートファイルが壊れていたが、chkdskにより回復したものの、常駐プログラムの不具合により、起動出来ない状態にある との認識で良いのでしょうか? クリーンインストールすれば良いのは分かっているのですが、インストール作業を考えると…
gamebakariさん、俺のミスですw 失礼しました。
- gamebakari
- ベストアンサー率60% (699/1147)
>Windows→System32の中にあるexplorer.exe ありません。 システムルートのWindowsフォルダ直下です。 それと、このトラブルはシェルへの関連付けに関する不整合の気配が濃厚なので、「正常な」explorer.exeとしてスタートアップのショートカットから起動できる(つまりタスクバーやアイコンが正常表示する)保証はないでしょう。
- gamebakari
- ベストアンサー率60% (699/1147)
>これはブートファイルが破損していたからなのでしょうか 今回のケースでは起動に必要なシステムファイルのトラブルではなく、レジストリデータの不整合の可能性を疑います。 explorer.exeは終了時に設定をレジストリに保存しますが、その際の不具合で正しくデータが保存できない場合があります。 常駐プログラムの影響から引き起こされるケースもありますし、デバイスドライバ関連の不整合でも起こるでしょう。 この対処にはいくつかの方法があります。 msconfigでトラブルシュートする http://www.higaitaisaku.com/safemode.html 一旦セーフモードで立ち上げた後、msconfigで診断モードの起動を行い、再度msconfigから通常スタートアップを選んでください。 また、MSから修正パッチが出ています。古いので効果があるか疑問ですけど。 http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=49E589AE-2F93-48DC-A39A-C9D98DADA7A5 レジストリの不整合に関してはまず不具合のあるプログラムを特定する必要があります。そのためにはmsconfigのスタートアップ項目から、上半分、下半分などのチェックを外し常駐プログラムを追い込んでいき、最終的に問題のあるプログラムのレジストリを確認する方法が面倒ですが確実です。 (↑大抵はこの作業途中で直ってしまいます) それでも問題が残る場合、HDDの不良セクタを疑いたくはなりますが、上記の対処を行った後、という風に切り分けないと断言できません。 >どこかのQ&Aサイトで、別PCの起動ファイルをコピーしたら直った これは明確にシステムが必要なファイルを要求した場合、 http://support.microsoft.com/kb/880636/ja ですし、そのPC固有のHalなどはどこからも持ってこれません。 http://lets-go.hp.infoseek.co.jp/bootdisk6.html 起動時のトラブルはいろんな状況、原因が考えられます。 決め打ちでこれ、という対処はありません。
#1です。 ちょっと自分はやり方知らないですので、簡単な方法ですけど、 スタートボタンを押してスタートアップというフォルダの上で右クリックして、開くを押してください。 そうするとスタートアップというフォルダが開きます。 そして次にWindowsがインストールしてあるドライブを開きます。(通常はCドライブ) そしてCドライブ→Windows→System32の中にあるexplorer.exeをドラック&ドロップでスタートアップフォルダへコピー(ショートカットを作成)します。 これで起動時に表示されるかと思います。 ※スタートアップを読み込む順番が最後の場合、explorer.exeは起動しないことがあります。
>デスクトップやタスクバーまでは読み込まない 壁紙を読み込んだあと、CtrlとAltとDeleteを同時に押し、 タスクマネージャーを開きます。 そしてプロセスのタブを押し、 中からexplorer.exeを探してください。 もしなければ、ファイルからプロセスの追加、explorer.exeと入力し、 explorer.exeを起動してください。 これでタスクバーやデスクトップのアイコンが表示されませんか? これで表示されたとしたら、起動時に起動するはずのexplorer.exeが起動できなくなっていると思います。 もしexplorer.exeが起動しているとしたら、OSの再インストールをお勧めします。
補足
回答ありがとうございます。 タスクマネージャーからexplorerを起動させたところ、winが起動致しました。 これはブートファイルが破損していたからなのでしょうか? 正常に戻すにはどうしたら良いのでしょう? 度々申し訳ありませんがお願いいたします。
お礼
何度もありがとうございます。 gamebakariのおっしゃる様にもう小手先で直る範疇を超えてしまってます。 ウイルスと言われれば、確かにwindowsをシャットダウンする直前に急にウイルス感知がいくつかまとまって起きてました。 アンチウイルスソフトが動いたので、大丈夫だと思いシャットダウンしたのですが、今思えば、すでにウイルスに侵されていたのかも知れません。 とにかく別HDDにクリーンインストールしました。 ありがとうございました。 またその件で困ってますが、別問題なので一旦この質問は閉めることにします。 お二方とも回答くださりありがとうございました。