將wsl子系統(tǒng)發(fā)行版(docker-desktop-data)遷移到E盤
(1)查看wsl子系統(tǒng)發(fā)行版
wsl -l -v

image-20211118222437388.png
(2)關(guān)閉docker-desktop
在任務(wù)通知欄那里退出就可以了
(3)關(guān)閉所有wsl子系統(tǒng)發(fā)行版
wsl --shutdown
(4)將子系統(tǒng)導(dǎo)出到自己想要的地方E:\Development\Docker\docker-desktop-data.tar
wsl --export docker-desktop-data E:\DevelopTools\Docker\docker-desktop-data.tar

image-20211118222922669.png
(5)注銷docker-desktop-data子系統(tǒng)發(fā)行版。
wsl --unregister docker-desktop-data

image-20211118222850364.png
(6)重新導(dǎo)入docker-desktop-data(注意:要先寫目錄,然后再寫文件名)
wsl --import docker-desktop-data E:\DevelopTools\Docker\ E:\DevelopTools\Docker\docker-desktop-data.tar --version 2

image-20211118223503217.png
(7)遷移完成,重新打開docker
成功將C盤下的數(shù)據(jù)文件轉(zhuǎn)移到D盤。重新打開后,正常工作。C盤Docker文件也從之前的幾個G編程幾百M。

image-20211118223557597.png

image-20211118223728602.png
將ubuntu wsl子系統(tǒng)發(fā)行版遷移到E盤
感覺步驟與上述差不多。嘗試一下
(1)關(guān)閉所有的wsl子系統(tǒng)
wsl --shutdown

image-20211118224446284.png
(2)導(dǎo)出子系統(tǒng)到想要的地方
wsl --export Ubuntu E:\DevelopTools\ubuntu_wsl\Ubuntu.tar

image-20211118224639323.png
(3) 注銷Ubuntu
wsl --unregister Ubuntu

image-20211118224846704.png
(4)重新導(dǎo)入Ubuntu (注意要先寫目錄,再寫目錄下的文件)
wsl --import Ubuntu E:\DevelopTools\ubuntu_wsl\ E:\DevelopTools\ubuntu_wsl\Ubuntu.tar --version 2

image-20211118225133390.png
(5)將Ubuntu設(shè)置為默認(rèn)子系統(tǒng)

image-20211118225344595.png
(6)成功將Ubuntu移到E盤,解放C盤

image-20211118225416042.png
(7)有個問題,在沒有遷移之前對wsl ubuntu設(shè)置的內(nèi)容全部沒了。 有什么辦法將之前的設(shè)置給弄回來呢?網(wǎng)上查找一番,發(fā)現(xiàn)是用戶的問題。wsl import之后的子系統(tǒng),會默認(rèn)root用戶登錄。但是我之前的用戶是win。所以只要用戶切換到win用戶就可以了。
su win #這里切換稱自己的用戶名 如果不記得的可以在/etc/passwd進(jìn)行查看

image-20211118231901709.png
(8)還有一個小問題,如果重新打開wsl ubuntu,默認(rèn)還是root用戶。如何調(diào)整為默認(rèn)普通用戶呢?修改注冊表
- 首先在注冊表那
ctrl + F查找Lxss - 找到
BasePath數(shù)據(jù)為遷移后目錄的那個文件夾我這里是{2ba16d93-...} - 將
DefaultUid的數(shù)據(jù)修改為ubuntu中普通用戶對應(yīng)的數(shù)字 - 然后就完美解決了,變?yōu)槭煜さ慕缑?/li>

image-20211118232614075.png

image-20211118232907787.png

image-20211118232949826.png
結(jié)果
解放了C盤,將4G多的空間移到其他硬盤。