かきスタンプ

福岡でフリーランスの物流系のエンジニアやってます。

Bash on Windows 10:sudo 実行時「名前解決できません」の対処

Windows 10のbashにて、sudoを実行すると「(コンピュータ名)の名前解決ができません」というメッセージと共にパスワード入力を要求されるようになった。
あれ?今まで要求されてたっけ?と思いつつ、正しいパスワードを入力してもエラー。

調べると、
/etc/hosts を編集する事で解決できるとの事だが、編集にはsudoが必要。

えええ!ここでもsudo要求されたら解決できねーじゃん!
という現象が起こったんで、以下の方法で強引に解決してみた。

  1. Windows側にて、%userprofile%\AppData\Local\lxss\rootfs\etc\hosts を開く
  2. localhostという記述の後ろに、「,127.0.1.1 (コンピュータ名)」を追加

(注意点)
hostsファイル編集後はUTF-8で保存。SJISで保存なんかしちゃうと、エラーが起こってbashが起動しなくなる。使うのはメモ帳でいいです。
WindowsLinuxでは改行コードが異なるので、変に改行を入れない方がいい

ちなみに、%userprofile% は、コマンドプロンプトにて「cd %userprofile%」でも移動できるし、エクスプローラにて入力してもOKです。


何にせよ、rootパスワードがわからないままだと具合が悪いので、再インストールする事にした。以下、コマンドプロンプトにて実行。

 

アンインストール

lxrun /uninstall

インストール

lxrun /install

 

再インストール後も「(コンピュータ名)の名前解決ができません」というメッセージは出るものの、パスワードは要求されず。むぅ。何が原因で上記のようになったんだろう。