Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows

วิธีติดตั้ง Linux บน Windows ด้วย WSL (Windows Subsystem for Linux)

สำหรับประสบการณ์ Linux แบบเต็มรูปแบบ ไม่มีอะไรแทนการติดตั้งจริง แต่ถ้าคุณเป็นผู้ใช้ Windows อยากลอง Linux, Windows Subsystem for Linux (WSL) เป็นจุดเริ่มต้นที่ดี การรัน Linux Distro บน Windows ง่ายมาก ไม่ว่าจะเพิ่งเรียน Linux หรืออยากใช้ Linux Development Environment ลองดูสิ ถ้าสนใจ

WSL (Windows Subsystem for Linux) คืออะไร?

WSL เป็นฟีเจอร์ติดตั้งได้ใน Windows ให้รัน Linux Distro ที่รองรับจาก Microsoft Store บน Windows 10/11 Microsoft ร่วมมือกับ Canonical (ผู้เผยแพร่ Ubuntu) นำ Bash Command Line มาสู่ Windows Desktop ทั่วไป เพื่อรวม Workflow ของ Linux และ Windows

WSL รองรับ Linux File System ด้วยคำสั่ง Bash แต่ไม่ให้ Linux Desktop Experience แบบเต็ม (ต้องใช้ VM หรือ Dual-boot) ตั้งแต่ Windows 11 เป็นต้นมา WSL รองรับ Native Linux GUI Apps เช่น Gedit, GIMP, Nautilus ร่วมกับ Bash

สำหรับผู้ใช้ Linux ที่ชอบ Command Line Tools, WSL รู้สึก tự nhiên และนักพัฒนา Windows ที่ต้อง Deploy Windows Apps ไป Linux Server Environment ก็ใช้งานได้สะดวก

Linux Distros ที่ทำงานกับ WSL

เพื่อใช้ Distro โปรดใน WSL ตรวจสอบก่อนว่าโหลดได้จาก Microsoft Store ตัวอย่างที่รองรับ:

  • Ubuntu
  • Debian
  • Kali Linux
  • SUSE Linux Enterprise Server
  • Fedora Remix for WSL (Paid)
  • openSUSE Leap
  • Alpine Linux

ประโยชน์ของ WSL: คุณจะได้อะไร?

  • มี Linux บน Windows: ได้ Linux VM รันบน Windows ติดตั้ง Distro โปรดหลายตัวพร้อมกัน
  • รัน Linux Apps เป็น Standalone Windows Apps: เปิด Linux Apps จาก Start Menu หรือ Pin ไว้ Taskbar เข้าถึงจาก Windows Desktop ได้
  • สลับ Windows/Linux ได้รวดเร็ว: สลับไปมาเร็ว และสำคัญคือ เข้าถึง Windows Files/Programs จากใน Linux Shell ได้ WSL อาจเป็นซอฟต์แวร์เดียวที่ Cut/Paste ระหว่าง Windows และ Linux Apps ได้
  • รองรับ Cross-platform Languages/Services: รันโปรแกรมขั้นสูงระหว่าง 2 OS ที่รวมกัน: vim, emacs, NodeJS, Python, Ruby, C/C++, Rust, Go, MySQL, Apache, MongoDB
  • รองรับ Windows Apps สำหรับนิสัย Linux User: ผู้ใช้ Linux บ่อย? นำ Linux Commands มา Windows Desktop โดยไม่ต้องจัดการ UI ไม่ว่าจะ Edit Word หรือรัน Notepad++ ทำได้แบบ Linux

แต่ถ้าคุณเป็น Windows User ไม่เคย Linux ต้องเรียน Basic Linux Commands ก่อน ไม่เยอะมากสำหรับความต้องการ Windows User

ติดตั้งและตั้งค่า WSL ใน Windows 10

ต้อง Windows 10 เวอร์ชันล่าสุด แค่นั้นเอง นอกจากรู้ใช้ PowerShell หรือ Command Prompt

คำแนะนำด้านล่างตั้งค่า WSL2 ล่าสุด (Build 21354 ณ กันยายน 2021)

  1. ค้นหา Control Panel Feature "Turn Windows features on or off"
  2. เมนู Windows Features เปิด ทิก "Windows Subsystem for Linux" และ "Windows PowerShell"
  3. เปิด PowerShell หรือ Command Line (Run as Administrator)
  4. วาง Script นี้:
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  5. ถ้าขอ Restart ให้ Restart ไม่งั้นข้ามไป
  6. เปิด Microsoft Store ค้นหา "Linux" ดูตัวเลือกทั้งหมด ตัวอย่างติดตั้ง Ubuntu
  7. คลิก "Install" ใน Store App จะดาวน์โหลด Distro ที่ต้องการ
  8. ได้ Notification ตอนติดตั้งเสร็จ ในอนาคตเปิดจาก Start Menu ได้เลย
  9. Linux Bash Window เปิด ใส่ Username (ต่างจาก Windows Login ได้)
  10. ใส่ Password และ Retype (Note: Password ไม่見可見 เก็บไว้ดีๆ ลืม = Uninstall Distro = ลบ Linux Files ทั้งหมด)
  11. Update Installation:
    sudo apt update
  12. รอ Update เสร็จ เช็ค Upgradable:
    apt list --upgradable
  13. พบ Upgrades ทั้งหมด ใช้คำสั่งนี้ติดตั้งทั้งหมด:
    sudo apt upgrade
  14. Update ใช้เวลาสักพัก (Extract Templates, Pre-config, Apply Settings) ให้อดทน กระบวนการอัตโนมัติ
  15. อยากติดตั้ง Ubuntu Packages เฉพาะ (npm, groovy, impish, hirsute) ใช้:
    sudo apt install [package_name]
  16. รอจน Progress Bar 100% สีเขียว ถ้า Error (PC Misconfig) จะเป็นสีแดงแจ้งวิธีแก้

ใช้ WSL ร่วมกับ Windows

ใช้ Linux Installation เป็นระบบของตัวเองบน Windows ไฟล์/โปรแกรมแยกต่างหาก อาจเก็บไฟล์บน Linux เพื่อความเร็ว แต่จุดเด่นของ WSL คือโต้ตอบกับ Windows Files/โฟลเดอร์โดย Mount Drive ไปที่ Linux System ทำให้ใช้ Linux กับของบน Windows ได้ เก็บของไว้ที่เดียวกัน

ตอนนี้เรียนรู้ติดตั้ง Linux ด้วย WSL บน Windows 10 แล้ว มาทำความคุ้นเคยกับ Basic Commands

Basic Linux Commands

ถ้าคุ้นเคย Linux Command Line Navigation ข้ามไปได้ ไม่งั้นคำสั่งพื้นฐานด้านล่างจำเป็น

ใช้ Linux Commands ใน Windows Shell (PowerShell/Command Prompt) ง่ายๆ แค่:

wsl [command]

  1. Print Working Directory (Path ปัจจุบันจาก Root):
    wsl pwd
  2. List ไฟล์ใน Directory ปัจจุบัน:
    wsl ls
    (รัน Linux Command บน Windows โดยไม่เปิด Linux OS)
  3. สร้าง Directory:
    wsl mkdir "directory_name"
  4. เปลี่ยน Default Path ไป Directory ใหม่:
    cd "created_directory_name"

ดู Screenshot ด้านล่างสำหรับคำสั่งข้างต้น

  1. เริ่ม OS ทั้งหมดจาก PowerShell/Command Prompt:
    wsl.exe
    หรือ
    bash.exe

ที่สุดคุณจะอยากรู้ เข้าถึง Windows Directories จากใน Linux System เอง จุดสำคัญคือ Windows ถูก Mount เป็น External Drive ให้ Linux System ใช้เป็น Storage คล้าย Edit ไฟล์บน Flash Drive

  1. เปิด Linux Terminal (Ubuntu) As Windows Administrator
  2. เข้าถึง C: Drive:
    cd /mnt/c
  3. สร้างโฟลเดอร์:
    mkdir [your_directory_name]
  4. เปิด File Explorer เช็ค C: Drive ว่า Ubuntu สร้างโฟลเดอร์นั้นจริง
  5. ไปที่ Directory Path:
    cd /mnt/c/[your_directory_name]
  6. สร้างไฟล์:
    touch [your_file_name]
  7. เช็คไฟล์ Text ใหม่ใน Directory ที่เลือก
  8. Edit ไฟล์:
    nano [your_file_name]
  9. ทดสอบ พิมพ์ข้อความใดๆ ใน Command Screen จะเพิ่มการเปลี่ยนแปลงในไฟล์ที่ Bash สร้าง กด Ctrl+O Save, Ctrl+X Exit
  10. เช็ค Windows File System อีกครั้ง ควรเห็น Text File พร้อมเนื้อหาที่ป้อน

ถ้าอยาก Navigate ไป Folder/Document อื่นบน Windows Drive Edit ด้วย Ubuntu ก็ได้

  1. อยากเข้าถึง Linux Files ใน Windows หรืออยาก GUI Representation ของ Filesystem: ไปที่ Linux Directory ที่อยากเห็น พิมพ์:
    explorer.exe .
    จุดท้ายแทน Current Directory Explorer.exe จะเปิด Windows Explorer แสดง Linux Files
  2. Launch Windows Apps/รัน Windows Commands จาก Linux ได้ เช่น:
    Notepad.exe
    เปิด Notepad

รัน Linux GUI Apps ใน Windows 11

เห็นแล้ววิธีรัน Linux Command Line ใน Windows 10 ตั้งแต่ Windows 11 เป็นต้นมา รัน GUI Apps บน WSL ได้ (จำกัด)

ต้อง Windows 11 Build 22000 ขึ้นไป

  1. Upgrade Windows 10 → 11 ตามคู่มือ
  2. Windows 11 PowerShell Admin Mode ติดตั้ง Ubuntu:
    wsl --install -d Ubuntu
  3. Update WSL:
    wsl --update
  4. รอดาวน์โหลด Distro เสร็จ Reboot 1 ครั้ง
  5. Restart เสร็จ Feature Updates 有效 Distro ใหม่ติดตั้ง อัตโนมัติ Launch
  6. Target Distro Launch ใน Windows 11 Bash Window ติดตั้ง GUI Apps เช่น Gedit (Text Editor):
    sudo apt install gedit -y
  7. Gedit ติดตั้งเสร็จ Launch:
    gedit ~/.bashrc

เห็นวิธีติดตั้ง/Launch GUI Apps ใน Linux Bash Terminal แล้ว ถ้ารู้ Linux Commands ลองใช้บน Windows ได้

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

1. Uninstall WSL หรือ Linux Distros จาก Windows PC ยังไง?

Uninstall WSL และ Distros ได้ผ่าน PowerShell/Command Line หรือ "Add or remove programs" (Win10) / "Apps and Features" (Win11)

Uninstall Linux Distro ที่ Config ไว้ด้วย PowerShell Admin:

wslconfig /u "distro name"

Verify Uninstall:

wsl -l

แยก WSL จาก PowerShell:

Get-WmiObject -Class Win32_Product | Select-Object -Property Name
ใช้ wsl --help ช่วย Uninstall

วิธีง่ายกว่า: ไป Apps List คลิก Uninstall WSL (หน้าจอ Windows 11)

2. WSL Files เก็บที่ไหนบน Windows Device?

เข้าถึง WSL Files บน Windows 10/11 สำหรับ Distro ที่ติดตั้ง ค้นหา Hidden Folder %LOCALAPPDATA% ใน C Drive

3. Windows Linux Subsystem ปลอดภัยไหม?

ปลอดภัย Host Windows System ควบคุม Guest Linux Subsystem เต็มที่ ตราบใดที่เปิด Security Features ใน Windows ด้วย Windows Defender และแก้ Setting Errors ใน Defender File Virtual Linux Subsystem ก็ปลอดภัย

อะไรอีกที่ทำได้?

ตอนนี้รู้ติดตั้ง Linux บน Windows 10/11 และการโต้ตอบแล้ว ทำอะไรก็ได้ รัน Programming Languages, Local Servers, ใช้ Windows IDE ทำงานใน Linux Shell, รัน Multiple Linux Distros พร้อมกัน หรือเล่น Linux เพื่อคุ้นเคย Command Line ค่าเสียหายต่ำ ผิดพลาด Reset/Reinstall Distro ง่าย

ทำงานกับ Bash Prompts ดูตัวเลือกที่ดีที่สุด ขณะรัน Linux Subsystem บน Windows ลองดู Best Linux Games บน Windows PC