WSL2でUbuntu-20.04のストレージをDドライブ等に移動する
https://scrapbox.io/files/64c8c7a64b7a33001b29a275.png
ストレージを変えたときの一連の流れメモ。
Cドライブだと容量足りないんよね。
※かなり端折って書いてます。困ったら後述する参考文献もご覧くだされ。
※>や#の後を実行。PowerShellで実行するのか、Ubuntu上で実行するのか異なるので間違えないよう。
何かしらのエラーが出る場合は、まずアップデートしとくと良さげ
code:Windows PowerShell
wsl --update
まず現在インストールされているUbuntuを確認
code:Windows PowerShell
wsl -l -v
NAME STATE VERSION
* Ubuntu-20.04 Running 2
※STATEがRunningであれば止めておくと良さげ
Ubuntu(WSL)を止める
code:Windows PowerShell
wsl --shutdown
wsl -l -v
NAME STATE VERSION
* Ubuntu-20.04 Stopped 2
Dドライブ直下にwslファイルを起き、wslの中に入る(移行先の場所)
code:Windows PowerShell
cd D:\
mkdir wsl
cd .\wsl\
※他のドライブや場所がよければ、それに置き換える
引っ越したいディストリビューションを指定して移動(ストレージのエクスポート)
code:Windows PowerShell
wsl --export Ubuntu-20.04 ubuntu.tar
エクスポートが進行中です。これには数分かかる場合があります。
この操作を正しく終了しました。
現在のディストリビューションの登録解除(ストレージを削除)
code:Windows PowerShell
wsl --unregister Ubuntu-20.04
登録解除。
この操作を正しく終了しました。
念のためディストリビューションがあるか確認
code:Windows PowerShell
wsl -l -v
Linux 用 Windows サブシステムにディストリビューションがインストールされていません。
↑こう出てればおk
ストレージを任意の場所にインポート(D:\wsl\)
code:Windows PowerShell
wsl --import Ubuntu-20.04 D:\wsl\ ubuntu.tar
インポート中です。この処理には数分かかることがあります。
この操作を正しく終了しました。
環境(ディストリビューション)がUbuntuだけじゃない場合は「D:\wsl\Ubuntu」に作成してもよいかも(混乱防止に)
こんな感じにストレージ(ext4.vhdx)が作成される
https://scrapbox.io/files/64c8bd082c80a7001b972a87.png
※ただデフォルトユーザーがrootに変更されるので、必要であれば以下も実行しておく(推奨)
管理者(root)のパスワードを変更しておく(必要であれば)
code:Windows PowerShell
wsl
でWSL2を起動し、
code:Ubuntu 20.04.6LTS
# sudo passwd root
New password: 任意のパスワード
Retype new password: 任意のパスワード(再確認)
で変更できる。
passwd: password updated successfully と表示されれば成功
ユーザーの作成(必要であれば)
code:Ubuntu 20.04.6LTS
# useradd -m ユーザー名
引数に -m を指定すると、Homeディレクトリを作ってくれる
PowerShellに戻る(Ubuntuから離れる)
code:Ubuntu 20.04.6LTS
# exit
logout と表示されればPowerShellに戻っている
デフォルトユーザーの変更(必要であれば)
code:Windows PowerShell
ubuntu2004 config --default-user ユーザー名
「ユーザー名」のところは各々置き換える
これでWSLを起動してもrootではなく指定したユーザーでログインされる。
参考文献(困ったらこちらも合わせてご覧くだされ)