WSL2 คืออะไร ติดตั้งยังไง Linux

WSL2 คืออะไร ติดตั้งยังไง

📅 2026-02-09 | โดย อ.บอม กิตติทัศน์ เจริญพนาสิทธิ์ — SiamCafe.net Since 1997

WSL2: Windows Subsystem for Linux รุ่นใหม่ ไฟแรงกว่าเดิม

สมัยก่อนเนี่ย เวลาเราอยากใช้ Linux บน Windows มันต้องลง Virtual Machine (VM) พวก VirtualBox, VMware อะไรแบบนั้น ซึ่งมันก็กิน resource เครื่องเยอะพอสมควร แถม set up ก็ยุ่งยากใช่เล่นเลย แต่พอมี WSL นี่ชีวิตง่ายขึ้นเยอะ

WSL หรือ Windows Subsystem for Linux เนี่ย มันคือระบบที่ทำให้เราสามารถรัน Linux environment ได้ "โดยตรง" บน Windows เลย ไม่ต้องง้อ VM ให้วุ่นวาย เริ่มแรก Microsoft ทำ WSL1 ออกมาก่อน แต่ก็มีข้อจำกัดเยอะอยู่พอสมควร พอมา WSL2 เนี่ย เค้าปรับปรุงใหม่หมด ใช้ Virtual Machine technology จริงๆ แต่ manage ให้เราแบบเนียนๆ เลย

ทำไม WSL2 ถึงสำคัญ?

WSL2 มันสำคัญตรงที่มัน "เร็ว" กว่า WSL1 มากๆ เพราะ WSL1 มันแค่จำลอง system call ของ Linux ไปเป็น Windows API ซึ่งบางทีก็ไม่เหมือนกันเป๊ะๆ ทำให้ performance ไม่ดีเท่าที่ควร แต่ WSL2 มันรัน Linux kernel จริงๆ ใน VM ตัวจิ๋ว ทำให้ performance ใกล้เคียงกับการรัน Linux บนเครื่องจริงๆ เลย

นอกจากเรื่องความเร็วแล้ว WSL2 ยังรองรับ Docker ได้ดีกว่า WSL1 ด้วย เพราะ Docker มันต้องใช้ Linux kernel features หลายอย่าง ซึ่ง WSL1 ทำได้ไม่ค่อยดีเท่าไหร่ ใครที่ใช้ Docker บ่อยๆ นี่ WSL2 คือคำตอบเลย

ข้อดีข้อเสียของ WSL2

ทุกอย่างมันมีสองด้านเสมอ WSL2 ก็เหมือนกัน

ข้อดี ข้อเสีย
เร็วกว่า WSL1 มาก ต้องใช้ Hyper-V virtualization ซึ่งอาจจะ conflict กับ virtualization software อื่นๆ
รองรับ Docker ได้ดี ใช้ resource มากกว่า WSL1 นิดหน่อย (แต่ก็ยังน้อยกว่า VM แบบเต็มๆ)
รองรับ Linux kernel features ได้ครบกว่า ไฟล์ใน WSL2 filesystem จะเข้าถึงจาก Windows ได้ช้ากว่า WSL1

ติดตั้ง WSL2: Step-by-Step

มาถึงวิธีติดตั้ง WSL2 กันบ้าง ไม่ยากอย่างที่คิด ตามผมมาเลย

Step 1: เปิด Virtualization

ก่อนอื่นเลย ต้องแน่ใจว่า virtualization ใน BIOS ของเครื่องเราเปิดอยู่ วิธีเช็คคือเปิด Task Manager แล้วไปที่ tab "Performance" ถ้าตรง "Virtualization" เขียนว่า "Enabled" ก็แปลว่าเปิดอยู่แล้ว แต่ถ้าเขียนว่า "Disabled" ต้องเข้าไปเปิดใน BIOS ก่อน (วิธีเปิดใน BIOS จะต่างกันไปตามแต่ละยี่ห้อของ motherboard ลอง Google ดู)

Step 2: Enable WSL Feature

จากนั้นก็ต้อง enable WSL feature ใน Windows ก่อน เปิด PowerShell ในฐานะ Administrator แล้วพิมพ์คำสั่งนี้ลงไป

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

แล้วก็ enable Virtual Machine Platform feature ด้วยคำสั่งนี้

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

เสร็จแล้ว restart เครื่อง

Step 3: Download Linux Distribution

พอ restart เสร็จ ก็ไปที่ Microsoft Store แล้ว download Linux distribution ที่เราอยากใช้ได้เลย มีให้เลือกหลายตัว Ubuntu, Debian, Kali Linux, openSUSE เลือกตามใจชอบ

ถ้าอยากอ่านเรื่องอื่นๆ เพิ่มเติม แวะไปดูที่ SiamCafe Blog ได้นะ

Step 4: Set WSL2 as Default

หลังจาก install Linux distribution เสร็จแล้ว ให้เปิด PowerShell แล้วพิมพ์คำสั่งนี้เพื่อ set WSL2 เป็น default version

wsl --set-default-version 2

ถ้าขึ้น error ให้ลอง update WSL kernel ก่อน โดย download ตัว update package ได้จาก https://aka.ms/wsl2kernel แล้ว install

Step 5: Launch Linux Distribution

สุดท้ายก็ launch Linux distribution ที่เรา install ไว้ได้เลย มันจะให้เราตั้ง username กับ password หลังจากนั้นเราก็จะได้ command line ของ Linux มาใช้บน Windows แล้ว

ปัญหาที่พบบ่อย และวิธีแก้ไข

แน่นอนว่าอะไรใหม่ๆ มันก็ต้องมีปัญหาบ้าง ผมรวบรวมปัญหาที่เจอบ่อยๆ พร้อมวิธีแก้มาให้แล้ว

ปัญหา: WSL ไม่ start

บางที WSL มันก็ไม่ start ขึ้นมาเฉยๆ อาจจะขึ้น error อะไรสักอย่าง วิธีแก้เบื้องต้นคือลอง restart เครื่องดูก่อน ถ้าไม่หาย ลอง disable แล้ว enable WSL feature ใน Windows ใหม่ (ตาม Step 2) แล้ว restart อีกรอบ

ปัญหา: Error 0x80070190

error นี้มักจะเกิดจากการที่ Windows version ของเราเก่าเกินไป WSL2 ต้องการ Windows 10 version 1903 build 18362 หรือใหม่กว่า ถ้าเจอ error นี้ ให้ update Windows ก่อน

ปัญหา: Network ไม่ทำงาน

บางที WSL2 มันก็มีปัญหาเรื่อง network ทำให้เรา ping อะไรไม่ได้เลย วิธีแก้คือลอง restart WSL โดยใช้คำสั่ง

wsl --shutdown

แล้ว launch WSL ใหม่

ถ้ายังไม่หาย ลองเช็ค firewall ของ Windows ดูว่ามัน block WSL อยู่หรือเปล่า

และถ้าอยากรู้เรื่องราว IT เจ๋งๆ อีก ตามไปอ่านได้ที่ SiamCafe Blog นะครับ!

🎬 วิดีโอแนะนำ

ดูวิดีโอเพิ่มเติมเกี่ยวกับWSL2 คืออะไร ติดตั้งยังไง:

Best Practices สำหรับ WSL2

1. เลือก Distro ให้เหมาะกับงาน

สมัยผมทำร้านเน็ตฯ นี่ลงแต่ Windows แท้ๆ ครับ แต่พอมา WSL2 นี่มันเปิดโลกเลยนะ คือแต่ละ Distro มันมีจุดเด่นต่างกัน อย่าง Ubuntu ก็มี Community ใหญ่ หาข้อมูลแก้ง่าย แต่ถ้าชอบ Security หน่อยก็ลอง Debian ดู หรือถ้าสาย Developer เต็มตัว Fedora ก็ไม่เลว

2. จัดการ Resource ให้ดี

WSL2 มันกิน Resource เครื่องเรานะพี่น้อง โดยเฉพาะ RAM นี่สำคัญเลย ถ้าเครื่อง RAM น้อยๆ อาจจะต้องจำกัด Memory ที่ WSL2 ใช้หน่อย ไม่งั้นเครื่องอืดเป็นเรือเกลือ SiamCafe Blog มีบทความเก่าๆ เรื่อง Performance Tuning ลองไปขุดดูได้

# .wslconfig (อยู่ใน C:\Users\)
[wsl2]
memory=4GB  # กำหนด Memory สูงสุดที่ WSL2 ใช้ได้
processors=2 # กำหนด CPU Core ที่ WSL2 ใช้ได้

3. ใช้ Code Editor ที่ Support WSL2

VS Code นี่แหละตัวเทพ เพราะมันมี Remote Development Extension ที่ทำให้เราเขียน Code บน WSL2 ได้อย่างราบรื่น ไม่ต้อง Copy ไฟล์ไปมาให้วุ่นวายชีวิต แถม Debug ก็ง่ายด้วย

4. Backup ข้อมูลสำคัญ

ถึง WSL2 มันจะดีแค่ไหน แต่ก็อย่าลืม Backup ข้อมูลสำคัญใน Distro ของเราด้วยนะพี่น้อง เกิดวันดีคืนดี Windows มันแฮงค์ หรือ WSL2 มันพังขึ้นมา จะได้ไม่เสียใจภายหลัง ผมแนะนำให้ Backup เป็น Image ไว้เลย ง่ายดี

wsl --export  .tar
wsl --import   .tar

คำสั่งพวกนี้แหละช่วยชีวิตมาหลายรอบแล้ว สมัยก่อน Backup ด้วย Norton Ghost เดี๋ยวนี้ต้อง WSL --export

FAQ คำถามที่พบบ่อย

1. WSL2 กับ Virtual Machine ต่างกันยังไง?

อันนี้เป็นคำถามยอดฮิตเลย สมัยผมเปิดร้านเกมส์ก็มีคนถามบ่อยๆ (แต่ถามเรื่องเกมส์มากกว่า) คือ WSL2 มันไม่ได้จำลอง Hardware ทั้งหมดเหมือน VM แต่มันแชร์ Kernel กับ Windows ทำให้มันเร็วกว่าและกิน Resource น้อยกว่าเยอะ iCafeForex สมัยก่อนก็ใช้ VM ตอนหลังมาลอง WSL2 ชีวิตดีขึ้นเยอะ

2. ทำไม WSL2 ถึงใช้ Network ช้า?

WSL2 มันมี Network Stack เป็นของตัวเอง ซึ่งบางทีมันก็มีปัญหาเรื่อง Performance โดยเฉพาะการเข้าถึง Network Resources ภายนอก ลองเช็ค Firewall ดูว่าอนุญาตให้ WSL2 เข้าถึง Network ได้รึเปล่า หรือลองเปลี่ยน DNS Server ใน WSL2 ดู อาจจะช่วยได้

3. จะ Access ไฟล์จาก Windows ใน WSL2 ได้ยังไง?

ง่ายมาก! WSL2 มัน Mount Drive ของ Windows ไว้ที่ `/mnt/` เช่น ถ้าจะเข้าถึง Drive C: ก็ไปที่ `/mnt/c` ได้เลย แต่ระวังเรื่อง Permission ด้วยนะ บางทีต้อง `sudo` ถึงจะเขียนไฟล์ได้

4. WSL2 กินพื้นที่เยอะมาก ทำยังไงดี?

WSL2 มันใช้ Dynamic Disk Image คือมันจะขยายขนาดไปเรื่อยๆ ตามการใช้งาน ถ้าเนื้อที่มันเยอะเกินไป ลองใช้คำสั่ง `wsl --optimize-vhd` เพื่อ Shrink ขนาดของ Disk Image ดู

สรุป

WSL2 นี่แหละตัวช่วยให้ Developer ที่ใช้ Windows ทำงานได้คล่องตัวขึ้นเยอะ ไม่ต้องลง Dual Boot ให้วุ่นวาย ไม่ต้องใช้ VM ที่กิน Resource เยอะแยะ แต่ก็อย่าลืม Best Practices ที่ผมแนะนำไปนะ จะได้ใช้งาน WSL2 ได้อย่างเต็มประสิทธิภาพ และ Backup ข้อมูลสำคัญไว้เสมอ อย่าประมาท!