2015-12-20 罠を踏んだ……原因判明! 治った!
Windows 7(他のバージョンもそうかも?)使ってて、物理・論理的ネットワークは正常(pingが通る)なのに、Windows Explorerで、ファイル共有する時に見る、ネットワークの一覧表示が遅くなる事はありませんか?
これ、罠っぽい(笑)踏んだwww
pingが正常に通って、最終的にコンピュータの一覧が出終わるまで時間がかかる人は、もしかしたらこの罠にはまっているかも……!?
なお、これを治すと、100Mbps以上のネットワーク&パソコンの速さはそれなり&コンピュータ数が多い人(ざっくり見て3台以上表示される人?)は、1秒かからずにネットワークの表示が終わります。我が家ではF5を押したら表示が終わるようになりました。今までは数秒~数十秒待ってたのに!
◆ [日記][情報][Windows] ネットワークツリー、または、ファイル共有ネットワークコンピュータの一覧表示の、表示が遅くなる罠を踏んだ。ついでになおし方。
最初に書いておきます。
VMwareとかVirualBoxを入れている人が対象です(多分他でも同じ解決法は使えると思う)
逆に言うと、VMwareやVirtualBoxを入れている人は無自覚に罠を踏んでるかも知れません。
さて、VMwareやらVirtualBoxやら書いてるので、それなりにコンピュータの知識がある人を対象に書きます。意味が分からなかったら、ググって調べてみてください。
現象
まずは我が家のネットワーク環境を晒しましょう。暇な人は名前の元ネタを当てても良いです。
ウィンドウズ エクスプローラーでネットワークを開くと、こんな感じの画面になります。
名前や台数に関する突っ込みは置いといて、こんな感じにネットワークコンピューターがべろべろーんと表示されます。
最近NASとか最近家電量販店でも売ってるので、もしかしたら台数持ってる人も多いかもデスネ。
設定によっては左側の「ネットワーク」から下のツリーが表示されていないかも知れません。これはワシの趣味設定なので表示されてます。
で。
この画面(コンピュータの一覧が全部表示し終わって、Explorerが動いてない状態)になるまで、時間がかかる人でした。
実測で測ったら80秒ぐらいかかってました(遅すぎ)
80秒は無いにしても、台数多くないのに少しずつ表示される人とか居ないですかね? そういう症状が治ります。治せば0コンマ何秒の世界で一覧が表示されるようになります。
俺の80秒は何だったんだ(;゚д゚)ゴクリ…状態です。ホントにね。
原因(多分)
最初に原因を書いてしまいましょう。NetBIOS(というか、ネットワークコンピューター一覧表示に使ってるっぽいヤツ。SMB?)が、「Microsoft ネットワーク用クライアント」が有効な、IPの付いている全部のインタフェース……というか、ネットワークデバイス全部を探しに行ってるぽいです。
ネットワークインタフェース=LANポートとかWiFiなので、「俺、そんなの1つしか付いてないよ!」って人も、VMwareやVirtualBoxをインストールしてると増えてます。多分。
こんな感じに増えてます。VMwareやらVirutalBoxやらのが。
選択してある、VirtualBox Host-only Networkとか、VMware Network Adapterとかです。
Bluetooth ネットワーク接続は、IPが付いて無いので今回の話には関係しません。
この中の、適当なヤツのプロパティを開いて、「インターネット プロトコル バージョン4(TCP / IPv4)」とか言うのをプロパティを見ると、しっかり「次のIPアドレスを使う」にチェックが入っていて、何か知らないローカルIPアドレスが書かれてると思います。
この状態で、「Microsoft ネットワーク用クライアント」が有効になっていると……挙動的には、その(VMware Network Adapterやらの中の)ネットワークも探しに行くようです。なお、VMwareやらVirtualBoxが立ち上がって無くても探しに行くぽいです。つまり、そいつらの検索がタイムアウトするまでコンピューター一覧の表示が終わりません。というか、同時に探しに行っている個数が数個しか無いらしく(挙動から察するに3つ)それ以降(我が家だと4つめ以降)が表示されるのはタイムアウト後です。これが大体80秒ぐらい? なのかな?
これが、我が家でコンピュータの一覧が表示されるまでに異様に時間がかかる原因ぽかったです。
ちなみに、マスターブラウザー変えたり、lmhostsにマスターブラウザのIPだけ書いてみたり、パケットをトレースしてみたり、TCP/IPのメトリック値を弄ってみたり、ネットワークのインタフェースを無効にしてみたりした結果、「あれ? インタフェース(LANに繋がってるヤツ以外)全部無効にしたときだけ早いぞ?」という訳で、追加されてるインタフェースが怪しいと現象を絞り込んで……
インタフェースを有効にした状態で、無駄にTCP/IP (IPv4)のメトリック値をLAN最優先にしてみたりして色々試した結果……
解決方法
VMwareやVirtualBoxが追加した全部のアダプタに対して、アダプタのプロパティ画面で、「Microsoft ネットワーク用クライアント」のチェックを外す事で解決しました。
具体的には、次の画像の選択されてる所のチェックボックス
これだけです(画像ではすでに外れている状態になっています)。
全部やるので、私の場合は3回外しましたが、全部外してF5でリロードした瞬間、ネットワークコンピューターの一覧が一瞬で出てきたときは、マジでガッツポーズしました。連打しても早いぜヒャッハー!!!!!
この時の感動が、twitterに叫び声として残ってます(笑)
はい、解決法だけ見ると超簡単でしたね。何時間かけたんだろ俺……。
もしかしたら
実は私は、このチェックボックスがオンになっていることで、何がイケテル状態になってる(何のためにオンになっているのか)を知りません。
VMwareやらVirtualBoxが使ってるのは確かなのですが、オンで有る必要があるのかどうかは謎。
VMwareやらVirtualBoxを使ったときに、ネットワークとかファイル共有(ファイルアクセス?)が何かおかしい! おかしくなった! という可能性は否定できません。というか、幾つか構築してあるVMイメージで試して、そういう症状(エラー)に遭遇してないんだけど、何なのだろう……。情報あったら教えてください。ヘーボタンを押します(古いよ
何か変になった場合、やったことはチェックを外しただけなので、再度チェックすれば戻ると思います。
今度はVMで変なバグ踏ませたらゴメンよ!(主をESXiサーバーに移行したのでローカルのはあんまり使ってないいつきより)