WSL2の引っ越し

メインPCを新しくしたのですが、WSL2の環境を引っ越すのにちょっとはまりました。

旧PCで export して、新PCで import すればいいんですが、export はできました。

> wsl --export Ubuntu-22.04 Ubuntu-22.04.tar

この tar ball を新PCにコピーして import しようとしたのですが、

> wsl --import Ubuntu-22.04  C:\WSL2 .\Ubuntu-22.04.tar

Copyright (c) Microsoft Corporation. All rights reserved.

使用方法: wsl.exe [Argument]

引数:

    --install <Options>
        Linux 用 Windows サブシステムの機能をインストールします。オプションが指定されていない場合は、
        既定のディストリビューションと共に、推奨される機能がインストールされます。
  :

というぐあいに、usage が出力されるだけでした。しかも –import オプションはなし。

ヘルプに書いてある通りなんですが、なんか install って、新しいディストリビューションを入れるコマンドで、WSLの機能をインストールするものじゃないはず、というところでつまづいてしまって、しばらくフリーズしてしまいました。

何はともあれ、まず install しなきゃです。

ディストリビューションは tar ball から import するので、なしにして。

> wsl --install --no-distribution
インストール中: 仮想マシン プラットフォーム
仮想マシン プラットフォーム はインストールされました。
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。

再起動後 –import オプションもあるのを確認できたので、tar ball から import します。

> wsl --import Ubuntu-22.04 C:\Users\mtyst\WSL2\ .\Ubuntu-22.04.tar
インポート中です。この処理には数分かかることがあります。
この操作を正しく終了しました。
> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-22.04    Stopped         2

スタートメニューからペンギンアイコンのWSLを起動します。

root でログインしてしまっているので、デフォルトユーザを自分のアカウントに変更するため、/etc/wsl.conf を編集します。

# cat /etc/wsl.conf
[network]
hostname = inspiron3020s
[user]
default=mtystg

hostname はなくてもいいのですが、Windows のホスト名を大文字交じりにしちゃっていたので、気持ち悪かったので全部小文字のホスト名に変更しました。

んで、shutdown。

> wsl --shutdown

再度、WSLを起動し、bash に入ると指定したデフォルトユーザになっていました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です