LMHOSTSファイル
概要

LMHOSTSファイルはテキスト形式の設定ファイルで、ルータを越えた先の別のネットワークにあるコンピュータへアクセスするために使われる。通常、WindowsはNetBIOS名でコンピュータを探す際、同一ネットワーク内へのブロードキャスト(同報送信)によって相手を特定する。
しかし、ブロードキャストはルータを越えられないため、異なるネットワークにあるコンピュータは発見できない。LMHOSTSファイルにIPアドレスとNetBIOS名の対応をあらかじめ記述しておくことで、こうした環境でも名前解決が可能になる。
書式はUNIX系OSのhostsファイルとほぼ同様で、1行につき1項目を「IPアドレス(空白)NetBIOS名」の順で記載する。行頭に「#」を付けるとコメントとして扱われるが、この記法を応用して「#PRE」や「#DOM」といったNetBIOS固有のディレクティブを指定することもできる。「#PRE」は起動時にその項目をキャッシュに読み込む指定、「#DOM」は対象をドメインコントローラとして関連付ける指定である。
ファイルの保存場所はあらかじめ定められており、Windows NT以降ではシステムドライブ(%SystemRoot%、通常はCドライブ)の「¥system32¥drivers¥etc」ディレクトリに置く。初期状態ではサンプルファイル「LMHOSTS.SAM」が同ディレクトリに用意されており、実際に利用する際はこれを編集して拡張子なしの「LMHOSTS」というファイル名で保存すればよい。
歴史
「LM」はMS-DOS時代から使われてきたネットワークソフトの「LAN Manager」の略で、コンピュータに個別にネットワーク設定を行うのが一般的だった時代に用いられた仕組みである。Windows NT 4.0 Server以降はサーバ上でNetBIOS名とIPアドレスの対応関係を管理する「WINS」(Windows Internet Naming Service)が標準となり、必ずしもLMHOSTSファイルを作成・編集する必要はなくなった。
Windows 2000以降は「Active Directory」の普及により名前解決もインターネットと同じDNS(Domain Name System)を利用するようになり、Windowsのネットワーク機能もIP化が進んでNetBIOS自体の利用機会も減少していった。現在では新たに設定する場面はほとんどないが、NetBIOSに依存する古いシステムが残る環境では参照されることがある。