Windows 7 64bit版でhostsファイルを編集する

先日、自宅の『HP EliteBook 8460w Mobile Workstation』にインストールしていた総合ウイルスセキュリティーソフト『ESET Smart Security V4.2』のライセンスが切れたのでこの期に最新版『ESET Smart Security V5.0』に入れ替えようとV4.2をアンインストールしたところ、アンインストーラに不具合があったらしくデバイスマネージャにいくつもの×印が発生する事態に…。あわててドライバを入れなおしてみたのですがBluetoothなどの一部デバイスがどうやっても正しく認識されなかったことからドライバ以外にも重要なファイルが削除されてしまってる可能性が高いと判断し、OSの再インストールを実施しました。

そんな中、環境を再構築していく過程で64bit版のWindows 7におけるhostsファイルの在り処で少し戸惑ったのでメモ。


64bit版のWindows 7を導入している8460wの購入直後、ネット上の情報を参考に管理者権限で開いたメモ帳から「C:\windows\sysnative\drivers\etc\hosts」を開いて修正という手順でhostsファイルを操作したのですが、今回同じことをやろうとすると「sysnative」フォルダが見つかないと怒られてhostsファイルに辿り付けません。おかしいぞ…と思いよく調べてみると、そもそもsysnativeは32bitアプリケーションからしかアクセスできない仮想ディレクトリであること、そしてもともと32bitアプリケーションだったメモ帳がSP1で64bitアプリケーションに変わった、との情報を入手。つまり、メモ帳を使ってhostsを開こうとする場合サービスパックを適用する前か後かでアクセスする先が変わるらしい。

[32bitのエディタからアクセスする場合]
C:\windows\sysnative\drivers\etc\hosts

[64bitのエディタからアクセスする場合]
C:\windows\system32\drivers\etc\hosts

たしかに購入直後にhostsを弄った際はSP1適用前だったけど、今回はSP1を先に適用したからなぁ…。

旧来の32bitアプリケーションを64bit版OS上で実行するためのエミュレーション技術「WOW64」があるが故のこうした仕様のようですが、個人的には最初から32bitアプリなんて無視して完全64bit化してくれて良かったのに…と思います。

    この記事へのコメント

    メールアドレスが公開されることはありません。

    CAPTCHA


    頂戴したコメントは管理者に承認されるまで表示されません。