基本
コントロールパネル - プログラムと機能 - Windows の機能の有効化または無効化 から「Linux 用 Windows サブシステム」と「仮想マシンプラットフォーム」をチェック。
Qiita の記事によると
Windows ハイパーバイザー プラットフォーム
これは大変紛らわしい名前なのだが、Hyper-V アーキテクチャを利用するというだけなら、この機能を有効化する必要はない。
ということでよく見かけるバッチファイルを実行して「Hyper-V プラットフォーム」などを使えるようにする必要はないのかも?VirtualBox を使う気持ちがいまはないので放っておいても良さそうか?
興味があるツールが Ubuntu 20.04 までしかまだ対応してなさそうなので
wsl --install -d Ubuntu-20.04
で良いはず。Ubuntu と Ubunt-20.04 の違いは ストアにある3つの「Ubuntu」の違いは? ~WLSの「Ubuntu」をアップグレードする方法 によると latest かどうかということらしい。
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ???????????? ??????????????????????? https://aka.ms/wsl2kernel ?????????
が出た。WslRegisterDistribution failed with error: 0x800701bc によると新しい kernel component をインストールする必要があるらしい。https://aka.ms/wsl2kernel
というか 手順 4 - Linux カーネル更新プログラム パッケージをダウンロードする に行く。「x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ」をダウンロードしてインストール。これをインストールしてスタートメニューから「Ubuntu 20.04 on Windows」を起動したら先へ進めた。Ubuntu 20.04 も起動できた。
WSL コンソール上のコピペがつらいので Linux/WSLコンソールがショートカットキーによるコピペに対応 ~Windows 10 RS5 を参考にいじって、Ctrl+Shift+C/V でのコピペを有効化すると少し幸せになれそう。
参考: Installation of Hyper-V on windows 10 home
pushd "%~dp0" dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i" del hyper-v.txt Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL pause
DNS
[/etc/wsl.conf]
[network] generateResolvConf = false
[/etc/resolv.conf]
nameserver 8.8.8.8
但し、これだけだと毎回 /etc/resolv.conf
が削除されるので WSL2でresolv.confが消える問題の解決方法 のような対策が必要と思われる。
sudo chattr +i /etc/resolv.conf
【chattr】ファイルの属性を変更する によると、「削除不可能にする」という処理。
設定前は
$ lsattr /etc/resolv.conf --------------e----- /etc/resolv.conf
だったものが
$ lsattr /etc/resolv.conf ----i---------e----- /etc/resolv.conf
のように変化する。
ssh-agent
[~/.bashrc]
eval `ssh-agent` > /dev/null ssh-add /home/xxx/.ssh/id_rsa >& /dev/null
.ssh を Windows と共有
でいけそう。
[/etc/wsl.conf]
[automount] options = "metadata"
がないと permission が制御できないかも。WSL での詳細設定の構成 も参考に。
ログイン時メッセージ
Ubuntu の WSL2 イメージで
... This message is shown once a day. To disable it please create the /home/xxx/.hushlogin file.
と出るので、そういうファイルを作ることで抑制できる。
touch ~/.hushlogin
破損の恐怖と戦う
- WSL2が何もしていないのに(カーネルビルドしたら)壊れた みたいなことはいつかは起こると思っていて、
.wslconfig
を退避
が解決策になるかもしれないことを覚えておきたい。
仮想ディスクの肥大化
- WSL2 のディスクサイズを削減する などを参考にすれば良いはず。
管理
-アプリ
-インストールされているアプリ
から「Ubuntu 20.04 on Windows」などのサイズを確認すれば良い。