🤖

WindowsのWSL初期設定

2023/07/18に公開

開発でWindowsを使うことになり、WSLを初めて知りました
WSLとはWindows Subsystem for Linuxの略でWindows10から利用可能になったそうです
非常に簡単に説明すると、Windows上でLinux環境を構築できます

Linux 用 Windows サブシステムとは

WSL を使用して Windows に Linux をインストールする

上のページを見ないでてきとーにインストールしていたら、いろいろハマりました
インストール・アンインストールを繰り返した末にやったことのメモです

  1. ターミナルを管理者として起動
  2. WSL コマンドのインストール(失敗、WSLが起動していない?)
wsl --install

使用法: wsl.exe [Argument] [Options...] [CommandLine]
略
  1. WSL を起動(失敗、WSLがインストールされていない?)
wsl.exe
WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。詳細については https://aka.ms/wsl2kernel を参照してください
  1. カーネル コンポーネントの更新
    https://aka.ms/wsl2kernelからダウンロードして実行
  2. WSLを起動
wsl.exe
Linux 用 Windows サブシステムが Microsoft Store で入手可能になりました。
'wsl.exe --update' を実行するか、https://aka.ms/wslstorepage にアクセスしてアップグレードできます
Microsoft Store から WSL をインストールすると、最新の WSL 更新がより速く提供されます。
略
  1. WSLを更新
    Windows Storeからインストールした場合と同じ状態になる
wsl.exe --update
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム  はインストールされました。

更新すると以下コマンドの結果が変わります

wsl --version
WSL バージョン: 1.2.5.0
略
  1. WSL コマンドのインストール(Ubuntuがインストールされます)
wsl --install
インストール中: Ubuntu
Ubuntu がインストールされました。
Ubuntu を起動しています...
Installing, this may take a few minutes...
実行しようとした操作は、参照したオブジェクトの種類ではサポートされていません。
Error code: Wsl/Service/0x8007273d
実行しようとした操作は、参照したオブジェクトの種類ではサポートされていません。
Error code: Wsl/Service/0x8007273d
実行しようとした操作は、参照したオブジェクトの種類ではサポートされていません。
Error code: Wsl/Service/0x8007273d
実行しようとした操作は、参照したオブジェクトの種類ではサポートされていません。
Error code: Wsl/Service/0x8007273d
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:

Errorが気になりますが、default UNIX user accountのusernameを設定します
Windows usernameを一致させる必要はないらしいですが、同じusernameで作成します

できませんでした。。。

実行しようとした操作は、参照したオブジェクトの種類ではサポートされていません。
Error code: Wsl/Service/0x8007273d

もうひとつターミナルを管理者で開いて、下記コマンドを実行します

netsh winsock reset

ref. https://oji-cloud.net/2023/01/08/post-7324/
参考にさせてもらいました

もとのターミナルで、usernameを設定できるようになりました

Enter new UNIX username: username
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.15.90.1-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

This message is shown once a day. To disable it please create the
/home/user/.hushlogin file.

Ubuntu 22.04.2 LTSがインストールされました
設定したusernameはこのディストリビューション固有のLinux 管理者アカウントで
起動時に自動的にサインインされます

しかし、PCの再起動するたびに以下コマンドが必要なようです

netsh winsock reset

以上の設定で、ターミナル起動後
wsl.exeコマンドで既定のディストリビューションを起動できます

Discussion