眾所周知,WSL 2 為 Windows 使用者提供了一個強大、高效且靈活的 Linux 環境,特別適合開發者使用。它結合了 Windows 和 Linux 的優點,為使用者提供了更加全面和高效的工作環境。但缺點也很明顯,那就是預設安裝在本來空間就不富裕的C盤。
本次我們在非C盤的磁碟機代號快速安裝基於wsl2的linux開發環境,並且無痛使用Win11的網路代理服務。
安裝WSL 2
首先確保本機電腦已經開啟開啟 Windows 虛擬化和 Linux 子系統,點選控制皮膚->程式->啟用或關閉 windows 功能,開啟 Windows 虛擬化和 Linux 子系統(WSL2)以及Hyper-V
隨後在終端輸入命令:
bcdedit /set hypervisorlaunchtype auto
開啟hyper-v。
隨後在終端輸入命令:
wsl --update
升級系統版本
接著安裝ubuntu系統:
wsl --install -d Ubuntu
輸入使用者名稱和密碼之後,會自動登如linux系統:
至此,WSL 2 已經安裝成功。
WSL 2系統轉移
現在我們把linux系統遷移到別的磁碟機代號,在非C盤的磁碟機代號建立目錄 backup
mkdir backup
然後執行命令:
wsl --export Ubuntu D:\backup\ubuntu.tar
把安裝好的系統匯出到backup目錄。
接著登出C盤的linux系統:
wsl --unregister Ubuntu
建立新的wsl目錄:
mkdir wsl
匯入剛才匯出的ubuntu系統:
wsl --import Ubuntu D:\wsl\ D:\backup\ubuntu.tar
至此,wsl2系統遷移成功:
安裝cuda和使用win11的網路代理
安裝cuda很簡單,直接去nvidia的官網即可:
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_local
複製官方給出的安裝命令:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.6.0/local_installers/cuda-repo-ubuntu2204-12-6-local_12.6.0-560.28.03-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-6-local_12.6.0-560.28.03-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-6-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-6
安裝成功後,輸入 nvidia-smi 來顯示顯示卡資訊:
至此cuda就安裝完成了。
雖然已經可以正常使用,但系統會提示:
意思是雖然win11有代理配置,但沒有映象到wsl,無法使用代理。
搞開發的如果沒有代理服務,那還搞什麼開發,豈不是痴人說夢,何易於盲子夜行。
在使用者目錄新建:.wslconfig 配置檔案:
[experimental]
autoMemoryReclaim=gradual # gradual | dropcache | disabled
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
隨後執行命令重啟wsl服務:
wsl --shutdown
再次進入linux系統,測試能否訪問twitter:
wget x.com
系統返回:
(base) root@ly:~# wget x.com
--2024-08-02 17:08:49-- http://x.com/
Connecting to 127.0.0.1:7890... connected.
Proxy request sent, awaiting response... 301 Moved Permanently
Location: https://x.com/ [following]
--2024-08-02 17:08:49-- https://x.com/
Connecting to 127.0.0.1:7890... connected.
Proxy request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’
index.html [ <=> ] 2.55K --.-KB/s in 0s
2024-08-02 17:08:50 (1.13 GB/s) - ‘index.html’ saved [2610]
(base) root@ly:~#
舒適了。
需要注意的是,Win11的代理服務需要開啟:允許區域網訪問的功能。