[WSL] 安裝 WSL 2 在 Windows 上順暢地運行 Linux 系統

在 Github 上,大量的開源專案都是基於 Linux 的,為了實現在 windows 上搭建這些開源專案,故使用 windows 自帶的 Windows Subsystem for Linux,簡稱 WSL。安裝 WSL 的目的,是在 Windows 上有一個 Linux 服務端環境。

隨著技術的不斷進步,現在能夠輕易地在同一台機器上運行多個作業系統。開發人員可以在一台 Windows 機器上同時享受 Linux 的強大功能,同時不會失去 Windows 的便利。透過 WSL,讓開發人員能夠安裝一個 Linux 發行版(如Ubuntu、OpenSUSE、Kali、Debian、Arch Linux等)。

WSL: This is made possible through a new Linux-compatible subsystem that was added to the Windows Kernel called Windows Subsystem for Linux.

〈1〉需求 Windows 作業系統
  • ● x64 的處理器:版本 1903 或更高版本,含 組建 18362 或更高組建 (Windows 10 家用版)
  • ● ARM64 的處理器:版本 2004 或更高版本,含 組建 19041 或更高組建 (Windows 10)
  • ● Windows 11

〈2〉安裝 WSL 1. 使用 WSL 指令安裝 WSL 2
使用「系統管理員」權限運行 PowerShell 來開啟此功能,在 PowerShell 中,輸入指令以安裝 WSL
wsl --version 查看當前 WSL 版本
wsl --list --verbose 查看已安裝的 Linux 發行版、目前狀態和 WSL 版本資訊
wsl --install 這個指令將會 (1)自動開啟必要的 Windows 功能(包括虛擬機平台和 WSL),並且 (2)下載最新的 Linux 核心
wsl --list --online 查看可用的 Linux 發行版
wsl --install <DistroName> 在初始安裝後,安裝其他指定的 Linux 發行版
wsl --set-default <DistroName> 重新指定預設發行版

2. 查看「控制台 > 程式集 > 程式與功能」,點擊「開啟或關閉 Windows 功能」,確認開啟的小視窗中「Windows 子系統 Linux 版」和「虛擬機器平台」已經點選啟用。
● Windows 子系統 Linux 版 (Windows Subsystem for Linux):系統內建的底層支援功能
● 虛擬機器平台 (Virtual Machine Platform):WSL 2 所需的虛擬化支援功能
〈3〉WSL 停用與啟用 wsl --terminate <DistroName> 停用指定版本
wsl -d <DistroName> 啟用指定版本

〈4〉重裝 WSL 上的指定版本 wsl --shutdown <DistroName> 停止指定版本
wsl --unregister <DistroName> 移除指定版本

〈5〉異常處理:系統找不到指定的檔案
● 發生原因:新版本存在一個問題,它無法將磁碟 'C:\Program Files\WSL\system.vhd' 連接到 WSL2,錯誤代碼為:Wsl/Service/CreateInstance/CreateVm/MountVhd/HCS/ERROR_FILE_NOT_FOUND。

● 解決辦法:透過降版來「強迫清掉」壞掉的狀態或破壞的元件。移除出錯的版本(2.4.x)→ 讓系統回到一個穩定狀態(2.4.8)→ 再重新乾淨地升級上來(2.4.x)
wsl2 fail to startup with Wsl/Service/CreateInstance/CreateVm/HCS/ERROR_FILE_NOT_FOUND
Wsl/Service/CreateInstance/CreateVm/HCS/ERROR_FILE_NOT_FOUND on 2.4.11.0
WSL distro fails to start with "Error code: Wsl/Service/CreateInstance/CreateVm/HCS/ERROR_PATH_NOT_FOUND"

● 補充:如果只是到控制台取消「Windows 功能」中內建的 WSL,只是停用了 Windows 層的功能,並不能解決這個問題。執行 winget uninstall Microsoft.WSL 才能移除掉 WSL 核心。

● 打開 PowerShell(以系統管理員身分),輸入
1. wsl --version 查詢 WSL 版本資訊

2. winget uninstall --id Microsoft.WSL 使用 Windows 的套件管理工具 winget,來解除安裝目前 Store 版本的 WSL 應用程式(獨立 App),解除成功後,並重新啟動電腦。

注意:它的行為就像是刪掉了一個 App,你只是卸載了 WSL 2 應用程式,它並不會動到 Windows 本身啟用的系統元件(Windows Subsystem for Linux、Virtual Machine Platform 仍會是勾選狀態),也不會移除掉已安裝的 Linux 發行版資料。
3. 降級安裝 2.4.8 版本的 WSL,並重新啟動電腦(使用 .msi 安裝包)☞ Releases 2.4.8

4. wsl --version 驗證 WSL 版本號是 2.4.8
5. 把 WSL 從 2.4.8 升到最新版(例如 2.4.13),使用 .msi 方式來安裝 Linux kernel 和相關組件,升級後你會自動擁有 WSL 2.4.13 版本

6. 為了避免開發環境因為 Microsoft Store 自動更新 WSL 而導致不明故障,關閉「應用程式更新」是一個全局設定,它會阻止 Microsoft Store 自動下載和安裝所有應用程式的更新。

Source

【WSL教學】在Windows上執行Linux:簡單6步驟WSL的安裝與使用入門
什麼是 Windows 子系統 Linux 版?
Windows Subsystem for Linux (WSL2) 環境設定
Windows 11:WSL 2 安裝與管理指南,3 種方法任你選
Step by Step Procedure to Install WSL2 on Windows And Run Ubuntu on Windows Using WSL2
How to install Ubuntu 24.04 on WSL (Windows Subsystem for Linux) ★
How to install and get started with WSL 2 on Windows 11 ★
WSL 的基本命令
3分鐘搞定在Windows10/11上安裝Linux | 使用WSL讓檔案 工具 服務皆能共享 | 無需虛擬機器 速度超快 效能超強

Image Source

Step by Step Procedure to Install WSL2 on Windows And Run Ubuntu on Windows Using WSL2

沒有留言:

技術提供:Blogger.