wsl2子系統的備份和還原

查看當前WSL版本

wsl -l

PS C:\windows\system32> wsl -l
​
適用於 Linux 的 Windows 子系統分發:
Ubuntu-22.04 (默認)

wsl --version

PS C:\windows\system32> wsl --version
​
WSL 版本: 1.2.5.0
內核版本: 5.15.90.1
WSLg 版本: 1.0.51
MSRDC 版本: 1.2.3770
Direct3D 版本: 1.608.2-61064218
DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows 版本: 10.0.19045.2965

查看運行中的子系統

wsl -l --running

PS C:\windows\system32> wsl -l --running
沒有正在運行的分發。

運行子系統

wsl --distribution Ubuntu-22.04

PS C:\windows\system32> wsl --distribution Ubuntu-22.04
​
Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.15.90.1-microsoft-standard-WSL2 x86_64)
​
 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
​
 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.
​
   https://ubuntu.com/engage/secure-kubernetes-at-the-edge
​
This message is shown once a day. To disable it please create the
/home/yang/.hushlogin file.

停止子系統

wsl --terminate Ubuntu-22.04 或 wsl --shutdown (停止當前子系統)

PS C:\windows\system32> wsl --terminate Ubuntu-22.04
​
操作成功完成。

備份子系統(需要先停止才能備份)

wsl --export Ubuntu-22.04 D:\temp\Ubuntu-22.04.tar

PS C:\windows\system32> wsl --export Ubuntu-22.04 D:\temp\Ubuntu-22.04.tar
​
正在導出,這可能需要幾分鐘時間。
操作成功完成。

卸載子系統

wsl --unregister Ubuntu-22.04

還原子系統

wsl --import <Distro> <InstallLocation> <FileName> [Options]

wsl --import Ubuntu-22.04 C:\WSL D:\temp\Ubuntu-22.04.tar

Note: 當還原後的子系統變爲root權限了

改爲默認用戶權限

  1. 查看當前用戶 ls /home/

  2. 嘗試切換至用戶權限 su 用戶名

  3. 切換至root權限 sudo su

  4. 修改默認配置文件

    1. 備份 cp /etc/wsl.conf /etc/wsl.conf.bk

    2. 修改 vim /etc/wsl.conf 在最前面增加以下內容

      [user]
      default=用戶名 
    3. 重啓wsl,在power shell中重啓

      # 查看當前運行的wsl
      wsl --list --running
      ​
      # 停止特定的wsl
      wsl -t Ubuntu-22.04
      # 啓動特定版本wsl
      wsl -d Ubuntu-22.04
      ​
      #或者
      # 停止當前所有運行wsl
      wsl --shutdowm
      # 啓動默認wsl
      wsl

 

wsl2遷移與恢復

此處記錄一下wsl2的遷移,以及當在系統C盤重置系統如何恢復舊版wsl2

wsl2遷移

這個是建立在已經安裝wsl2的基礎之上

1.查看當前wsl下的Linux是否爲關閉狀態,當state爲Stopped才能進行下一步。

wsl -l -v  

在這裏插入圖片描述

若state爲Running時,利用下面的命令結束

wsl --shutdown

在這裏插入圖片描述
2.以.tar的形式導出到其他盤

wsl --export Ubuntu-20.04 e:\Ubuntu-20.04.tar

【注】此處導出的Ubuntu-20.04.tar文件可以作爲備份文件,下次恢復時直接執行第4步的導入系統就行

3.註銷原有的linux系統

 wsl --unregister Ubuntu-20.04

4.導入系統

 wsl --import Ubuntu-20.04 E:\ubuntu2004 E:\Ubuntu-20.04.tar

5.修改默認用戶(因爲不修改用戶名,打開wsl ubuntu之後,默認以root身份登錄。)

ubuntu.exe config --default-user <--用戶名-->

用戶名是原有wsl ubuntu的用戶名稱。

重裝系統恢復舊版wsl2

此處是針對重置系統盤,同時舊版wsl2已經遷移到其他盤,如何恢復舊版wsl2

1.先重新安裝一個新的wsl2,這個可以參照網上的wsl2安裝教程,注意安裝的Ubuntu的版本要和舊版的Ubuntu版本(即你想恢復的Ubuntu)一致
2.當安裝wsl2成功後,此時wsl2默認安裝在系統C盤,然後按照上面的wsl2遷移步驟把wsl2遷移到其他盤
3.遷移成功後,把新版的ext4.vhdx刪除,拷貝成舊版的ext4.vhdx
4.啓動wsl2,即可恢復舊版wsl2
【注】一定要把新版的ext4.vhdx刪除,不能用舊版的去替換新版的ext4.vhdx(即如下圖操作是不能恢復到舊版),否則替換成功後,當你啓動wsl2會發現還是新版的Ubuntu。
在這裏插入圖片描述

Docker 是指容器化技術,用於支持創建和使用 Linux® 容器(LXC技術) 。
我們在 Window 上安裝 Docker Desktop ,需要基於 Linux 環境。
在 Windows上,Docker Desktop 爲我們提供通過了兩個選項:WSL 與 Hyper-V 。

一、WSL2 以及 hyper-v區別,二者安裝docker desktop

1.WSL2和hyper-v區別

簡單來說:

  • wsl是一個運行在我下面的解釋linux命令的程序,可以直接操作win的資源,又集成了如putty類的集合,不過人家是自己做的。WSL 使用 Hyper-V 架構來實現其虛擬化。。
  • WSL 官方文檔(Windows Subsystem for Linux,適用於windows的linux子系統)則是Windows 操作系統的一項特性,可讓您直接在 Windows 上運行 Linux 文件系統以及 Linux 命令行工具和 GUI 應用程序,以及傳統的 Windows 桌面和應用程序。
  • 運行WSL的開銷比運行一個虛擬機低很多。WSL 2實際上用的是運行在Hyper-v上的linux內核,相較於虛擬機你不需要很多的性能開銷。
  • hyper-v是虛擬機程序,可以提供一個完整的計算機環模擬,與host需要通過網絡訪問 。Hyper-V 微軟官方文檔 :讓你可以在 Windows 上以虛擬機形式運行多個操作系統,提供硬件虛擬化。

在大多數情況下:
如果你只使用 Docker : WSL
如果你需要Linux,其他的虛擬機或想訪問Docker的高級選項卡來分配資源: Hyper-V

2.安裝Docker Desktop

參考:docker win10專業版下 WSL 2 或 hyper-v 安裝Docker Desktop

二、docker desktop限額配置,資源配置方法

使用WSL2和hyper-v安裝的docker,配置是有區別的。

1.使用WSL2運行docker:

這裏會是選擇狀態:
在這裏插入圖片描述

它的配置方法如圖所示,需要在用戶目錄(比如:C:\Users\lc)下建立一個新文件,叫做.wslconfig,
在這裏插入圖片描述

修改文件內容爲:

[wsl2]
processors=4
memory=8GB
swap=8GB
localhostForwarding=true

memory: 表示最大使用 2GB 內存
swap: 表示不設置 swap
localhostForwarding: 默認值爲 true。如果 WSL 2 VM 中綁定到通配符或 localhost 的端口應該可以通過 localhost:port 從主機連接。
processors: 使用的核心數量,默認和你的 Windows 系統使用的核心數一樣

重啓wsl2:

wsl --shutdown

2.使用hyper-v運行docker:

首先不勾選Use the WSL 2 based engine,

在這裏插入圖片描述

然後進入Resources Advanced:
在這裏插入圖片描述

修改即可!

【Docker】Docker Desktop配置資源:cpu、內存等(windows環境下)_wsl 2 對比 hyper-v-CSDN博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章