在Windows上使用Linux:WSL
1. 什麼是 WSL?
現在我們要來聊一個有趣的主題:如果你主要使用的是 Windows 作為操作系統,那麼如何操作 Linux? 歡迎來到 WSL 的世界!
WSL (Windows Subsystem for Linux) 是 Microsoft 的一項技術,可以讓你直接在 Windows 中運行 Linux 發行版。有兩個版本:
- WSL1: 基於 Windows 和 Linux 之間的系統調用層兼容性運作。它通過 Windows 核心來模擬 Linux 的行為。
- WSL2: 使用基於輕量級隱藏虛擬機的完整 Linux 核心。這讓 WSL2 更快並且與實際的 Linux 具有更高的兼容性。
WSL 就像是兩個世界的折衷方案:你可以使用 Linux 工具,但仍然停留在 Windows 生態系統中。對於開發者來說,這是一個超大的優勢:你可以編程、測試和使用你喜歡的 Linux 指令來配置伺服器。
2. 為什麼 WSL 如此有價值?
- 開發和測試:WSL 讓開發者可以在 Linux 環境中工作,而不需要重啟電腦或使用虛擬機器。
- Docker 和容器化:WSL2 支援 Docker,這對於處理容器特別有幫助。
- 檔案系統整合:你可以使用單一檔案系統,在 Windows 和 Linux 間輕鬆交換檔案。
- 設置簡單:安裝 WSL 只需要幾分鐘。
WSL 與虛擬機器有什麼不同?
- 無需虛擬化。你不需要安裝 VirtualBox、VMware 或 Hyper-V。WSL 直接在系統層級運行。
- 資源消耗更少。WSL 比一般虛擬機器使用更少的記憶體和處理器資源。
- 與 Windows 整合。你可以輕鬆地在 Windows 和 Linux 之間交換檔案,同時執行 Linux 和 Windows 指令 (!),並使用相同的網路介面。
3. 安裝 WSL
1. 檢查系統需求
開始之前,確認你的系統符合最低需求:
- Windows 10(版本 2004 或更高)或 Windows 11。
- BIOS/UEFI 中已啟用虛擬化。
要檢查 Windows 版本,打開 PowerShell,執行以下指令:
winver
你會看到類似這樣的視窗:
如果不知道如何在 Windows 上啟動 PowerShell,按 Win+S 然後輸入 powershell。
2. 啟用 WSL
以管理員身份打開 PowerShell,執行以下指令:
wsl --install
這條指令會自動安裝 WSL,下載 Linux 核心並將 WSL2 設置為預設版本。
如果因某些原因指令無效,可以通過 Windows 的附加功能手動啟用 WSL:
- 打開 "控制台" → "程式與功能" → "開啟或關閉 Windows 功能"。
- 啟用:
- Windows 子系統適用於 Linux。
- 虛擬機平台。
完成後重啟電腦。
3. 選擇和安裝發行版
WSL 支援安裝多種常見的 Linux 發行版,例如 Ubuntu、Debian、Kali Linux 等。要查看可用的發行版列表,執行:
wsl --list --online
你會看到可用發行版列表:
PS C:\Users\Admin> wsl --list --online
The following is a list of valid distributions that can be installed.
Install using 'wsl.exe --install <Distro>'.
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
Ubuntu-24.04 Ubuntu 24.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
openSUSE-Leap-15.6 openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed openSUSE Tumbleweed
例如,要安裝 Ubuntu,執行:
wsl --install -d Ubuntu
安裝完成後,啟動發行版以完成設定(例如設置使用者名稱和密碼)。
3. 將預設設定為 WSL2
為了使用 WSL2(非常建議這樣做),請確保 WSL2 已啟用。設置它為預設版本:
wsl --set-default-version 2
如果你已經安裝了 WSL1 的發行版,可以升級到 WSL2:
wsl --set-version <發行版名稱> 2
範例:
wsl --set-version Ubuntu 2
4. WSL 與 Windows 的整合
WSL 和 Windows 的整合非常棒,可以讓你同時使用這兩個系統的功能。以下是一些重點:
1. 文件交換
WSL 將 Windows 的檔案系統掛載到了 /mnt
目錄。例如:
cd /mnt/c/Users/你的名字
你可以直接在 Linux 中操作 Windows 的文件。同樣,你也可以通過 Windows 的檔案總管使用 WSL 中的文件,路徑大概會是這樣:\\wsl$\<發行版名稱>
。
2. 在 Linux 使用 Windows 的命令
是的,你可以直接在 WSL 中運行 Windows 命令。例如:
explorer.exe .
這會在檔案總管中打開當前目錄。
3. 在 PowerShell 中使用 Linux 的命令
WSL 允許你直接從 PowerShell 中運行 Linux 命令。例如:
wsl ls
5. 在實際開發中使用 WSL
搞定 Web 伺服器
你可以在 WSL 裡跑 Nginx 或 Apache 伺服器,然後透過 Windows 的瀏覽器訪問它。例如:
1. 在 WSL 裡安裝 Nginx:
sudo apt update
sudo apt install nginx
2. 啟動伺服器:
sudo service nginx start
3. 打開瀏覽器,然後輸入 http://localhost
。
安裝 Docker
WSL2 完全支援 Docker。在 Windows 上安裝 Docker Desktop,然後它會自動整合到 WSL2。
6. WSL 好用命令
檢視已安裝的發行版:
wsl --list --verbose
顯示所有已安裝的發行版、它們的版本和狀態。
停止所有發行版:
wsl --shutdown
刪除發行版(小心使用!):
wsl --unregister <發行版名稱>
在特定目錄中啟動 WSL:
wsl ~/
7. 常見錯誤及其解決方法
1. 錯誤: "WSL is not enabled"
如果你看到 WSL 未啟用的訊息,確保你已在“控制面板”或通過 PowerShell 啟用了它。同時確認你的處理器是否支持虛擬化(需要在 BIOS 中啟用)。
2. 指令 wsl --install
無法運行
這可能與你的 Windows 版本過舊有關。請將操作系統更新到最新版本。
3. 啟動 Docker 的問題
確認你的發行版使用的是 WSL2,而不是 WSL1。可以通過以下指令檢查:
wsl --list --verbose
4. 無法從 WSL 連接到伺服器
確認 Windows 的防火牆未阻止連接。
8. 實踐任務
- 安裝 WSL 和 Ubuntu 發行版。
- 檢查你的發行版的 WSL 版本:
wsl --list --verbose
在 WSL 中,在目錄
/mnt/c/Users/你的名字/Documents
創建一個文本文件test.txt
:echo "你好, WSL!" > /mnt/c/Users/你的名字/Documents/test.txt
通過 PowerShell 查看文件內容:
type C:\Users\你的名字\Documents\test.txt
加分任務:安裝 Nginx,啟動它並在瀏覽器中打開
http://localhost
。
總之,你剛剛完成了從安裝到實際在 Windows 上使用 Linux 的整個過程。通過這個工具,你可以輕鬆快捷地部署適合任何任務的工作環境。
GO TO FULL VERSION