สวัสดีครับ! วันนี้เราจะมาพูดถึงสถานการณ์คลาสสิกที่หลายคนน่าจะเคยเจอ โดยเฉพาะชาว DIY ที่ใช้ Raspberry Pi (ในที่นี้คือ RPi 5 ตัวแรง) ครับ
สถานการณ์: ผมมีฮาร์ดดิสก์ที่ฟอร์แมตเป็นระบบไฟล์ Linux (เช่น ext4) ซึ่งเต็มไปด้วยไฟล์งานหรือแบ็คอัพ แต่ผมต้องการโอนไฟล์รูปภาพจำนวนมากจากคอมพิวเตอร์ Windows (Backup files) ของผมไปยังฮาร์ดดิสก์ลูกนั้น ปัญหาคือ Windows อ่านไดร์ว ext4 โดยตรงไม่ได้
ทางออกที่ยอดเยี่ยมคือการใช้ Raspberry Pi 5 ที่ต่อกับฮาร์ดดิสก์ USB ลูกนั้นเป็น "ตัวกลาง" หรือ "NAS ขนาดย่อม" (Network Attached Storage) ครับ
ในบรรดาซอฟต์แวร์โอเพ่นซอร์สหลายตัวที่ทำงานนี้ได้ ตัวที่เหมาะที่สุดสำหรับการ "แชร์ไดร์ว" ให้ Windows มองเห็นแบบแนบเนียนที่สุดคือ Samba ครับ
🧰 Samba – สร้าง Network Drive ให้ Windows ใช้งาน
Samba คือซอฟต์แวร์ที่ใช้โปรโตคอล SMB/CIFS ซึ่งเป็นโปรโตคอลเดียวกับที่ Windows ใช้ในการแชร์ไฟล์และพรินเตอร์ในเครือข่าย (Network Neighborhood)
เหมาะสำหรับ: การทำให้ฮาร์ดดิสก์ที่ต่อกับ Pi ของคุณปรากฏเป็น "Network Drive" ใน File Explorer ของ Windows เลย
ข้อดี: ใช้งานง่ายมากจากฝั่ง Windows, ไม่ต้องติดตั้งโปรแกรมอะไรบน Windows เพิ่มเติม, สามารถ Map Network Drive (เช่น Z:) ให้เป็นไดร์วถาวรใน "This PC" ได้เลย
ขั้นตอนการติดตั้งและตั้งค่า Samba บน Raspberry Pi 5
เราจะมาเริ่มกันทีละขั้นตอนครับ สมมติว่าคุณเสียบฮาร์ดดิสก์ USB เข้ากับ RPi 5 ของคุณเรียบร้อยแล้ว
ขั้นตอนที่ 1: ตรวจสอบและ Mount ฮาร์ดดิสก์
ก่อนอื่น เราต้องทำให้ RPi รู้จักและพร้อมใช้งานฮาร์ดดิสก์ลูกนี้ก่อน
หาชื่อไดร์ว:
Bash
lsblk
คุณจะเห็นรายการไดร์วต่างๆ มองหาไดร์ว USB ของคุณ (เช่น /dev/sda1 หรือ /dev/sdb1)
สร้างจุด Mount: เราจะสร้างโฟลเดอร์ว่างๆ เพื่อใช้เป็น "ประตู" เข้าสู่ฮาร์ดดิสก์
Bash
sudo mkdir /media/sharedrive
Mount ไดร์ว: (แทนที่ /dev/sda1 ด้วยชื่อไดร์วที่คุณหาเจอ)
Bash
sudo mount /dev/sda1 /media/sharedrive
(สำคัญ) ทำให้ Mount อัตโนมัติทุกครั้งที่เปิดเครื่อง: เราต้องแก้ไขไฟล์ fstab เพื่อที่ว่าเมื่อ RPi รีบูต ไดร์วนี้จะถูกเชื่อมต่ออัตโนมัติ
หา UUID (รหัสประจำตัวไดร์ว) ซึ่งปลอดภัยกว่าการใช้ /dev/sda1:
Bash
sudo blkid /dev/sda1
จดค่า UUID="..." ของคุณไว้
แก้ไขไฟล์ fstab:
Bash
sudo nano /etc/fstab
เพิ่มบรรทัดนี้เข้าไปท้ายไฟล์ (เปลี่ยน YOUR_UUID เป็นค่าที่คุณจดไว้ และเปลี่ยน ext4 หากไดร์วคุณเป็นฟอร์แมตอื่น):
UUID=YOUR_UUID /media/sharedrive ext4 defaults,auto,users,rw,nofail 0 0
กด Ctrl+O เพื่อบันทึก และ Ctrl+X เพื่อออก
ขั้นตอนที่ 2: ติดตั้ง Samba
อัปเดตระบบและติดตั้ง Samba:
Bash
sudo apt update sudo apt install samba samba-common-bin -y
ขั้นตอนที่ 3: ตั้งค่า Samba (smb.conf)
นี่คือหัวใจสำคัญ เราจะบอก Samba ว่าจะแชร์โฟลเดอร์ไหน
สำรองไฟล์ตั้งค่าเดิม:
Bash
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
แก้ไขไฟล์ตั้งค่า:
Bash
sudo nano /etc/samba/smb.conf
เพิ่มการตั้งค่า Share: เลื่อนไปที่ล่างสุดของไฟล์ แล้วเพิ่มส่วนนี้เข้าไป:
Ini, TOML
[RPi_Share] comment = Raspberry Pi 5 Shared Drive path = /media/sharedrive browseable = yes writable = yes guest ok = no read only = no create mask = 0775 directory mask = 0775
[RPi_Share]: นี่คือชื่อ "Share" ที่จะปรากฏใน Windows
path: คือตำแหน่งโฟลเดอร์ที่เรา Mount ไดร์วไว้
guest ok = no: เราจะไม่อนุญาตให้ใครก็ได้เข้ามา (ต้องใช้รหัสผ่าน)
ขั้นตอนที่ 4: สร้างผู้ใช้งานและรหัสผ่านสำหรับ Samba
เพื่อความปลอดภัย เราจะไม่ใช้รหัสผ่านของระบบ Linux โดยตรง แต่จะสร้างรหัสผ่าน "Samba" แยกต่างหากให้กับผู้ใช้ Linux ของเรา (เช่น ผู้ใช้ pi หรือผู้ใช้หลักที่คุณใช้ Login)
สร้างรหัสผ่าน Samba: (แทนที่ pi ด้วย username ของคุณ ถ้าคุณไม่ได้ใช้ pi)
Bash
sudo smbpasswd -a pi
ระบบจะถามให้คุณตั้งรหัสผ่านใหม่ รหัสผ่านนี้คือสิ่งที่คุณจะใช้เชื่อมต่อจาก Windows (ไม่จำเป็นต้องเหมือนกับรหัสผ่าน Linux)
ขั้นตอนที่ 5: ตั้งค่าสิทธิ์ (Permission)
เราต้องแน่ใจว่าผู้ใช้ pi (หรือผู้ใช้ของคุณ) มีสิทธิ์เขียนไฟล์ลงในไดร์วที่เรา Mount ไว้
Bash
sudo chown -R pi:pi /media/sharedrive sudo chmod -R 775 /media/sharedrive
ขั้นตอนที่ 6: รีสตาร์ท Samba
เพื่อให้การตั้งค่าใหม่มีผล:
Bash
sudo systemctl restart smbd sudo systemctl restart nmbd
🚀 สาธิตการโอนย้ายไฟล์ (เชื่อมต่อจาก Windows)
ตอนนี้ Raspberry Pi 5 ของคุณพร้อมแล้ว กลับมาที่คอมพิวเตอร์ Windows ครับ
หา IP Address ของ RPi 5: กลับไปที่ RPi 5 (หรือ SSH) แล้วพิมพ์:
Bash
ip a
มองหา IP ของคุณในส่วน wlan0 (ถ้าใช้ Wi-Fi) หรือ eth0 (ถ้าใช้สาย LAN) เช่น 192.168.1.50
เชื่อมต่อจาก Windows File Explorer:
เปิด File Explorer (กด Win + E)
ในช่อง Address Bar ด้านบน พิมพ์ \\ ตามด้วย IP ของ RPi 5 เช่น: \\192.168.1.50 แล้วกด Enter
ใส่รหัสผ่าน:
Windows จะถามหา Username และ Password
Username: pi (หรือชื่อผู้ใช้ที่คุณตั้งค่า smbpasswd)
Password: รหัสผ่านที่คุณตั้งค่าด้วยคำสั่ง smbpasswd (ไม่ใช่รหัสผ่าน Linux)
ติ๊ก "Remember my credentials" เพื่อความสะดวก
เข้าถึงไฟล์: คุณจะเห็นโฟลเดอร์ชื่อ RPi_Share (หรือชื่อที่คุณตั้งใน smb.conf) เมื่อดับเบิลคลิกเข้าไป... นั่นคือฮาร์ดดิสก์ ext4 ที่ต่ออยู่กับ RPi 5 ของคุณครับ!
โอนย้ายไฟล์: ตอนนี้คุณสามารถลากและวาง (Drag-and-Drop) โฟลเดอร์รูปภาพจำนวนมากจาก Windows ของคุณลงในหน้าต่าง RPi_Share นี้ได้เลย ไฟล์จะถูกโอนย้ายผ่านเครือข่ายไปยังฮาร์ดดิสก์บน RPi 5
(ทางเลือก) Map Network Drive เพื่อความถาวร:
ในหน้า File Explorer ที่คุณเห็น RPi_Share ให้คลิกขวาที่โฟลเดอร์นั้น
เลือก "Map network drive..."
เลือกตัวอักษรไดร์ว (เช่น Z:)
ติ๊ก "Reconnect at sign-in"
กด Finish
เพียงเท่านี้ ไดร์วจาก RPi 5 ของคุณก็จะปรากฏใน "This PC" เหมือนเป็นไดร์วปกติของ Windows เลย
บทส่งท้าย
ด้วยพลังของ Raspberry Pi 5 และซอฟต์แวร์โอเพ่นซอร์สอย่าง Samba เราสามารถแก้ปัญหา "Windows อ่านไดร์ว Linux ไม่ได้" ได้อย่างง่ายดาย สถานการณ์ของผมที่ต้องการย้ายรูปภาพจำนวนมากไปยังฮาร์ดดิสก์ที่ฟอร์แมตแบบ Linux ก็สำเร็จลุล่วง โดยที่ฝั่ง Windows นั้นใช้งานได้สะดวกสุดๆ เหมือนเป็นไดร์วในเครื่องตัวเองเลยครับ
นี่เป็นเพียงหนึ่งในหลายวิธี แต่สำหรับการแชร์ไดร์วในเครือข่ายบ้าน Samba ถือเป็นตัวเลือกที่คลาสสิกและตรงไปตรงมาที่สุดครับ!
Our related Products
Check out what's new in our company !