wsl備份與還原
WSL備份與還原

首先系統必須是 Win10 1903 之后的版本才能用這些命令。之前的不可以,請使用 LxRunOffline 工具備份還原。
通過按 Win +R,輸入 cmd 回車打開命令行窗口輸入 wsl \-l ,可以看到系統里裝了一個 WSL 是 Ubuntu-20.04。
> wsl -l Windows Subsystem for Linux Distributions: Ubuntu-20.04 (Default)
1
2
3
輸入 wsl \--version 可以看到版本信息和命令行參數說明:
> wsl --version 用法: wsl.exe [參數] [選項...] [CommandLine] 用于運行 Linux 二進制文件的參數: 如果未提供任何命令行,wsl.exe 將啟動默認 shell。 --exec, -e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
wsl \-l 列出了系統中安裝的子系統的名稱,可以是一個或多個,本文中的子系統名稱是 Ubuntu-20.04,接下來針對這個默認子系統進行操作:
運行子系統
> wsl --distribution Ubuntu-20.04 #或者 > wsl -d Ubuntu-20.04
1
2
3
查看運行中的子系統
> wsl -l --running Windows Subsystem for Linux Distributions: Ubuntu-20.04 (Default)
1
2
3
停止子系統
> wsl -t Ubuntu-20.04 # 或者 > wsl --terminate Ubuntu-20.04
1
2
3
備份子系統
一定要先停止子系統之后再備份,備份一定要保證硬盤空間充足,我的 WSL 裝了點 C++ 開發環境的軟件已經達到了 1.6GB,備份期間需要耐心等待,比如將系統被分到 D 盤:
> wsl --export Ubuntu-20.04 D:\Ubuntu-20.04.tar
1
備份成功后,子系統會被打包成命令中指定的tar文件。
刪除子系統
刪除子系統后,選中的 WSL 就會從 Windows 中干凈的刪除了。
> wsl --unregister Ubuntu-20.04
1
還原子系統
刪除了沒關系,剛才做了備份,可以直接使用命令還原:
> wsl --import Ubuntu-20.04 D:\WSL D:\Ubuntu-20.04.tar
1
這里注意指定還原的路徑。成功后,子系統又回來了,可以用 wsl \-l 確認一下。
注意:還原后的子系統進入后,默認成了 root 用戶,查了一下,解決方法如下:
如果在商店安裝過 Ubuntu 直接找到如下目錄:
1
C:\C:\Users\用戶名\AppData\Local\Microsoft\WindowsApps\ubuntu版本.exe config --default-user root
1
執行指令修改為指定用戶:
ubuntu.exe config --default-user crazyang #名稱根據實際修改
1
如果電腦上之前沒有安裝過 WSL,是通過還原來的,可以下載 Windows Terminal 工具,然后進入設置中,指定啟動的命令行 -u xxx即可,但是這種方式如果換成其他連接 WSL 的工具還是默認 root 用戶。
如果還是想要通過 ubuntu.exe config --default-user xxx 這種方式設置默認用戶,目前最可靠的方法是下載離線的 Ubuntu WSL 安裝包,安裝包中就有 ubuntu2004.exe,然后通過這個ubuntu2004.exe 執行 config --default-user xxx 命令,就可以一直默認為設置的用戶了,下載鏈接:https://docs.microsoft.com/en-us/windows/wsl/install-manual
配置 Windows Terminal
在安裝好 WSL 后,最優先的就是下載 Windows Terminal 終端,這個終端的強大之處就不再贅述,但是對于使用 WSL 來說,還需要一些設置才可以更舒適的使用。
修改WSL默認打開的路徑
打開 Windows Terminal 的設置頁面,找到左下方的打開 JSON 文件并使用編輯器打開 setting.json,如果你安裝的是 Ubuntu-20.04 ,那么就搜索 Ubuntu-20.04,然后定位到后,添加一行:"startingDirectory": "http://wsl$/Ubuntu-20.04/home/crazyang",這樣我們再進入 Ubuntu 時,就顯示的是 ~ 目錄下了。
如下:
{ "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}", "name": "Ubuntu-20.04", "source": "Windows.Terminal.Wsl", "startingDirectory": "http://wsl$/Ubuntu-20.04/home/crazyang" }
1
2
3
4
5
6
官方文檔:https://docs.microsoft.com/en-us/windows/terminal/customize-settings/profile-settings
修改 Ctrl+C 和 Ctrl + V
在 Windows 下,Ctrl + C 默認是復制快捷鍵,Ctrl + V 默認是粘貼快捷鍵,但是如果裝了 WSL 后,Linux 下 Ctrl + C 是向應用程序發送一個 SIGINT 中斷信號,當用戶按中斷鍵(Ctrl+C)時,終端驅動程序產生此信號并發送至前臺進程組中的每一個進程。這就和 Windows 默認的復制有些沖突,所以建議修改為 Ctrl + Shift + C 和 Ctrl + Shift + V,只需要在和上面相同的 setting.json 配置中:
{ "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+shift+c" }, { "command": "paste", "keys": "ctrl+shift+v" },
1
2
這樣使用起來就更方便了。
除此之外,WSL 還有一些其他命令,需要閱讀官方文檔。
Ubuntu Windows
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。