[7758]  Failed to access NBT driver 1
投稿者:くぼた さん   2000-07-23 05:54:08
こんにちは。先日は98掲示板でお世話になりました。
また今回どうしても解決できない問題に当たってしまいました。意見をいただけないでしょうか。

環境
PC9821V200SZC (windows95 OSR2) ← これが上手く動かない
PC9821Xa9/c (windows95a)

問題
「NetBIOS over TCP/IPが使用できない」

LANボード、ハブなどハードやIPアドレス設定などの問題はつぶしたつもりです。
V200,Xa9それぞれに「Microsoftネットワーク共有」「Microsoftネットワーククライアント」各サービス、
「TCP/IP -> (ネットワークアダプタ)」「NetBEUI -> (ネットワークアダプタ)」各プロトコルが入っています。(ダイアルアップアダプタ関連とネットワークアダプタ関連は省略)

NetBEUIプロトコルを外したいと思って実際に試したところ、ネットワークコンピュータに「ネットワーク全体」以外に何も出なくなって、やっと問題に気がつきました。

V200のコントロールパネル/ネットワーク「TCP/IP -> (ネットワークアダプタ)」プロパティ内のNetBIOSタブで、チェック(TCP/IP上でNetBIOSを使用可能にする)ができない状態です。また、nbtstatコマンドで「Failed to access NBT driver 1」が出ます。(-a や -r , -nなどあらゆるオプションで同じ結果になります。)

NetBIOS over TCP/IP以外の機能、つまりネットワークアダプタを通してのTCP/IPは問題なく動いているように見えます。IPアドレス設定(192.168.*.*)を整えることで、つながった先のproxyサーバーが使えていることを確認しました。

Xa9の方では「TCP/IP -> (ネットワークアダプタ)」のプロパティにNetBIOSのタブ自体がありません(OSR1とOSR2の違い?)が、nbtstatコマンドでエラーは出ません。また、NetBEUIを抜いた状態で単独起動させるとネットワークコンピュータの中に自分のコンピュータ名だけは出てくるので、NetBIOS over TCP/IPは動いているのだと思われます。

エラーメッセージからするとNetBIOS over TCP/IP用のドライバが何か足りないという雰囲気ですが、何回かプロトコルを入れ直しても変わりません。

NetBEUIやらNetBIOSやらの概念が最初よくわからなくて、図書館で本を借り、ネットでも延々と調べてきましたが、ようやくここまで問題を特定できました。勉強にはなりましたが、このような症状はどこにも出ていませんでした。

症状を気にせずNetBEUIを残して使っていれば一番手っ取り早いのですが、この問題が何なのかを後学のためにも知りたいと思ってます。よろしくお願いします。
(長くなってすみません)
  1. 毎黒仮節渡万 さん   2000-07-23 12:25:51
    IP指定で見えていてもコンピュータ名が出てこないのは、Win95とWin98以降の違いです。つまり、Win95側のMicrosoftネットワークがNetBEUIに依存しているためで、Win98以降(って、NT4は違ったからWin98/2000)ではお互いTCP/IPだけで見えます。

    NetBIOSというのは確か、NetBEUIを別のプロトコルのパケットに包んで送る方式だと思いました。当時最強のNetwarkOS、NetWareなLANでもMicrosoftネットワークを成立させるための。

    で、そのためか、Win95当時はNetBEUI・IPX/SPX・TCP/IPの三つを同時に稼働しないとNetBIOS over TCP/IPが使えませんでした。NetBEUIとIPX/SPXの同時稼働でNetBIOSが使えるようになり、TCP/IPはそれにリンクするだけですが。

    というわけで、Win95がNetBIOS over TCP/IPを使うには、三つのプロトコルの稼働が必要で、Win98はそうでもない。ということだったかと。

    ちなみにNetBEUIはたくさんのパケットを(定期的に)送るらしく、トラフィック軽減のためにもネットワーク管理者はWin98に移行させたがっているようです。
  2. よねよね さん   2000-07-23 16:08:23
    >くぼたさん
    どうも TCP/IPかその設定に問題があるように思います。
    次の手順で確認してみてはいかがでしょうか?

    1.「コンパネ」−「ネットワーク」の「TCP/IPプロトコル」を「削除」し、再度「追加」

    2.TCP/IPが正しく動いているかどうか調べるために、Xa9と V200それぞれで“a:>ping 相手のIPアドレス”と打ってみて、Replyが来るかどうか確認(まさか両方の IPアドレスが同じってことはないですよね?)

    >毎黒仮節渡万さん
    簡単に言ってしまうと、NetBIOSは APIで、他の NetBEUI、TCP/IP、IPX/SPXはそれぞれネットワークプロトコルであり、両者は別のレベルのものです。

    ちなみに、NetBIOSとは Windowsアプリがネットワークを超えて通信するための APIで、そのときに NetBEUIに乗せる方法を NBF、TCP/IPに乗せるのを NBT(NetBIOS over TCP/IP)、IPX/SPXなら...いかん忘れた (^^; と呼びます。

    手前味噌ですが、こちらなぞ...
    http://www02.so-net.ne.jp/~yonetani/Reading/network.htm
  3. くぼた さん   2000-07-24 00:16:22
    毎黒仮節渡万さん、よねよねさん、返信をありがとうございます。

    さらに色々と試したところ、表題のエラーを巡る状況が明らかになり、謎が解けました!(^^; 大変な時間と手間をかけてわかったことなので報告します。

    nbtstatでエラーが出る=NetBIOS over TCP/IP(以下、NBT)が動作していなかったのは、わたしがそういう設定にしたからだった…というアホらしい話です。引っかかった原因はwindows95 OSR1とOSR2の仕様の違いでした。

    前回にわたしが書いた
    >Xa9の方では「TCP/IP -> (ネットワークアダプタ)」のプロパティに
    >NetBIOSのタブ自体がありません(OSR1とOSR2の違い?)

    これがつまずきの元だったのです。

    :直接の原因と解決方法:
    V200(OSR2)において、「TCP/IP -> ダイアルアップアダプタ」プロパティのバインド設定タブで「Microsoftネットワーククライアント」「Microsoftネットワーク共有サービス」各サービスのチェックを外したが、「NetBIOS」設定タブで「TCP/IP上でNetBIOSを使用可能にする」チェックを付けていなかった。

    チェックを付けて再起動したら、NBTが使えるようになりました。(ネットワークコンピュータにコンピュータ名が出てくるようになり、nbtstatコマンドも正常に動く)

    :つまずきの背景:
    「TCP/IP -> ダイアルアップアダプタ」で例の2つのサービスを使うのは危険(何も考えずに作業を続けると、勝手にチェックが付いてしまう!)と気付き、バインドから外しました。

    Xa9(OSR1)ではこの設定変更だけですべて問題なくいきます。NBTは動きますし、LANボード側では2つのサービスが働いて、PPPでは止まっています。

    OSR2では「NetBIOS設定タブ」が新設されているため、不可解な状況に至りました。今でもOSR2のTCP/IP設定手順には欠陥があると思います。

    「TCP/IP -> ダイアルアップアダプタ」と「TCP/IP -> (LANアダプタ製品名)」で、『前者でNetBIOS使用不可|後者でNetBIOS使用可能』という設定は無効です。設定してもTCP/IPプロトコル全体でNBTが動作しないだけ…というのがwindows95OSR2の動作のようです。

    ネットワーク構成でアダプタごとに分けて表示した上でそれぞれにNetBIOS設定タブを付けるのは誤解の元ですね。他にも設定上不明確で危険なところが多々ありました。これは「LANではNBTよりNBFを使いなさい」というMSの親切心=手抜きなのだろうか。

    よねよねさんのページもwindowsのネットワークを勉強する上で参考になりました。LANも基本的なところがわかってくると楽しくなってきますね。(^^) これからも精進したいと思います。