タグ「解決」が付けられているもの

最近になって、セットアップしたばかりのWindows7のWindows Updateを行うと8007000Eというエラーが出て、何度「再実行」のボタンを押してもアップデートできないことがありましたが解決できたので対処方法の一つとしてメモ。

KB3138612で解決

とりあえず、2016年3月時点で最新のWindows Update Clientの更新ファイルKB3138612をインストールしたら正常にアップデートできるようになりました。しかも更新ファイルの確認が速くなります。

ここ↓から各OS別のダウンロードページが開けます。

直リンク(ファイルダウンロード)

Windows 7 x86 用更新プログラム (KB3138612)

Windows 7 for x64-Based Systems 用更新プログラム (KB3138612)

インストールが失敗するとき

ただ、ダウンロードするときにブラウザに表示される「ファイルを開く」を押したり、「保存」から「ファイルの実行」を押すと、インストーラー画面が起動するのですが、「更新ファイルを探しています」の画面がずっと出たままになり、インストールができない場合がありました。

そのときは、一旦キャンセルしてダウンロードフォルダを開き、「Windows6.1-KB3138612-x86.msu」(Windows7 32bitの場合)をダブルクリックして実行するとすんなりインストールできました。それでも何度かインストールできないことがありましたが、再起動を数回行うとインストールできました。

バッチファイルでインストールする方法(2016/06/09追記)

以下のバッチファイルを実行するとダウンロードからインストールまで行えます。

md c:\InstallKB
bitsadmin.exe /transfer htmlget https://download.microsoft.com/download/E/4/7/E47FB37E-7443-4047-91F7-16DDDCF2955C/Windows6.1-KB3138612-x86.msu c:\InstallKB\Windows6.1-KB3138612-x86.msu
wusa.exe c:\InstallKB\Windows6.1-KB3138612-x86.msu /extract:c:\InstallKB /quiet /norestart
pkgmgr.exe /n:c:\InstallKB\Windows6.1-KB3138612-x86.xml /quiet
rd /s /q c:\InstallKB

Windows Updateトラブルシューティングツールでは解決できず

ちなみに、ヘルプや上記で出てくるWindows Updateトラブルシューティングツールも試しましたが、解決できませんでした。

原因はメモリ不足?

エラーコード8007000Eが出るのはメモリ不足というのが原因みたいですが、実際に積んでいるメモリは4GBのPCでした。

これで足りなければいくらいるの?しかも、32bitのOSでは3GBちょっと(仕様によってはMAX4GB)までしか使えないし…と、この説明には疑問を感じましたが解決できたのでよし。

追記

2016/8/27に調べた時点での最新は以下

会社のパソコンも自宅のパソコンもネットワークが定期的に切断されます。ひどいときは起動した時点で既にアイコンにビックリマークが付いていてインターネットができないことも...。

ネットワークアイコン

OSWindows7Windows8.1

ネットワークカードのドライバを更新したり、IPv6OFFにしてみたり、ネットワークカードの詳細設定を変更してみたりといろいろしてみましたが全く解決に至りませんでした。

以下のことを試して定期的に切断される問題は解決できませんでしたが、結果的にネットが高速化されブラウザの表示スピードが速くなったので、とりあえずやってみたことをメモ。

初期化関連

とりあえず、コマンドプロンプトでいろいろ初期化してみる

ネットワーク・インターフェイスの初期化(リセット)

netsh interface ip reset c:\reset.log

Windows Socketの初期化

netsh winsock reset

TCPパラメータの初期化

netsh interface tcp reset

SNPを無効化する設定

まずSNPの各機能の設定を確認

netsh int tcp show global
netsh int tcp show global

Receive-Side Scaling(RSS)の無効化

netsh int tcp set global rss=disabled

通信に極端な障害が発生していない場合や、効果を感じられない場合は、enabledでも良いかもしれません。

TCP Chimney オフロード の無効化

netsh int tcp set global chimney=disabled

NetDMA(Network Direct Memory Access)の無効化

netsh int tcp set global netdma=disabled

※Windows8/8.1は未サポートで設定不要。

受信ウィンドウ自動チューニングレベルも無効化

netsh interface tcp set global autotuninglevel=disabled
または
netsh interface tcp set global autotuninglevel=highlyrestricted

highlyrestrictedのほうが速い気がする。

disabled
自動最適化を無効
highlyrestricted
既定値より受信ウィンドウを保守的に少し拡大
restricted
既定値より受信ウィンドウを制限的に拡大
normal
既定値に戻す
experimental
restrictedの制限対応

アドオン混雑制御プロバイダに設定

netsh interface tcp set global congestionprovider=ctcp
ctcp
有効
none
無効

ネットワークアダプタの電源の設定

電力の節約のために、コンピューターでこのデバイスの電源をオフにできるようにする」のチェックは外します。「デバイスマネージャ」-「ネットワークアダプタ」にあるネットワークカードのプロパティの「電源の管理」というタブで設定できます。

電力の節約のために、コンピューターでこのデバイスの電源をオフにできるようにする

 

参考

レンタルサーバー「ヘテムル(heteml)」でMovabletypeを使用しています。最近、記事を投稿したくらいで、スクリプトを組んだわけでもないのに、アクセスするとやたらと503エラーを吐き出すようになりました。

503エラー

アクセスが集中すると503エラーになるみたいですが、月間1万PV(1日あたり333PV、1時間あたり13PV)程度しかないので、自分サイトにアクセスが集中しているというのは考えられない。ということで、共用している別のお客さんでめっちゃアクセスが多いサイトがあるのかな?改ざんされてる?それとも障害かな?もしかして品質がもともとよくない?なんて勝手に思っていました。(笑)

ヘテムル(heteml)品質や使い勝手に満足しています。

いつものことですが、問題が起こったとき、疑っている原因とは別のところに問題があったり、自分のしたことに問題があったりするので、何とか自分で解決してみようと考えるのですが、まったく糸口が見当たらない...。

このまま放置してアクセス数が落ちるのも嫌なので、ヘテムル(heteml)のお問い合わせフォームより「最近503エラーが出まくり困ってます」というような内容でサポートに問い合わせをしてみました。

すると「このページでアクセスが集中しています」みたいな回答が返ってきました。しかも丁寧に該当するページのURLも記されていました。

以前、別のレンタルサーバーで運営されているサイトが改ざんされていたことがあったので、改ざんも疑いましたが、該当のページはMovabletypeで書き出されたページで、cronで毎日再構築しているので、ソースを見ても改ざんされた様子は見当りませんでした。

でもよく見て他の問題に気づきました。

URLだけでサイトのサムネイルを表示するAPIここにちょっとまとめてます)を使っているのですが、同じサイト内の2つの記事でお互いがお互いのサイトサムネイルを表示していて、合わせ鏡のようにサムネイルの中で更にサムネイルを取得するという無限ループが発生していました。

そのサムネイルの表示部分を削除したら503エラーが出なくなりました。

ヘテムル(heteml)さん疑ってごめんなさい。

Windows7からWindows8にアップグレードしてからというもの、起動時にLANの認識よりも先にネットワークドライブの再接続をしているみたいで、いつも『ネットワークドライブの接続に失敗しました』とバルーンメッセージが表示されます。当然、起動直後はネットワークドライブが切断されたままの状態になっています。

iTunesで使用する音楽や、Lightroomで使う写真はすべてNASに入れており、一度マイコンピュータからネットワークドライブを開いてからアプリケーションを起動しないと、フォルダが見当たらないということで、フォルダ設定がデフォルトに戻ってしまいます。毎度設定を戻すのが面倒です。

できれば、LANの認識が終わってからネットワークドライブの再接続をして欲しいのですが、その方法が今のところ見当たりません。しかし、応急的な対応ですがネットワークドライブにあらかじめアクセスするWSH(Windows Script Host)というスクリプトファイルをタスクスケジュールやスタートアップで起動時に実行することで解消できるようです。

方法

以下の内容をテキストエディタで『netDrvCon.vbs』など拡張子を『.vbs』にして保存します。

WSH(Windows Script Host)

On Error Resume Next

'10秒遅延させる
WScript.sleep 10000

'ネットワークオブジェクトの作成
Set objNetwork = CreateObject("WScript.Network")

'接続するネットワークドライブ
'objNetWork.MapNetworkDrive "[ドライブレター]:", "[共有フォルダのパス]"
objNetWork.MapNetworkDrive "W:", "\\NAS\Video"
objNetWork.MapNetworkDrive "X:", "\\NAS\Music"
objNetWork.MapNetworkDrive "Y:", "\\NAS\Photo"

このファイルを起動後にダブルクリックして切断されていたネットワークドライブが接続状態になっていることを確認できたら、あとはタスクスケジュールやスタートアップに登録するだけでOK。

今回は10秒くらいの待ち時間にしましたが、環境によってはもう少し短い待ち時間にしてもうまくいくかもしれません。ちなみにスタートアップフォルダは以下の場所です。AppDataは隠しフォルダで、フォルダオプションで隠しフォルダを表示できるように設定してからでないと見えないので注意してください。

スタートアップフォルダの場所

C:\ユーザー\[ユーザー名]\AppData\Roaming\Microsoft\Windows\スタート メニュー\プログラム\スタートアップ

しかし、こんな小細工して使わなければならないOSがちょっと残念。起動時のLANの認識が遅いのを早くする方法や、ネットワークドライブの接続を遅らせる方法もあれば探してみたいと思います。

その他

上記のWSH(Windows Script Host)を使った方法以外に管理コンソールを使用する方法もあるようです。

NET USEコマンドを使った方法

以前もWindows Vistaがインストールしてある会社のパソコンがcrcdisk.sysのところから起動しなくなるトラブルがあり、解決したものの今回も同じような事態が発生しました。

  • 起動中に画面が真っ暗になったまま起動しない。
  • 起動してもフリーズする。
  • マウスは動くけど操作ができない。
  • セーフモードで起動させようとするとcrcdisk.sysで止まる。

前回(その1)は、IRQの競合が原因っぽいということで、IEEE1394関連のドライバーの読み込みを無効にするために、関係するドライバーのファイル名を変更して回避しました。それなのに、また同じ症状。

 

「もうクリーンインストールしかない…。」

 

と覚悟はしたものの、他にも対策方法がないかな?と一応は検索。

 

ありました。

 

VistaのインストールDVDでOSのスタートアップを修復する方法。

基本的にインストールDVDで直るわけがないと思っていましたが、直りました。

 

方法

  1. Windows VistaのDVDでブートする。
  2. 「Windows Setup」を選択してEnter
  3. 次へ」をクリック
  4. 左下の「コンピュータを修復する」をクリック
  5. スタートアップ修復」をクリック
  6. 修復したいOS(Vista)を選択して「次へ」をクリック
  7. 修復が始まるので終わるまで待つ(私の場合5~10分程度でした。)
  8. 修復完了後、再起動すると無事に起動した!

 

IEEE1394関連のドライバーを読み込ませないようにして解決した方法は以下を参照ください。

 

スタートアップ修復に関するマイクロソフトのサポートページです。

SSDWindows Vistaをインストールしてある職場のパソコンが、ある日の突然に電源を投入しても起動しなくなり、何度も起動を繰り返しましたが、以下のような事が起こりました。

  • 起動する際のスライドバーが表示されるものの、途中で画面が真っ黒のまま止まる。
  • 電源ボタンを押した直後から画面が真っ黒で動かなくなる。
  • 何度かに一度は起動したが操作中にフリーズする。

 

原因

セーフモードで起動も何度か試しましたが、必ず「crcdisk.sys」で止まってしまうので検索して調べたところ、結構有名なトラブルのようで、crcdisk.sysが原因ではなく、この次に読み込まれるはずのIEEE1394関係のドライバーによるIRQのバッティングが問題の原因のようです。

セーフモード選択画面

セーフモード起動中にここで止まる

 

解決方法

以下のファイルを名前を変更して、起動時の読み込みを無効化することができますが、パソコンが起動しているとファイル名の変更ができないため、Windows PEなど、CDやDVDでブートできるOSでパソコンを起動させてファイル名をリネームします。

  • \windows\system32\drivers\1394bus.sys
  • \windows\system32\drivers\ohci1394.sys
  • \windows\system32\driverstore\filerepository\1394.inf_****
    (複数あるので全部変更)

 

私の場合、「_1394bus.sys」とファイル名の前にアンダーバーを入れて名前を変更しました。

※Windows PEのCD/DVDの作り方は以下参照

 

上記の方法を行った後に再起動したところ、正常に起動するようになり、今のところ不具合は起きていません。ただ、他のXPでは起きていない問題がVistaで起きることに不満を感じました。いっそのことWindows8に移行したいです…。

 

補足

私の場合、上記だけで解決できましたので行なっていませんが、いろいろなサイトを見ると以下のファイルもリネームした方がいいそうです。

  • \windows\system32\drivers\pcmcia.sys
  • \windows\system32\drivers\1394bus.sys
  • \windows\system32\drivers\ohci1394.sys
  • \windows\system32\driverstore\filerepository\pcmcia.inf_*
  • \windows\system32\driverstore\filerepository\1394.inf_*
  • \windows\system32\driverstore\filerepository\sdbus.inf_*
  • \windows\inf\sdbus.inf
  • \windows\inf\sdbus.PNF

 

2013/02/14追記

上記の方法で解決できたはずなのに、同じ症状が発生。その解決方法(その2)はこちら↓