LoginSignup
20
12

More than 1 year has passed since last update.

【備忘録】WSL2でのimport, exportとログイン設定

Posted at

はじめに

研究室のパソコン、ノートパソコン、自宅のパソコンはすべてWindoes10 + WSL2 + Windows terminalを使っていたのだが、設定(コンパイラ、プログラム, vimrcなど)の共有があまりにも面倒くさいのでなにかないかな、と探していたところ以下のサイトを発見。

WSL2はdockerコンテナみたいimport, exportが自在にできるようです。(嬉しい)
以下、備忘録として共有します。

環境

Windows 10 Home
WSL2 (Ubuntu20.04)
ターミナル: Windows terminal

export

研究室PCにて、Ubuntu20.04 (共有したいlinux) をlabuntu.tar (名前は任意) ファイルに出力。

Powershell
wsl --export Ubuntu-20.04 ./labuntu.tar

私の環境ではimport完了まで数分かかりました。ドキドキ。
(このコマンドだと何も進捗表示されません)

import

さきほどの.tar(数GBになった)を研究室PCからノートパソコンに持っていった。
以下ノートPCのpowershellにて

Powershell
mkdir ~/AppData/Local/labuntu
wsl --import labuntu ~/AppData/Local/labuntu ./labuntu.tar --version 2

こちらもexportと同様import時に数分待ちました。
wslコマンドを打つとき --version2を打ち忘れましたが wsl -l -vで確認したらちゃんとWSL2でimportされているみたいでした。
一応ここでimport自体は完了ですがこのままだと少々厄介なことが起きます。

厄介な仕様

ログインするとなぜか強制的にrootログインになってしまう謎事象。
https://tech-drive.net/pc/2018062701/
こちらの分かりやすい記事を参考させてもらい、powershellから設定変更をかける。

powershell
Function WSL-SetDefaultUser ($distro, $user) { Get-ItemProperty Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\*\ DistributionName | Where-Object -Property DistributionName -eq $distro | Set-ItemProperty -Name DefaultUid -Value ((wsl -d $distro -u $user -e id -u) | Out-String); };
WSL-SetDefaultUser labuntu kojihattori

一行目は有志の方がつくられた関数みたいですね。
・参考 https://github.com/Microsoft/WSL/issues/3974
二行目distro-name とusernameは適宜読み替えてください。

また、WSL2のホームディレクトリがデフォルトではwindows側のホームディレクトリになってしまうので、windows terminalのGUIから”デレクトリの開始”を設定変更。

以上でok。

<おまけ>
WSLのimport後に強制的にrootユーザになったとき、suで通常のユーザには戻れるが通常ユーザからsuでrootに戻れない。。パスワードなんだっけ。。?ということがあった。

結論から言うとWSLではrootユーザのパスワード初期設定がなく、絶対にsuがauthentication failureになるとのことでした。 (https://matsudamper.hatenablog.com/entry/2020/01/06/173939)

20
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
12