Rain WikiWindows · Linux · Android

/etc/fstab

ไฟล์กำหนดค่าทุกดิสทริบิวชัน Linuxลบได้อย่างปลอดภัย: ไม่

/etc/fstab คือไฟล์ที่บอก Linux ว่าต้องเมานต์ระบบไฟล์ใดบ้างที่จุดไหนและด้วยตัวเลือกใดในขณะบูต แต่ละบรรทัดจะอธิบายระบบไฟล์หรือพื้นที่ swap หนึ่งรายการ บรรทัดที่ผิดพลาดอาจทำให้ระบบไม่สามารถบูตได้ตามปกติ ดังนั้นควรทดสอบการเปลี่ยนแปลงก่อนทำการรีบูต

1ฟิลด์ทั้งหก

แต่ละบรรทัดมีหกฟิลด์ ได้แก่ อุปกรณ์ (ตัวอย่างเช่น UUID=...), จุดเมานต์, ประเภทของระบบไฟล์ (ext4, xfs, vfat, swap), ตัวเลือกการเมานต์ (ตัวอย่างเช่น defaults, noatime, nofail), ฟิลด์ dump (ปกติคือ 0) และลำดับการ fsck (1 สำหรับระบบไฟล์ root, 2 สำหรับระบบไฟล์อื่น, 0 เพื่อข้ามการตรวจสอบ)

2เหตุผลที่ใช้ UUID

ชื่ออุปกรณ์เช่น /dev/sdb1 อาจเปลี่ยนแปลงได้เมื่อมีการเพิ่มหรือจัดลำดับดิสก์ใหม่ UUID หรือ LABEL จะระบุตัวระบบไฟล์เองเพื่อให้เมานต์ได้ถูกต้อง คำสั่ง blkid หรือ lsblk -f จะแสดงค่า UUID

3nofail และ systemd

ด้วย systemd บรรทัดใน fstab จะถูกเปลี่ยนเป็นหน่วยการเมานต์ (mount units) ในขณะบูต ตัวเลือก 'nofail' ช่วยให้การบูตดำเนินต่อไปได้หากดิสก์ที่ไม่สำคัญ เช่น ไดรฟ์ USB หายไป

วิธีการเพิ่มและทดสอบรายการ fstab

  1. ค้นหา UUID ของระบบไฟล์: lsblk -f
  2. สร้างจุดเมานต์ ตัวอย่างเช่น: sudo mkdir -p /mnt/data
  3. สำรองไฟล์: sudo cp /etc/fstab /etc/fstab.bak
  4. เพิ่มบรรทัดเช่น: UUID=<uuid> /mnt/data ext4 defaults,nofail 0 2
  5. ตรวจสอบไฟล์: sudo findmnt --verify
  6. เมานต์ทุกอย่างที่ระบุไว้โดยไม่ต้องรีบูต: sudo mount -a

ข้อควรระวัง

  • ข้อผิดพลาดในบรรทัด root หรือ /boot อาจทำให้ระบบเริ่มทำงานในโหมดฉุกเฉิน (emergency mode)
  • เก็บสำเนาของไฟล์ที่ใช้งานได้ไว้และทดสอบด้วย mount -a ก่อนทำการรีบูต

แหล่งอ้างอิง

  1. หน้าคู่มือ fstab(5) man7.org
  2. หน้าคู่มือ findmnt(8) man7.org

ตรวจสอบล่าสุด: