Skip to content

การกำหนดค่า WSL ​

ก่อนใช้ WSL Dashboard ระบบ Windows ของคุณต้องเปิดใช้งานและกำหนดค่าสภาพแวดล้อม WSL 2 อย่างถูกต้อง เอกสารนี้แบ่งออกเป็น 3 ส่วนหลัก:

  1. เปิดใช้งานและกำหนดค่า WSL: ติดตั้งและกำหนดค่าพื้นฐานของ WSL 2 ให้เสร็จสมบูรณ์
  2. คำสั่งที่รันได้ ≠ การติดตั้งสำเร็จ: อธิบายว่าคำสั่ง wsl ที่รันได้ไม่ได้หมายความว่าสามารถติดตั้ง Linux ได้สำเร็จ
  3. การตรวจสอบสาเหตุการติดตั้งล้มเหลว: วิธีตรวจสอบและแก้ไขเมื่อติดตั้งยังล้มเหลวหลังกำหนดค่าเสร็จ

1. เปิดใช้งานและกำหนดค่า WSL ​

บทนี้จะแนะนำคุณในการตั้งค่าพื้นฐานที่จำเป็นให้เสร็จสิ้น หลังจบบทนี้ โปรดอ่าน บทที่ 2 เพื่อทำความเข้าใจความแตกต่างระหว่างคำสั่งที่รันได้กับการติดตั้งสำเร็จ หากการติดตั้งยังมีปัญหา โปรดดู บทที่ 3

1.1 ตรวจสอบข้อกำหนดของระบบ ​

WSL 2 มีข้อกำหนดขั้นต่ำสำหรับเวอร์ชัน Windows กด Win + R พิมพ์ winver เพื่อตรวจสอบเวอร์ชันของคุณ:

  • Windows 10: เวอร์ชัน 1903 ขึ้นไป และหมายเลข Build ต้องเป็น 18362 ขึ้นไป
  • Windows 11: ทุกเวอร์ชันรองรับ

IMPORTANT

หากเวอร์ชันของคุณเก่าเกินไป โปรดอัปเกรดระบบของคุณก่อนผ่าน "Windows Update"

1.2 เปิดใช้งาน Hardware Virtualization ​

WSL 2 ทำงานบนเทคโนโลยีเสมือนจริง ดังนั้นต้องเปิดใช้งาน Virtualization Technology ใน BIOS/UEFI ของเมนบอร์ด

  • วิธีตรวจสอบ: เปิด "Task Manager" -> แท็บ "Performance" -> "CPU"
  • ดูสถานะ: ตรวจสอบว่าสถานะ "Virtualization" ที่มุมล่างขวาแสดงเป็น "Enabled"
  • วิธีเปิดใช้งาน: หากยังไม่ได้เปิดใช้งาน คุณต้องรีสตาร์ทคอมพิวเตอร์เข้าสู่การตั้งค่า BIOS/UEFI หาตัวเลือกเช่น Intel VT-x หรือ AMD-V แล้วตั้งเป็น Enabled

1.3 เปิดใช้งานฟีเจอร์ที่เกี่ยวข้องของ Windows ​

คุณต้องเปิดใช้งานฟีเจอร์ "Windows Subsystem for Linux" และ "Virtual Machine Platform"

วิธี A: ผ่านอินเทอร์เฟซกราฟิก (แนะนำ) ​

  1. กด Win + S ค้นหาและเปิด "เปิดหรือปิดฟีเจอร์ Windows"
  2. ทำเครื่องหมายสองรายการต่อไปนี้:
    • Windows Subsystem for Linux
    • Virtual Machine Platform
  3. คลิก "ตกลง" และ รีสตาร์ทคอมพิวเตอร์ เมื่อมีข้อความแจ้ง

วิธี B: ผ่านบรรทัดคำสั่ง (สิทธิ์ผู้ดูแลระบบ) ​

รัน PowerShell ในฐานะผู้ดูแลระบบและรันคำสั่งต่อไปนี้:

powershell
# เปิดใช้งาน WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# เปิดใช้งาน Virtual Machine Platform
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

หลังรันเสร็จ โปรดรีสตาร์ทคอมพิวเตอร์ด้วยตนเอง

1.4 ติดตั้ง/อัปเดต WSL Kernel ​

Windows เวอร์ชันใหม่สามารถรับอัปเดต WSL ผ่าน Microsoft Store ได้

  • ที่อยู่ดาวน์โหลด: Microsoft Store - Windows Subsystem for Linux
  • ดาวน์โหลดด้วยตนเอง: หากไม่สามารถใช้ Store ได้ คุณสามารถดาวน์โหลดแพ็กเกจติดตั้ง .msixbundle หรือ .msi ล่าสุดจาก WSL GitHub Releases เพื่อติดตั้งแบบออฟไลน์

1.5 ตั้งค่า WSL 2 เป็นเวอร์ชันเริ่มต้น ​

เพื่อให้แน่ใจว่าดิสทริบิวชันที่ติดตั้งใหม่ใช้ WSL 2 เป็นค่าเริ่มต้น ให้รันในเทอร์มินัล:

powershell
wsl --set-default-version 2

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

  • Error 0x80370102: มักเกิดจากการไม่เปิดใช้งาน virtualization ใน BIOS หรือมีความขัดแย้งกับ Hyper-V
  • สลับระหว่าง WSL 1 และ WSL 2: คุณสามารถใช้ wsl --set-version <ชื่อดิสทริบิวชัน> 2 เพื่ออัปเกรดอินสแตนซ์ WSL 1 ที่มีอยู่เป็น WSL 2

2. คำสั่งที่รันได้ ≠ การติดตั้งสำเร็จ ​

คำสั่งเช่น wsl --version, wsl -l -v ที่รันได้ตามปกติ ไม่ได้หมายความว่าคุณมีเงื่อนไขพร้อมสำหรับการติดตั้ง Linux ทั้งสองอยู่ในขั้นตอนที่แตกต่างกัน ไม่สามารถเทียบเท่ากันได้

คำสั่งที่รันได้เพียงหมายความว่า:

  • ✅ เปิดใช้งาน/ติดตั้งคอมโพเนนต์ WSL ใน Windows แล้ว
  • ✅ เครื่องมือบรรทัดคำสั่ง wsl.exe พร้อมใช้งาน
  • ✅ ระบบสามารถจดจำคำสั่งที่เกี่ยวข้องกับ WSL ได้

แต่การติดตั้งดิสทริบิวชัน Linux ให้สำเร็จ ยังต้องมีเงื่อนไขเพิ่มเติม จุดที่มักติดขัดมีดังนี้:

  1. ปิด virtualization: ไม่ได้เปิด VT-x / AMD-V ใน BIOS/UEFI WSL 2 เริ่มไม่ได้ หรือรายงานข้อผิดพลาด virtualization เมื่อติดตั้งดิสทริบิวชัน (วิธีตรวจสอบดู 1.2 เปิดใช้งาน Hardware Virtualization)
  2. เวอร์ชัน/หมายเลข Build ของ Windows ต่ำเกินไป: WSL 2 มีข้อกำหนดด้านเคอร์เนลและเวอร์ชัน เวอร์ชัน Home หรืออิมเมจองค์กรที่เก่าเกินไปอาจมีฟังก์ชันไม่ครบถ้วน (วิธีตรวจสอบดู 1.1 ตรวจสอบข้อกำหนดของระบบ)
  3. ยังไม่ได้ติดตั้งดิสทริบิวชัน Linux จริง ๆ: wsl -l -v ระบุเฉพาะดิสทริบิวชันที่ติดตั้งแล้ว หากยังไม่ได้ติดตั้งอะไร รายการก็จะว่างเปล่า ไม่ได้หมายความว่าสามารถรัน Ubuntu ได้โดยตรง
  4. ปัญหาเครือข่าย / Microsoft Store: wsl --install -d <ดิสทริบิวชัน> ต้องดึงอิมเมจจาก Store หรือเครือข่าย เครือข่ายองค์กร พร็อกซี ไฟร์วอลล์อาจขัดขวางได้ทั้งหมด
  5. สิทธิ์ไม่เพียงพอ: การติดตั้งดิสทริบิวชันหรือแก้ไขการตั้งค่า WSL ต้องใช้สิทธิ์ผู้ดูแลระบบ

TIP

พูดง่าย ๆ คือ: ใช้คำสั่ง WSL ได้ ≠ Linux พร้อมใช้งาน เพียงได้ "บัตรเข้าชม" เท่านั้น ยังไม่ได้ติดตั้งระบบจริง

3. การตรวจสอบสาเหตุการติดตั้งล้มเหลว ​

หลังจากกำหนดค่าตาม บทที่ 1 เสร็จ (หรือคุณคิดว่าเสร็จแล้ว) หากรัน wsl --install ยังล้มเหลว ให้ตรวจสอบตามลำดับต่อไปนี้

3.1 ทำ "การตรวจสอบคลิกเดียว" ก่อน ​

รัน PowerShell ในฐานะผู้ดูแลระบบ รันตามลำดับ:

powershell
wsl --install --no-distribution
wsl --set-default-version 2
  • ✅ หากสองคำสั่งนี้รันได้อย่างราบรื่น หมายความว่าเปิดใช้งานคอมโพเนนต์เสริมของ WSL แล้ว และเงื่อนไข virtualization ผ่านเบื้องต้น
  • ❌ หากล้มเหลว จะแจ้งโดยตรงว่าขาดอะไร (เช่น Virtual Machine Platform, Hyper-V, virtualization ใน BIOS ฯลฯ)

จากนั้นรัน systeminfo และตรวจสอบให้แน่ใจว่าในผลลัพธ์มี Virtualization Enabled In Firmware: Yes หากไม่มีข้อผิดพลาดข้างต้น ก็สามารถรัน wsl --install ติดตั้งดิสทริบิวชันได้อย่างสบายใจ

NOTE

ไม่มีคำสั่งใดที่การันตี 100% ว่า wsl --install จะสำเร็จ แต่การตรวจสอบข้างต้นยืนยันได้ว่าเงื่อนไขการติดตั้งครบถ้วนหรือไม่

3.2 รายการตรวจสอบด้วยตนเอง ​

หาก "การตรวจสอบคลิกเดียว" ยังหาปัญหาไม่พบ ให้ตรวจสอบทีละรายการ:

  1. ตรวจสอบว่าเปิด virtualization ของ BIOS/firmware หรือไม่: รัน systeminfo ใน PowerShell ผู้ดูแลระบบ ผลลัพธ์ต้องมี Virtualization Enabled In Firmware: Yes
  2. ตรวจสอบว่าเปิดใช้งาน Windows features หรือไม่:
    powershell
    Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    Get-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
    สถานะของทั้งสองคำสั่งต้องเป็น Enabled
  3. ตรวจสอบว่า WSL พร้อมใช้งานหรือไม่: รัน wsl --version ควรมีผลลัพธ์ปกติ หากแจ้งว่าไม่มีคำสั่ง แสดงว่ายังไม่ได้ติดตั้งคอมโพเนนต์ WSL โปรดกลับไปที่ บทที่ 1
  4. ตรวจสอบว่าสามารถใช้ WSL 2 ได้หรือไม่ (kernel & Virtual Machine Platform): รัน wsl --set-default-version 2 ควรสำเร็จ สาเหตุความล้มเหลวทั่วไป: ยังไม่ได้เปิดใช้งานVirtual Machine Platform หรือไม่ได้เปิด VT-x / AMD-V ใน BIOS

3.3 สรุปสาเหตุความล้มเหลวทั่วไป ​

สถานการณ์คำอธิบายวิธีแก้ไข
ไม่ได้เปิด virtualization ใน BIOSล้มเหลวแน่นอนรีสตาร์ทเข้า BIOS เปิด VT-x / AMD-V (ดู 1.2)
Windows 10 ต่ำกว่า 19041ไม่รองรับ wsl --installอัปเกรดระบบ (ดู 1.1)
สภาพแวดล้อมองค์กรปิด Hyper-V / virtualizationอาจล้มเหลวติดต่อผู้ดูแลระบบ
ระบบ Home รุ่นเก่าต้องติดตั้งด้วยตนเองติดตั้ง WSL kernel ด้วยตนเองตาม 1.4

3.4 Error 0xc03a0014: หา Virtual Disk Support Provider ไม่พบ ​

ข้อความข้อผิดพลาดคือ Cannot find a virtual disk support provider for the specified file นี่ไม่ใช่ปัญหาของดิสทริบิวชัน Linux เอง แต่เป็น สแตกดิสก์เสมือน VHD/VHDX ของ Windows ทำงานผิดปกติ ทำให้ WSL 2 ล้มเหลวในการลงทะเบียนดิสทริบิวชัน สร้าง/เมานต์ ext4.vhdx

ทำการตรวจสอบขั้นต่ำก่อน: รัน PowerShell ในฐานะผู้ดูแลระบบ รันการทดสอบ New-VHD (เช่น New-VHD -Path C:\test.vhdx -SizeBytes 1GB) หากคำสั่งนี้รายงานข้อผิดพลาดเดียวกันด้วย แสดงว่าปัญหาอยู่ฝั่ง Windows 100% ไม่เกี่ยวกับดิสทริบิวชัน

ตรวจสอบและแก้ไขตามลำดับต่อไปนี้:

  1. Virtual Disk service ไม่ได้รัน: เปิด services.msc หา service Virtual Disk ตั้งประเภทการเริ่มต้นเป็น "อัตโนมัติ" และเริ่มใช้งาน

  2. ยังไม่ได้เปิดใช้งานฟีเจอร์ WSL / Virtual Machine Platform (หรือยังไม่生效): รันคำสั่งใน 1.3 เปิดใช้งานฟีเจอร์ที่เกี่ยวข้องของ Windows อีกครั้ง แล้วต้องรีสตาร์ท Windows รุ่น Home ไม่มี Hyper-V ครบชุด แต่ WSL 2 ต้องการเพียงVirtual Machine Platform ไม่ใช่อินเทอร์เฟซการจัดการ Hyper-V

  3. ไดรเวอร์/อุปกรณ์ดิสก์เสมือนหาย: เปิด Device Manager ตรวจสอบว่ามีรายการเหล่านี้ใน "System devices / Storage controllers" หรือไม่:

    • Microsoft Virtual Disk Provider
    • Microsoft Virtual Drive Enumerator
    • Microsoft VHD Loopback Controller

    หากขาดหายไป สามารถเพิ่มด้วยตนเองผ่าน hdwwiz.exe (Storage controllers → Microsoft → Microsoft VHD Loopback Controller) และตรวจสอบว่า service FsDepends ไม่ถูกปิดใช้งาน

  4. อิมเมจที่นำเข้าไม่เป็นไปตามข้อกำหนดของ WSL: เมื่อใช้ wsl --import --vhd VHDX ต้องเป็นไฟล์ระบบ ext4 เท่านั้น ห้ามเป็นดิสก์ที่เข้ารหัส LUKS, raw.img ทั่วไป, Live ISO หรือดิสก์เปล่าที่ฟอร์แมต NTFS/FAT .img / .qcow2 / .iso ไม่สามารถ wsl --import --vhd ได้โดยตรง

  5. ปัญหาพาธ/สิทธิ์/ไฟล์ระบบ: ไดเรกทอรีปลายทางต้องอยู่บนดิสก์ NTFS (FAT32/exFAT ไม่ได้) หลีกเลี่ยงอักษรจีน ช่องว่าง และสัญลักษณ์พิเศษในพาธ อย่านำเข้าจากไดรฟ์เครือข่าย OneDrive หรือโฟลเดอร์บีบอัด ต้องใช้ PowerShell ผู้ดูแลระบบจริง (ไม่ใช่เทอร์มินัลธรรมดา)

  6. คอมโพเนนต์ระบบเสียหาย: รัน DISM และ SFC ตามลำดับเพื่อซ่อมแซมคอมโพเนนต์ระบบ แล้วลองใหม่:

    powershell
    DISM.exe /Online /Cleanup-Image /RestoreHealth
    sfc /scannow

TIP

เครื่องเสมือนของบุคคลที่สาม (VirtualBox, VMware) หรือฟังก์ชันแซนด์บ็อกซ์/การเสริมความแข็งแกร่งของซอฟต์แวร์ความปลอดภัย (เช่น 360, Huorong) อาจรบกวนการทำงานของดิสก์เสมือนได้ ระหว่างตรวจสอบสามารถปิดชั่วคราวแล้วลองใหม่ได้