Microsoft ได้นำเสนอ WSL (Windows Subsystem for Linux) ในปี 2017 ซึ่งให้ผู้ใช้สามารถรันคำสั่ง Linux ที่แตกต่างกันและเครื่องมืออื่นๆ ในอินเทอร์เฟซบรรทัดคำสั่งบนคอมพิวเตอร์ Windows (โดยไม่ต้องใช้ HyperV หรือ dual boot)
ในปี 2019 Microsoft ประกาศการเปิดตัวรุ่นใหม่ของ WSL และชื่อว่า WSL 2 รุ่นใหม่นี้ของ WSL รองรับการรันแอป Linux แบบกราฟิกบนคอมพิวเตอร์ Windows และใช้ Linux kernel ที่ทำงานได้เต็มที่ด้วยประสิทธิภาพไฟล์ I/O ที่ดีกว่าและการเรียกระบบที่เร็วขึ้น อีกความสำเร็จยอดเยี่ยมของ WSL 2 คือรองรับบนรุ่น Home ของ Windows 10 ในขณะที่ WSL รองรับเฉพาะ Windows 10 Pro เท่านั้น
ข้อกำหนดในการเปิดใช้งานคุณสมบัติ WSL
คอมพิวเตอร์ของผู้ใช้ต้องตรงตามข้อกำหนดต่อไปนี้เพื่อเปิดใช้งานคุณสมบัติ WSL:
- รองรับ Hyper V
- รุ่น 64-bit ของ Windows
- Windows 10 รุ่น 1903 หรือสูงกว่า ในกรณีของเครื่อง ARM Windows 10 รุ่น 2004 หรือสูงกว่า Windows 11 รองรับ WSL 2 อย่างเนทีฟ
หากคอมพิวเตอร์ของคุณไม่ตรงตามข้อกำหนดเหล่านี้ คุณอาจต้องใช้รุ่น WSL 1 เท่านั้น และคุณสามารถทำตามแนวทางด้านล่างได้ แต่ข้ามส่วนที่เกี่ยวข้องกับ WSL 2 (เช่น การตั้งค่ารุ่นเริ่มต้นเป็น WSL 2)
หากคอมพิวเตอร์ของคุณตรงตามข้อกำหนดระบบของ WSL 2 คุณสามารถทำตามแนวทางที่อภิปรายด้านล่างได้:
ติดตั้ง WSL ผ่าน PowerShell
Microsoft ทำให้ผู้ใช้ง่ายขึ้นในการใช้คำสั่ง PowerShell เพียงคำสั่งเดียวเพื่อติดตั้งคุณสมบัติ WLS พร้อมกับการติดตั้ง Ubuntu เริ่มต้น (ซึ่งสามารถเปลี่ยนได้) คำสั่ง PowerShell นี้จะเปิดใช้งานส่วนประกอบ WSL ที่จำเป็น ดาวน์โหลดและติดตั้ง Linux kernel ล่าสุด ตั้งค่า WSL2 เป็นค่าเริ่มต้น และติดตั้ง Ubuntu ดังนั้น ให้ทำตามขั้นตอนด้านล่างเพื่อตั้งค่า WSL ด้วยคำสั่งเดียว (คำสั่งนี้รองรับเฉพาะ Windows 10 2004 หรือสูงกว่า):
- คลิกขวา Windows และเลือก PowerShell (Admin)
- ตอนนี้ รัน คำสั่งต่อไปนี้:
wsl --install

- รอ จนกระบวนการติดตั้งส่วนประกอบทั้งหมดเสร็จสิ้น และจากนั้น รีบูท คอมพิวเตอร์ของคุณ
- เมื่อบูทใหม่ คุณอาจ ตั้งค่าการกระจาย Ubuntu ตามความต้องการของคุณ (อภิปรายภายหลัง) และคุณพร้อมสำรวจสิ่งมหัศจรรย์ของ Linux
คุณอาจใช้แอป Ubuntu ในเมนู Windows Start หรือใช้แอป Windows Terminal เพื่อสำรวจคุณสมบัติ Ubuntu ที่แตกต่างกัน
ติดตั้ง Linux Distro ที่ไม่ใช่ค่าเริ่มต้นผ่านคำสั่ง PowerShell
ถ้าผู้ใช้ต้องการติดตั้งการกระจายที่แตกต่างจาก Ubuntu เริ่มต้น? อย่ากังวล นี่คือกระบวนการที่เรียบง่าย:
- เปิด Windows PowerShell (Admin) และ รัน คำสั่งต่อไปนี้เพื่อตรวจสอบรายการ Linux distro ที่พร้อมใช้งานสำหรับ WSL:
wsl --list --online
หรือ
wsl -l -o

- ตอนนี้ ตรวจสอบ รายการ Linux distro ที่พร้อมใช้งาน และหาว่าอันไหนตอบสนองความต้องการของคุณ ปกติแล้วอาจแสดงว่ามีดังต่อไปนี้:
Ubuntu Debian kali-linux opensuse-42 SLES-12
- จากนั้น รัน คำสั่งต่อไปนี้เพื่อ ติดตั้ง Linux distro ที่ต้องการ (ตรวจสอบให้แน่ใจว่าแทนที่ <Distribution Name> ด้วยชื่อ distro):
wsl --install -d <Distribution Name>
ตัวอย่างเช่น เพื่อติดตั้ง Debian คุณอาจใช้คำสั่ง:
wsl --install -d Debian

- ตอนนี้ รอ จนการติดตั้งเสร็จสิ้นและ รีสตาร์ท ระบบของคุณ
เมื่อรีสตาร์ทแล้ว ให้ตั้งค่า Linux distro ตามความต้องการของคุณ (ตามที่อภิปรายภายหลัง)
ติดตั้ง Linux Distro แบบกำหนดเอง
อาจมีผู้ใช้ที่ต้องการใช้ Linux distro ที่ไม่มีอยู่ใน Microsoft Store และผู้ใช้เหล่านั้นอาจใช้หน้าอ้างอิงอย่างเป็นทางการของ Microsoft เพื่อนำเข้า Linux distribution ใดๆ เพื่อใช้กับ WSL เนื่องจากการอภิปรายเรื่องนี้ไม่อยู่ในขอบเขตของบทความนี้
ติดตั้ง Linux Distro หลายตัวใน WSL
หากผู้ใช้ต้องการใช้ Linux distro หลายตัว เขาสามารถทำได้โดยใช้คำสั่งต่อไปนี้ (ที่อภิปรายแล้ว) ใน PowerShell (อย่าลืมแทนที่ <Distribution Name> ด้วยชื่อ distro เช่น Debian)
wsl --install -d <Distribution Name>
ในกรณีที่ติดตั้ง distro หลายตัวแล้ว ผู้ใช้อาจตรวจสอบ WSL distro ที่ติดตั้งแล้ว ใน WSL โดยการรันคำสั่งใดๆ หนึ่งใน PowerShell (Admin):
wsl -l -v
หรือ
wsl --list --all
โปรดทราบว่าหากคุณพยายามรันคำสั่ง WSL ใน bash ให้แน่ใจว่าคุณใส่ .exe ท้าย WSL ตัวอย่างเช่น เพื่อติดตั้ง Linux distribution จากภายใน bash ให้รันคำสั่งต่อไปนี้:
wsl.exe --install -d <Distribution Name>
ติดตั้ง WSL บน Server
หากคุณกำลังติดตั้ง WSL บนเครื่อง Server คุณสามารถอ้างอิงคู่มือการติดตั้ง WSL ของ Microsoft Windows Server อย่างเป็นทางการได้
การติดตั้ง WSL ใน Windows แบบ VM-Based
หากผู้ใช้กำลังติดตั้งคุณสมบัติ WSL ใน Windows แบบ VM-based แล้วเขาอาจรันคำสั่งต่อไปนี้ใน PowerShell (Admin) ของโฮสต์ เพื่อเผยแพร่ธงการเสมือนจริงของโฮสต์ไปยัง VM:
Set-VMProcessor -VMName MyWSL -ExposeVirtualizationExtensions $true
ยืนยันการติดตั้ง Linux Distribution และรุ่น WSL
ตอนนี้ เพื่อยืนยันว่า Linux distributions ติดตั้งสำเร็จแล้ว และรุ่น WSL ถูกตั้งค่าเป็น WSL 2 ผู้ใช้อาจรันคำสั่งต่อไปนี้ (ทีละคำสั่ง) ใน PowerShell (Admin):
wsl.exe --list --all wsl --list --verbose
ใช้วิธี GUI ในการติดตั้ง WSL
ผู้ใช้ Windows หลายคนไม่ชอบวิธีบรรทัดคำสั่งในการติดตั้งแอปพลิเคชัน/ยูทิลิตี นอกจากนี้ WSL รุ่น 1 ไม่สามารถติดตั้งได้โดยใช้คำสั่ง PowerShell เดียวที่อภิปรายก่อนหน้านี้ ยิ่งไปกว่านั้น ผู้ใช้ที่มี Windows 10 รุ่น 1903 และ 1909 ไม่สามารถใช้วิธีการติดตั้ง WSL ได้ ดังนั้น นี่คือวิธีที่มากขึ้น berbasis GUI เพื่อใช้ WSL บนคอมพิวเตอร์ Windows
เปิดใช้งานคุณสมบัติ WSL บน Windows 10
- คลิก Windows ค้นหาและเปิด Turn Windows Features on or off.

- ตอนนี้ เปิดใช้งาน สองอย่างต่อไปนี้โดยการติ๊กถูกกล่องกาเครื่องหมายที่เกี่ยวข้อง:
Virtual Machine Platform Windows Subsystem for Linux

- จากนั้นคลิกที่ปุ่ม OK และปล่อยให้ระบบ ดาวน์โหลด/ติดตั้ง ไฟล์ที่เกี่ยวข้อง (ตรวจสอบให้แน่ใจว่ามีการเชื่อมต่ออินเทอร์เน็ต)
- เมื่อเสร็จแล้ว รีสตาร์ท ระบบของคุณ
Windows Subsystem for Linux (WSL) สามารถ เปิดใช้งานได้อีกทางหนึ่ง โดย การรัน คำสั่งต่อไปนี้ใน PowerShell (Admin):
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Virtual Machine Platform สามารถเปิดใช้งานได้โดยการรันคำสั่งต่อไปนี้ใน PowerShell (Admin):
สำหรับ Windows Version 2004 หรือสูงกว่า:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
สำหรับ Windows Version 1903 และ 1909:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
ดาวน์โหลดและติดตั้ง Kernel Update ล่าสุดของ WSL
หลังจากเปิดใช้งานคุณสมบัติที่จำเป็นแล้ว ผู้ใช้ต้องอัปเดต WSL kernel
- ดาวน์โหลด WSL kernel update ล่าสุดจาก Microsoft ผู้ใช้ที่มีเครื่อง ARM64 อาจดาวน์โหลด ARM64 WSL Package
- เมื่อดาวน์โหลดเสร็จ คลิกขวา ที่ไฟล์ที่ดาวน์โหลด เลือก Run as Administrator และ ปฏิบัติตาม ขั้นตอนเพื่ออัปเดต WSL kernel

ตั้งค่ารุ่นเริ่มต้นของ WSL เป็น WSL 2
หลังจากอัปเดต WSL kernel แล้ว ผู้ใช้ต้องตั้งค่ารุ่น WSL เริ่มต้นเป็น 2 แต่ก่อนหน้านั้น ให้ตรวจสอบว่ารุ่น WSL ไหนถูกตั้งค่าเป็น ค่าเริ่มต้น โดยการรันคำสั่งต่อไปนี้ใน PowerShell (Admin):
wsl -l -v
หาก WSL 2 ไม่ใช่ ค่าเริ่มต้น ให้เปิด PowerShell (Admin) และรันคำสั่งต่อไปนี้:
wsl --set-default-version 2
สิ่งนี้จะเปลี่ยน WSL สำหรับการติดตั้ง Linux distro ใหม่ทั้งหมดเป็น WSL 2 หากผู้ใช้ ติดตั้ง distro ด้วย WSL แล้ว เขาอาจรันคำสั่งต่อไปนี้ (ตรวจสอบให้แน่ใจว่าแทนที่ <DistributionName> ด้วยชื่อ distro) เพื่อเปลี่ยนรุ่น WSL ของมันเป็น 2:
wsl --set-version <DistributionName> 2
ตัวอย่างเช่น:
wsl --set-version Ubuntu 2
ติดตั้ง Linux Distro จาก Microsoft Store
หลังจากตั้งค่ารุ่น WSL เริ่มต้นเป็น 2 แล้ว ผู้ใช้ต้องติดตั้ง Linux distro
- คลิก Windows ค้นหาและเปิด Microsoft Store
- ตอนนี้ ค้นหา Linux distribution ที่ต้องการ รายการต่อไปนี้คือรายการ Linux distro ที่พร้อมใช้งาน:
Ubuntu openSUSE Leap 15.1 SUSE Linux Enterprise Server 12 SP5 Kali Linux Debian GNU/Linux Fedora Remix for WSL Pengwin Pengwin Enterprise Alpine WSL Raft (Free Trial)
- เมื่อเลือกแล้ว ให้เปิด Linux distro ที่ต้องการและคลิกที่ Get
- จากนั้นคลิกที่ Install และปล่อยให้ distro ติดตั้ง (เช่น Ubuntu)
- หลังจากนั้น รีสตาร์ทระบบของคุณและกำหนดค่า distro ตามที่อภิปรายในขั้นตอนถัดไป

กำหนดค่า Linux Distro หลังการติดตั้ง
- เมื่อติดตั้ง Linux distribution แล้ว เปิดใช้งาน มัน (ไม่ว่าจะจากเมนู Start หรือจากเครื่องมือบรรทัดคำสั่ง) และหน้าต่าง Command Prompt จะแสดงขึ้น
- ตอนนี้ ใส่ ชื่อผู้ใช้ (ตัวพิมพ์เล็ก) สำหรับ Ubuntu (อาจแตกต่างจากข้อมูลประจำตัว Windows)
- จากนั้นใส่ รหัสผ่าน สำหรับบัญชี Ubuntu และหลังจากนั้น ยืนยัน รหัสผ่าน

- ตอนนี้ใช้ คำสั่ง Linux ที่แตกต่างกัน ตามความต้องการของคุณ
- เพื่อออกจาก Ubuntu bash ให้รัน Exit ใน bash
วิธีเปิด Linux Distro ใน WSL
มีหลายวิธีในการเปิด Linux distro ที่ติดตั้งแล้วใน Windows:
- คุณสามารถ พิมพ์ ชื่อ Linux distro ใน เมนู Windows Start และเปิดใช้งานจากที่นั่น

- จาก Windows Command Prompt หรือ PowerShell หลังจากพิมพ์ ชื่อ distro (เช่น Ubuntu) และกด Enter
- รัน WSL.exe ใน Command Prompt หรือ PowerShell เพื่อเปิดเทอร์มินัล Linux ใน shell ปัจจุบัน หรือใช้ wsl [command] เพื่อรันคำสั่ง WSL ในกรณีของหลาย distro ผู้ใช้สามารถกำหนดค่า distro เริ่มต้น โดยการรันคำสั่งต่อไปนี้:
wsl -s <DistributionName>
ตัวอย่าง
wsl -s Debian
- เพื่อเปิด WSL distro เฉพาะเจาะจง ผู้ใช้อาจรันคำสั่งต่อไปนี้ใน PowerShell (Admin):
wsl -d <DistributionName>
- สุดท้ายแต่อย่างไรก็ตามและโปรดของเรา: Windows Terminal
ติดตั้ง Windows Terminal
Windows Terminal เป็นโปรแกรมจำลองเทอร์มินัลของ Microsoft ที่รองรับหลายแท็บและเป็นตัวแทนของ Windows console การใช้งาน WSL จะง่ายขึ้นมากกับ Windows Terminal ในการติดตั้ง Windows Terminal:
- เปิด Microsoft Store และค้นหา Windows Terminal
- ตอนนี้คลิกที่ Get และจากนั้นคลิกที่ Install
- เมื่อติดตั้งแล้ว เปิดใช้งาน มันและใช้เพื่อรันคำสั่ง WSL

อัปเดต Linux Distros และ Kernel เป็นรุ่นล่าสุด
หลังจากกำหนดค่า Linux distribution แล้ว ขั้นตอนแรกควรเป็นการ อัปเดต มัน เนื่องจาก Microsoft ไม่ได้อัปเดต distro เหล่านี้โดยอัตโนมัติ ในการดำเนินการ ให้ รัน คำสั่งต่อไปนี้ใน Linux bash:
sudo apt update && sudo apt upgrade
เพื่อ อัปเดต WSL kernel ให้ รัน คำสั่งต่อไปนี้ใน PowerShell (Admin):
wsl –update
เพื่อตรวจสอบ สถานะทั่วไปของ WSL ให้รันคำสั่งต่อไปนี้ใน PowerShell (Admin):
wsl --status
ติดตั้งแพ็กเกจ Linux ทั่วไป
เมื่ออัปเดต distro แล้ว ผู้ใช้อาจต้องการติดตั้งแพ็กเกจ Linux ที่แตกต่างกันใน WSL ผู้ใช้อาจใช้คลังแพ็กเกจ APT และ รัน คำสั่งต่อไปนี้ใน bash (เช่น เพื่อติดตั้ง htop):
$ sudo apt install htop
และ htop สามารถ เปิดใช้งาน ได้โดยการรันคำสั่งต่อไปนี้ใน bash:
$ htop
เพื่อติดตั้ง GUI Win-Kex สำหรับ Kali-Linux ผู้ใช้อาจรันคำสั่งต่อไปนี้ (ทีละคำสั่ง) ใน bash:
sudo apt update sudo apt install -y kali-win-kex
เมื่อติดตั้งแล้ว คุณอาจรัน Win-Kex ในตัวเลือกที่แตกต่างกัน รายละเอียดสามารถหาได้ในเอกสารอย่างเป็นทางการของ Kali
WSL และระบบไฟล์ Windows
ไฟล์ Linux ตั้งอยู่ที่ไหนใน Windows? คำถามที่เป็นธรรมชาติมาในใจของผู้ใช้ WSL มี ระบบไฟล์ติดตั้ง ที่ตำแหน่งต่อไปนี้ (อย่าเปลี่ยนหรือลบไฟล์ใน ไดเรกทอรี):
%LOCALAPPDATA%\Lxss\
ระหว่างการใช้งาน ผู้ใช้อาจต้องเข้าถึง ระบบไฟล์ของโฮสต์ ใน WSL ในการดำเนินการ ให้รันคำสั่งต่อไปนี้ใน bash:
/mnt/c/
เปิดใช้งานคุณสมบัติ WSL1
อาจมีเวลาที่ผู้ใช้ต้องการติดตั้ง WSL1 (ไม่ใช่ WSL2) และในการดำเนินการ ให้ทำตามขั้นตอนข้างต้น เพียงข้ามส่วน WSL 2 ในการเปลี่ยน WSL เริ่มต้น ผู้ใช้อาจรันคำสั่งต่อไปนี้ใน PowerShell (Admin):
wsl --set-default-version 1
หลังจากนั้น ผู้ใช้อาจติดตั้ง Linux distro ใหม่เพื่อตอบสนองความต้องการของเขา (ตามที่อภิปรายก่อนหน้านี้)
หากไม่สามารถเปลี่ยนรุ่น WSL เป็น 1 ได้ รัน คำสั่งต่อไปนี้ใน PowerShell (Admin):
New-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss DefaultVersion -Value 1 -Force
จากนั้น รีบูท ระบบของคุณ และเมื่อบูทใหม่ ปิดใช้งาน Virtual Machine Platform หลังจากนั้น ระบบของคุณถูกกำหนดค่าให้ใช้ WSL 1
ลบ WSL และ Linux Distro ออกจากระบบ
หากคุณเสร็จสิ้นกับ WSL และต้องการลบมันออกจากระบบ กระบวนการที่ง่ายคือ:
- คลิกขวาที่ Windows และเปิด Apps & Features
- ตอนนี้ขยาย Linux distro (เช่น Ubuntu) และคลิกที่ Uninstall.

- จากนั้น ยืนยัน เพื่อลบการติดตั้ง distro และ รีบูท คอมพิวเตอร์ของคุณ
- เมื่อบูทใหม่ ปิดใช้งาน Virtual Machine Platform และ Windows Subsystem for Linux (ตามที่อภิปรายก่อนหน้านี้) ใน Turn Windows Features on or off.

- ตอนนี้ รีบูท คอมพิวเตอร์ของคุณและเมื่อบูทใหม่ WSL จะถูกลบออกจากคอมพิวเตอร์
แล้ว هذا就是ทั้งหมด เราหวังว่าบทความนี้ได้ทำหน้าที่และช่วยอธิบายความคิดพื้นฐานของ WSL ให้ชัดเจน