WSLのファイルを移動するお話

ということで気がついたら2023年も終わりそうなこの時期。
なんとなく職場のPCを眺めて、ディスク容量を確認したりしますよね。

私のPCはSSDが2台ついていまして、OS用のドライブと仕事用データ等々を入れるドライブの2台体制なんですが、なんとなく眺めてみたらOS用のディスクがかなり容量ギリギリ。
なんだろうと思って調べてみたら、WSL用のファイルが容量を圧迫していました。
まだ仕事用のデータを入れるディスクには空きがあるのでそこに移動しました。

移動方法

コピペで行けるのかと思ったらそれではだめらしいですね。
一旦エクスポートして、WSLから削除した後にインポート。そういう流れでいけるようです。

とりあえず打ったコマンドは。

今回はAlmaLinux9で試しております。
まずはエクスポートして、tarファイルを作成。

wsl --export AlmaLinux9 AlmaLinux9.tar

エクスポートが完了したら、WSLから登録を解除します。

wsl --unregister AlmaLinux9

最後にエクスポートしたファイルをインポート。
今回はインポート先を"D:\wsl\AlmaLinux9"にしています。

wsl --import AlmaLinux9 D:\wsl\AlmaLinux9\ D:\wsl\AlmaLinux9.tar

これでwsl -lを叩いて、AlmaLinuxが出てくればオッケー。
まあ手順は簡単ですが、最初に作成されるディレクトリが変更できないのもあるので、今後も別ドライブに持っていきたい場合にはこの作業が必要っぽいですね。

ログインユーザがrootになってしまう問題。

これで移動したLinuxを起動したら自動でログインユーザがrootになってしまいます。
なんでなのかまで突き止めてませんが、とりあえずログインユーザを変更するには、変更したいLinuxに以下のファイルを作成するといけます。

/etc/wsl.conf

[user]
default=user-name

これで指定したuser-nameでログインできました。なんでそうなるのかはおいおい調べます。