banner
Nagi-ovo

Nagi-ovo

Breezing
github
twitter

WSL2 配置 Ubuntu20.04

買了新電腦(3090ti)用來煉丹,猶豫了許久後在雙系統和 WSL 中選擇了後者。

原因如下:

  • 不想折騰雙系統的硬碟、網路配置,而 WSL 可以同步主系統的 host
  • 嘗鮮 WSL2,知道這東西好久了,但之前的用的拯救者筆記本跑起來很卡,沒當生產力用過
  • 存在感低,2-3 秒就能開啟的子系統,可以跑著任務掛後台,同時滿足我 “不想在 windows 裡配環境” 的奇怪要求
  • 網上說現在的 WSL2 對 NVIDIA GPU 的支持很好,很多帖子中要避的雷都已經不再重要了。

配置歷程#

回憶一下配置路程:

下載 WSL2#

Win11 下,只需要在 WIndows Powershell 中運行下面指令即可完成全部系統配置,不需要再去勾選什麼 “虛擬機平台” 和 “開啟 HyperV”:

wsl --install # 默認是 LTS 版本,要下載指定版本可以先輸入wsl --list --online 查看

遷移硬碟#

個人習慣把東西放其它盤裡,但 WSL 默認是裝在系統盤,先確定版本:

wsl --list --verbose

導出現有的系統:

wsl --export Ubuntu-20.04 D:\Ubuntu.tar # 我這裡的版本和命名是這樣的

取消掛載:

wsl --unregister Ubuntu-20.04

重新掛載:

wsl --import Ubuntu-20.04 D:\wsl2\Ubuntu D:\Ubuntu.tar

wslconfig#

Win + r 輸入 % UserProfile%,然後在該目錄下創建一個名為 .wslconfig的文件(記得去開啟文件後綴顯示),具體配置還是得去網上找專業內容,WSL2 默認只能使用一半內存,我這裡希望全開而已,前兩條是網絡 host 省心設置。

[wsl2]
networkingMode=mirrored
autoProxy=True
memory=32GB

避雷#

這裡要注意的是,遷移硬碟重新掛載後默認用戶將是 root 而非一開始登陸的 Unix User,為了美好的未來,最好不要用 root 用戶來完成全部操作。

vim /etc/wsl.conf

然後複製下面內容,systemd 應該默認就有了現在:

[user]
default=你最開始註冊的用戶名

[boot]
systemd=true

此外,不要在 WSL 里嘗試刪庫大法,可能會把整個盤都刪了,想感受效果去虛擬機裡整。

關機#

不用的時候想釋放資源,可以在 Windows PowerShell 裡輸入:

wsl --shutdown

ZSH#

習慣了 zsh 作為默認終端,sudo apt install zsh 就行,再找個 oh-my-zsh 的配置貼跟著走完就能得到一個夠用的終端。

如:https://dev.to/equiman/zsh-on-windows-with-wsl-1jck
不過這篇推薦的用來適配終端的 font 不太好看,個人還是喜歡 JetBrains Nerd Font Mono 字體。

其它配置#

我的需求是配置深度學習環境,沒什麼可講的,跟你在純正 Linux 伺服器上操作一樣,miniconda+uv pip install 即可。

如果這裡 pip 下載時提示你當前在用 root 賬戶操作的話,注意本文前面提到的

尾聲#

感覺 WSL2 確實節省了不少精力,也能便調配方、煉丹邊摸魚,這樣的 Windows 才是我心中理想的操作系統,Mb Air 都放了兩天了,除非出門根本不會用。

至於煉丹速度,能跑起來就行了,網上說的 20% 左右的損耗只要不去想就沒事,越愛比較煩惱越多~

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。