WSL2を任意のドライブにインストールする
0. WSL2導入準備
command lineベースで行うので、以下を参考に導入を進めてください。
https://learn.microsoft.com/ja-jp/windows/wsl/install-manual
0-1. 手順 1 - Linux 用 Windows サブシステムを有効にする
管理者権限で開いたPowerShellで以下を実行する。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
0-2. 手順 2 - WSL 2 の実行に関する要件を確認する
WSL 2 に更新するには、Windows 10 を実行している必要があります。
- x64 システムの場合: バージョン 1903 以降 (ビルド 18362.1049 以降)。
- ARM64 システムの場合: バージョン 2004 以降 (ビルド 19041 以降)。
- または Windows 11。
0-3. 手順 3: 仮想マシンの機能を有効にする
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
0-4. 手順 4 - Linux カーネル更新プログラム パッケージをダウンロードする
- 最新のパッケージをダウンロードします。
- これを起動してインストールします。
0-5. 手順 5 - WSL 2 を既定のバージョンとして設定する
wsl --set-default-version 2
MDSNの手順6は実行しません。
1. Ubuntu-22.04をインストールする
インストール可能なディストリビューションを確認します。
wsl --list --online
実行結果
> wsl --list --online インストールできる有効なディストリビューションの一覧を次に示します。 'wsl --install -d <Distro>' を使用してインストールします。 NAME FRIENDLY NAME Ubuntu Ubuntu Debian Debian GNU/Linux kali-linux Kali Linux Rolling Ubuntu-18.04 Ubuntu 18.04 LTS Ubuntu-20.04 Ubuntu 20.04 LTS Ubuntu-22.04 Ubuntu 22.04 LTS OracleLinux_7_9 Oracle Linux 7.9 OracleLinux_8_7 Oracle Linux 8.7 OracleLinux_9_1 Oracle Linux 9.1 openSUSE-Leap-15.5 openSUSE Leap 15.5 SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4 SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5 openSUSE-Tumbleweed openSUSE Tumbleweed
実際にインストールを行います。
wsl --install -d Ubuntu-22.04
実行結果
wsl --install -d Ubuntu-22.04 インストール中: Ubuntu 22.04 LTS Ubuntu 22.04 LTS はインストールされました。 Ubuntu 22.04 LTS を起動しています...
自動的に別ウィンドウでターミナルが立ち上がります。
USERNAMEとPASSWORDを作成します。
3. WSLをエクスポートする
powershellで実行します。このとき移行先に出力しておきます。今回はG Driveにしました。
wsl --export Ubuntu-22.04 G:\Ubuntu.tar
4. 作成したWSL2インスタンスを削除します
wsl --unregister Ubuntu-22.04
5. エクスポート先からWSL2をインポートする
wsl --import Ubuntu-22.04 G:\wsl G:\Ubuntu.tar
7. WSL起動時のデフォルトユーザー変更
このまま起動すると root userで入ってしまうので、これを対応します。
vi /etc/wsl.conf
で下記内容をファイルの末尾に直接書き込みました.
[boot] systemd=true [user] default=YOUR_USERNAME
一度ターミナルを閉じてください。この時何度かログインやログアウトターミナルを閉じたりをすることで、設定が反映されました。
改めてwslを開くとUSERNAMEでログインできていると思います。