• ベストアンサー

起動時のエラーについて

数日前から起動すると「エラー・Win logon.exeコンポーネントが見つかりません」「sfc os.dllが見つからないためアプリケーションを開始できません」と表示されるようになりました。「OK」すると今のところ差し支えなく使用出来るのですが毎回表示されるので困っています。「再インストールすれば解決される場合があります」とも出るのですがどこを開いてどうすればいいのか、自分なりに調べてみてもわかりませんでした・・・。どなたか解決方法を教えて頂ければ嬉しいです。お手数お掛けしますが宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • doki2
  • ベストアンサー率51% (440/860)
回答No.17

「sfc.os.dll」ではなく「sfc_os.dll」ですね。 http://www.dlldump.com/download-dll-files_new.php/dllfiles/S/sfc_os.dll/5.1.2600.2180/download.html 上記サイトでダウンロードして、下記のフォルダにコピーしてください。 C:\WINDOWS\system32 C:\WINDOWS\system32\dllcache また、C:\WINDOWS\system32フォルダにある「sfc.dll」と「sfc.exe」を下記のフォルダにコピーしてください。 C:\WINDOWS\system32\dllcache

noname#109047
質問者

お礼

ありがとうございます!! ご説明の通り行なって再起動したところようやく起動時のエラー表示はされなくなりました!! 再起動後sfc /scannowを実行した所、「Windouws File Profection」の小窓が出て処理されました。 これで修復されたとみなして大丈夫でしょうか?? また、今回行なったコピー作業等はそのままにして現状を保った方がいいですよね。 ちなみにどうしてこのようになったのか未だにわからずにいるのですが考えられる原因がわかりましたら今後の為にも教えて頂けると嬉しく思います。 長い時間をかけてご協力頂けたこと、心より感謝しております!!ありがとうございました!!!(泣)

その他の回答 (17)

  • doki2
  • ベストアンサー率51% (440/860)
回答No.18

全ファイル&フォルダの表示設定 http://www.higaitaisaku.com/zenhyoji.html ファイルの拡張子が表示されないとか、一部のファイルが表示されないというのはおかしいので、現在のままにしておいたほうがいいのではないでしょうか。 その他については、私にはわかりません。ご自分の判断で整理してください。 >どうしてこのようになったのか Windowsが異常終了したとき、電源ボタンの長押しで強制終了させたときなどにファイルが破損することがあります。 システムフォルダにあるファイルは、常時、酷使されているため、破損することが珍しくありません。。 そのため、起動時にシステムファイルチェックが実行され、異常が見つかれば、「DLLCache」フォルダにあるファイルを探して修復するんですが、「DLLCache」フォルダにあるファイルが破損滅失していれば修復できません。 通常、ユーザーが直接このフォルダにあるファイルを操作することはありませんので、「運が悪かった」としか考えられません。

noname#109047
質問者

お礼

アドバイスありがとうございます。 現状を保って以後同じ事にならないよう配慮したいと思います。 わかりやすく説明して頂きこの度は本当にありがとうございました!!

  • fjkpp499
  • ベストアンサー率45% (177/393)
回答No.16

前回の投稿にあるとおりの表示設定にして直接dllcacheを 開き「.exe」「.dll」それぞれの項目で「sfc.exe」「sfc.dll」の存在を目視で確認して下さい。 アルファベット順ですのでおおよその見当はつくと思います。 本来はそれをsystem32にペーストすれば修復完了となるのですが・・・ その際system32上から該当ファイルが完全に欠落しているのであれば、何事もなくペーストされますし、 破損している場合は「上書き」の確認が表示されます。 まずは上記を行って下さい。そののち「sfc /scannow」で機能が 復活したか確認してください。つまりSFCが実行できない限り 修復は不完全と言う事になります。

noname#109047
質問者

お礼

お陰さまで解決することが出来ました! 何度も丁寧にご説明下さり本当に感謝しております^^ もう少し勉強しますね(苦笑) どうもありがとうございました!

noname#109047
質問者

補足

ありがとうございます。 >前回の投稿にあるとおりの表示設定にして直接dllcacheを開き「.exe」「.dll」それぞれの項目で「sfc.exe」「sfc.dll」の存在を目視で確認して下さい。 dllcacheを開きました。「.exe」「.dll」がついているものがたくさん表示されましたがその中には「sfc.exe」「sfc.dll」はありませんでした。 (説明の解釈が間違っているでしょうか?) system32上には間違いなく「sfc.exe」「sfc.dll」が存在していてそこへ上書き表示されることなくコピーして貼り付けることも出来ました。 「sfc /scannow」はやはり出来ません。。 皆さんのご指示でも変化がないのはどこかで私のやり方がおかしいんですよね。。

  • fjkpp499
  • ベストアンサー率45% (177/393)
回答No.15

手作業による修復が一通り完了したのであれば「sfc /scannow」を 実行して下さい。これまでの作業はSFCの機能を復活させるのが 目的です。

noname#109047
質問者

補足

何度もありがとうございます! sfc /scannowの実行をしてみましたが 「sfc.exe コンポーネントが見つかりません・sfc.os.dllがみつからないためこのアプリケーションを開始できませんでした。」と出ます。。

  • doki2
  • ベストアンサー率51% (440/860)
回答No.14

>「sfc.*」で再度検索しましたところ今度は「sfc.exe」と「sfc.dll」が見つかりました。 どこに見つかったのかがきわめて重要です。 下記4つのファイルがあれば一件落着!! C:\WINDOWS\system32\sfc.dll C:\WINDOWS\system32\sfc.exe C:\WINDOWS\system32\dllcache\sfc.dll C:\WINDOWS\system32\dllcache\sfc.exe ファイルサイズもばっちり! >expand -r c:\sfc.dl_ C:\WINDOWS\system32 >expand -r c:\sfc.ex_ C:\WINDOWS\system32 この作業はもう必要ありません。 パソコンを再起動してエラーが表示されないことを確認してください。

noname#109047
質問者

補足

お世話になってます! 一件落着の言葉でほっとしたものの再起動後も変わらないんです。。 「sfc.*」の検索結果です。 SFC.DL_ フォルダ名C:\WINDOWS\I386 SFC.EX_ フォルダ名C:\WINDOWS\I386 sfc.dll フォルダ名C:\WINDOWS\system32 sfc.exe フォルダ名C:\WINDOWS\system32 sfc.png フォルダ名C:\Tanken\engine\cmn sfc.dll フォルダ名C:\WINDOWS\ServicePackFiles\i386 と出ています。 一件落着とされるファイル名ではないのですが。。。 どうしてなんだろう。。 アドバイス頂きながら解決する事が出来なくてすみません。

  • Deep__Blue
  • ベストアンサー率48% (1590/3297)
回答No.13

>expand -r c:\sfc.dl_ C:\WINDOWS\system32 >expand -r c:\sfc.ex_ C:\WINDOWS\system32 >を「ファイル名を指定して実行」をするのでしょうか・・ >もしくはexpand -r c:\sfc.dl_ C:\WINDOWS\system32  expand -r c:\sfc.ex_ C:\WINDOWS\system32をこの画面に入れる事で実行とされるのでしょうか ファイル名を指定して実行→「cmd」 これでもコマンドプロンプトは開きますが。 開いたら>(プロンプト)以降に上記コマンドラインを入力してenterです。

noname#109047
質問者

お礼

お陰さまで解決しました! 何度もわかりやすくご説明して下さり本当に感謝しております! 良い勉強になりました。 トラブル対処できるようにもっと勉強しますね。 ありがとうございました!!

noname#109047
質問者

補足

お世話になってます! わかりやすいご説明頂きありがとうございます! 早速行なってみましたがどちらのコマンドを入力しても「入力ファイルを開くことができません」と出てしまいました。。。

  • doki2
  • ベストアンサー率51% (440/860)
回答No.12

>「sfc.*」で検索した所、sistem32のフォルダから「sfc.dll」と「sfc」が検出されました。 「sfc.exe」であればわかるんですが「sfc」というのがわかりません。 下記参照してファイルの拡張子が表示されるようにしてみてください。 全ファイル&フォルダの表示設定 http://www.higaitaisaku.com/zenhyoji.html >「C:\WINDOWS\system32」で検索した所、「SYSTEM32」2個と「system32」が検出されました。 正常ではありません。 システムフォルダにあるファイルやフォルダをいじるのは非常に危険です。 >「sfc.dll」と「sfc」をsystem32のフォルダへコピーしました(この手順は合ってるでしょうか??) 「sfc.exe」であればわかるんですが「sfc」というのがわかりません。 >それから「ファイル名を指定して実行」で指定された二つのコマンドをどちらも試してみたのですが一瞬だけバックが黒い画面が出るのですが先に進めません。。。 コマンドプロンプトを開いて、同じ動作を実行してみてください。 「sfc.dl_」 や 「sfc.ex_」 が見つかったのであれば有効ですが、見つからなければエラーが表示されるだけです。 ☆ファイルサイズの確認 エキスプローラでファイルを選択して右クリック、メニューのプロパティを選択してファイルサイズが正常かどうか確認してください。 「sfc.dll」  サイズ:5.00 KB (5,120 バイト)  ディスク上のサイズ:8.00 KB (8,192 バイト) 「sfc.exe」  サイズ:12.0 KB (12,288 バイト)  ディスク上のサイズ:12.0 KB (12,288 バイト)

noname#109047
質問者

補足

度々ありがとうございます! 全ファイル&フォルダの表示設定を行ないました。 「sfc.*」で再度検索しましたところ今度は「sfc.exe」と「sfc.dll」が見つかりました。 「sfc.exe」と「sfc.dll」を改めて「system32」のフォルダへコピーしました。 (このフォルダに「sfc.exe」「sfc.dll」がありましたがコピー先は同じフォルダでいいのかな??) >コマンドプロンプトを開いて、同じ動作を実行してみてください。 コマンドブロンプト画面を見つけました(今までに使った事がないです) ここに「sfc.exe」や「sfc.dll」をコピーするのでしょうか?? その後に expand -r c:\sfc.dl_ C:\WINDOWS\system32 expand -r c:\sfc.ex_ C:\WINDOWS\system32 を「ファイル名を指定して実行」をするのでしょうか・・ もしくはexpand -r c:\sfc.dl_ C:\WINDOWS\system32  expand -r c:\sfc.ex_ C:\WINDOWS\system32をこの画面に入れる事で実行とされるのでしょうか。 コマンドブロンプトを開いた状態で作業を進めずにいます。 疑問だらけですみません・・・;; >☆ファイルサイズの確認 エキスプローラでファイルを選択して右クリック、メニューのプロパティを選択してファイルサイズが正常かどうか確認してください。 「sfc.dll」  サイズ:5.00 KB (5,120 バイト)  ディスク上のサイズ:8.00 KB (8,192 バイト) 「sfc.exe」  サイズ:12.0 KB (12,288 バイト)  ディスク上のサイズ:12.0 KB (12,288 バイト) サイズの確認ではその通りでした。 ご面倒かと思いますが再度教えて頂けると幸いです。

  • fjkpp499
  • ベストアンサー率45% (177/393)
回答No.11

都合でPCの前を離れなければなりませんので現時点でできる アドバイスをしておきます。 「Win logon.exe」「sfc os.dll」このどちらも検索するまでもなく C:\WINDOWS\system32\dllcacheの中に存在します。 SFCを実行した際、修復の元となるデータです。これをsystem32に ペーストする事です。 なおWindows以下のフォルダを開く際はフォルダのメニュー、 表示>アイコンの整列で「種類」・「グループで表示」にチェックを入れて下さい。見つけやすくなります。

noname#109047
質問者

補足

根気良く気に掛けて下さりありがとうございます。 未だにアドバイスを上手く活用しきれず解決できていません。。 ど、どうしよう。 珍しく脳を使っているので頭の中混乱してますー(苦笑) ・・・本当に申し訳ないです;;

  • doki2
  • ベストアンサー率51% (440/860)
回答No.10

Windowsは起動時にシステムファイルに異常がないかをチェックして、異常があった場合、バックアップファイルを使って修復しようとします。 また、「Winlogon.exe」はWindows起動時に最初に実行されるプログラムです。 Windowsが起動され「Winlogon.exe」が実行されると「Winlogon.exe」は「SFC.DLL」を呼び出してシステムファイルチェック(System File Check)を実行しようとしますが、「SFC.DLL」が見つからないとエラーが表示され、システムファイルチェックが実行されません。 Windowsの実行自体には支障はありませんが、システムファイルチェックが実行されないのが原因で、修復機能が働かなくなり、他のファイルにも破損が広がるとOSが正常に起動されないようになってきます。 システムファイルチェックには通常下記のファイルが使用されます。 C:\WINDOWS\system32\sfc.dll C:\WINDOWS\system32\sfc.exe キャッシュファイルが下記の場所に保存されます。 C:\WINDOWS\system32\dllcache\sfc.dll C:\WINDOWS\system32\dllcache\sfc.exe 正常な場合、エキスプローラで「sfc.*」で「C:\WINDOWS\system32」フォルダを検索すると上の4件が検出されます。 NECの場合、OSのインストールディスクがないでしょうから、リカバリディスク等で「sfc.*」を検索して見てください。 見つからない場合はメーカーに問い合わせてください。 「sfc.dl_」 や 「sfc.ex_」 が見つかった場合はそれらのファイルを「C:\」へコピーしておいて、「スタート」「ファイル名を指定して実行」で下記コマンドを実行してください。 expand -r c:\sfc.dl_ C:\WINDOWS\system32 expand -r c:\sfc.ex_ C:\WINDOWS\system32

noname#109047
質問者

補足

わかりやすいご説明ありがとうございます! >正常な場合、エキスプローラで「sfc.*」で「C:\WINDOWS\system32」フォルダを検索すると上の4件が検出されます。 「sfc.*」で検索した所、sistem32のフォルダから「sfc.dll」と「sfc」が検出されました。 「C:\WINDOWS\system32」で検索した所、「SYSTEM32」2個と「system32」が検出されました。 これは正常って事?? >「sfc.dl_」 や 「sfc.ex_」 が見つかった場合はそれらのファイルを「C:\」へコピーしておいて、「スタート」「ファイル名を指定して実行」で下記コマンドを実行してください。 「sfc.dll」と「sfc」をsystem32のフォルダへコピーしました(この手順は合ってるでしょうか??) それから「ファイル名を指定して実行」で指定された二つのコマンドをどちらも試してみたのですが一瞬だけバックが黒い画面が出るのですが先に進めません。。。 検討がつくようでしたら再度アドバイス頂けると幸いです。すみません。。

  • Deep__Blue
  • ベストアンサー率48% (1590/3297)
回答No.9

>winlogon.exeのファイルが2個見つかりました。 >フォルダ名 1・C\WINDOWS\system32 >2・C\WINDOWS\ServicePackFiles >1じゃない方をコピーすれば良いと言う事ですよね? そうですね、「1のファイルを参照したが消失したか破損している」アラートですので。 パスはc:\windows\system32へコピーで結構です。 [winnt]はNT系の2000まででした。 2と同じフォルダで[sfcfiles.dll]が見つかったらこれもついでに[system32]へコピーしてみてください。 ファイルプロテクションでコピー出来ない場合、他の方法がありますので、補足を。

noname#109047
質問者

補足

コピーは出来て再起動するも変わらずでした・・・。 なぜなんでしょぅ?;;? ホント何回も申し訳ありません。。

  • Deep__Blue
  • ベストアンサー率48% (1590/3297)
回答No.8

うっかりSFCを指示してしまいました。 SFCのモジュール自体が無い、というアラートでしたね。 残された方法はリカバリですが、データの初期化を伴いますので最終手段。 アップデートモジュールやDLLキャッシュに両ファイルとも含まれている可能性があります。 検索してc:\winnt\system32「以外」のフォルダで見つかったら、それをc:\winnt\system32にコピーすることによって復旧できるかも。複数ファイルが見つかった場合はタイプスタンプを比較して最新版を。 スタートボタン→検索→ファイル→「winlogon.exe」「sfcfiles.dll」最悪こっちはなくてもSFCが利用できないだけなので、無視しても可。

noname#109047
質問者

補足

ありがとうございます! 「うっかり」に何も疑問を持っていなかった私です(苦笑) 検索作業は以前も試みたのですがそこから先に進めずでした。 winlogon.exeのファイルが2個見つかりました。 フォルダ名 1・C\WINDOWS\system32 2・C\WINDOWS\ServicePackFiles 1じゃない方をコピーすれば良いと言う事ですよね? で、コピーしようと思ったら今度はc:\winnt\system32とやらの居場所がわからず・・(ホントごめんなさい!) 同じ様に検索してみたのですが「利用できない場所を参照しています」になって出来ませんでした。 ご面倒掛けますが教えて頂けると幸いです

関連するQ&A