新PCでのWSLのセットアップと旧PCからの環境移行
WSLのエクスポートからのインポートで簡単なんだけどデフォルトユーザーとか少し工夫が必要だったのでメモ。
WSLの有効化
参考: Windows 10 用 Windows Subsystem for Linux のインストール ガイド
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
GUIからも有効にできるようだけどコマンドで。
自作PCのためBIOSの設定が必要だったのでいったんBIOSに入ってSVMModeをEnableに。
再起動してWSLのインストールを完了。
そのあとカーネル更新プログラム(上記インストールガイドからダウンロードできる)を適用してからデフォルトのバージョンを2にする。
wsl --set-default-version 2
エクスポートとインポート
参考: 「WSL」ディストリビューションのインポート・エクスポートはこんなに簡単!
ThinkPad X1EのPowerShellでエクスポート。
wsl --export Ubuntu ./Ubuntu.tar
Ubuntu.tarは62GBあったので外付けHDDで自作PCに移し、PowerShellでインポート。
mkdir ~/AppData/Local/Ubuntu
wsl --import Ubuntu ~/AppData/Local/Ubuntu ./Ubuntu.tar --version 2
確認。
wsl -l -v
Ubuntuが入っていればOK。
デフォルトユーザーを変更
インポートしたUbuntuのデフォルトユーザーがrootになっているので、これを一般ユーザー(akahige)にする。
そのためにPowerShell上でubuntuコマンドを使いたいので、Windows StoreからUbuntuをゲットする。
ちなみにインポートしたUbuntuの環境がこれにより上書きされることはない。
コマンドが使えるようになったら以下を実行。
ubuntu config --default-user akahige
ターミナルソフトの設定
Hyperを使っているのでHyperを起ち上げたときにWSLがデフォルトになるように設定する。
左上のハンバーガーから「Edit」->「Preference」してメモ帳で開かれた設定ファイルを編集。
shell: 'C:\\Windows\\System32\\wsl.exe',
shellArgs: ['~'],
ターミナルソフトはWindows Terminalもまあまあいいが、日本語入力がインラインで行われる点でHyperの方が使いやすい。今のところ。
ともあれこれで旧PCと全く同じ環境が新PC側にできる。
このポータビリティはすごく素晴らしいぞ。