เกือบทุกคนรู้จัก chkdsk (Check Disk Utility) ที่ใช้ได้ในเกือบทุกเวอร์ชัน Windows สำหรับคนที่ไม่รู้ chkdsk คืออะไร มันอ่านว่า "check disk" และเป็นคำสั่งที่รันจาก Command Prompt/Power Shell หรือผ่านหน้าต่าง Properties เพื่อใช้คำสั่ง chkdsk ผู้ใช้ต้องมีไฟล์ Autochk.exe บนระบบ
ทำไมต้องใช้ Chkdsk?
ตอนนี้คุณรู้ว่า chkdsk คืออะไรแล้ว คุณคงสงสัยว่าจะใช้คำสั่งนี้เมื่อไหร่ คำสั่ง chkdsk ใช้ตรวจสอบและแก้ไขข้อผิดพลาดบนดิสก์เป้าหมาย เช่น หากคุณเข้าถึงดิสก์ไหนไม่ได้ หรือสงสัยว่าไฟล์อาจเสียหาย คุณสามารถใช้คำสั่ง chkdsk ตรวจสอบดิสก์หาข้อผิดพลาดและแก้ไขได้
มี 2 สิ่งหลักที่ chkdsk ใช้ได้:
- Disk Errors: Chkdsk ใช้ตรวจหาปัญหาความสมบูรณ์ของระบบไฟล์ของดิสก์โวล्यุมที่เลือก หากพบปัญหาความสมบูรณ์ของระบบไฟล์หรือ metadata ระบบไฟล์ จะแก้ไขข้อผิดพลาดตรรกะเหล่านั้นอัตโนมัติ
- Physical Errors: Chkdsk ใช้ตรวจหา bad sectors บนดิสก์โวล्यุมที่เลือก Bad sectors เกิดจากความเสียหายทางกายภาพของดิสก์ หรือจากการเขียน sector ที่ผิดปกติ สิ่งแรกเรียกว่า hard bad sector ส่วนหลังเรียกว่า soft bad sector Chkdsk แก้ไขข้อผิดพลาดเหล่านี้อัตโนมัติเช่นกัน
หลายคนสงสัยการใช้คำสั่ง chkdsk เพราะมันไม่ใช่เครื่องมือตรวจสอบดิสก์ที่ดีที่สุดและใช้เวลานาน แม้จะจริง แต่ chkdsk ช่วยป้องกันการสูญเสียข้อมูลและใช้งานง่าย มันอยู่ในระบบปฏิบัติการแล้ว ไม่ต้องดาวน์โหลดอะไร และใช้เพียงไม่กี่คลิกก็รัน chkdsk บนดิสก์เป้าหมายได้
ตัวเลือก/สวิตช์ของ Chkdsk
มีหลายตัวเลือกที่ใช้กับคำสั่ง chkdsk ตัวเลือกแต่ละอย่างมีฟังก์ชันเฉพาะ
รูปแบบ
รูปแบบการใช้คำสั่งเหล่านี้คือ chkdsk [/?] โดย "?" จะแทนที่ด้วยตัวเลือกที่ต้องการใช้
ตัวอย่าง
เช่น การใช้คำสั่ง chkdsk /r จะค้นหา bad sectors บนไดรฟ์เป้าหมายและพยายามกู้คืนข้อมูลที่อ่านได้
หมายเหตุ: ตัวเลือกเหล่านี้ยังเรียกว่า Switches

Chkdsk Volume และ Filepath
Chkdsk รันบนไดรฟ์หรือโฟลเดอร์เฉพาะได้ เมื่อคุณระบุไดรฟ์หรือโฟลเดอร์ (โดยให้พาธ) chkdsk จะตรวจสอบเฉพาะไดรฟ์/ไฟล์เป้าหมาย นี่จะประหยัดเวลาหากคุณสงสัยปัญหากับไดรฟ์หรือไฟล์/โฟลเดอร์เฉพาะ คุณไม่ต้องรัน chkdsk บนฮาร์ดดิสก์ทั้งหมด
รูปแบบ
รูปแบบการระบุโวล्यุมหรือพาธไฟล์คือ: CHKDSK [volume[[path]filename]]] [/Switch]
ตัวอย่าง
เช่น หากต้องการตรวจสอบไดรฟ์ D คุณจะพิมพ์คำสั่ง: chkdsk d: /r
chkdsk /f /r หรือ chkdsk /r /f? ควรใช้ตัวไหน?
คำสั่งที่พบบ่อยที่สุดคือ chkdsk /f /r หรือ chkdsk /r /f บางคนชอบใช้ chkdsk /f /r เพื่อแก้ข้อผิดพลาด ส่วนบางคนใช้ chkdsk /r /f เพื่อแก้ปัญหาไฟล์เสียหาย คุณอาจเคยเห็นวัตถุประสงค์ของสวิตช์ /r และ /f ทั้งคู่ /r ค้นหา bad sectors และกู้คืนข้อมูลที่อ่านได้ /f แก้ไขข้อผิดพลาดบนไดรฟ์ หากคุณค้นคว้าเกี่ยวกับการแก้ไขไดรฟ์เสียหายหรือไฟล์อื่น คุณจะเห็นบางคนแนะนำ chkdsk /r /f ส่วนบางคนบอกว่าใช้ chkdsk /f /r
คำสั่งทั้งสองเหมือนกันหรือไม่?
คุณควรใช้คำสั่งไหน? มีประโยชน์อะไรจากการใช้ตัวหนึ่งมากกว่าอีกตัว? สิ่งสำคัญคือ ทั้งสองคำสั่งค่อนข้างคล้ายกัน ทั้งคู่ทำสิ่งเดียวกันแต่ลำดับต่างกัน chkdsk /r /f ค้นหา bad sectors และกู้คืนข้อมูลที่อ่านได้ แล้วค่อยแก้ไขข้อผิดพลาด chkdsk /f /r ทำสิ่งเดียวกันแต่ลำดับกลับกัน
ความแตกต่างหลัก
ความแตกต่างหลักระหว่างคำสั่ง /r และ /f คือ /r ใช้ค้นหาข้อผิดพลาดทางกายภาพบนดิสก์ ส่วน /f ใช้ค้นหาข้อผิดพลาดของดิสก์
ตัวเลือกที่ดีที่สุด
ตัวเลือกที่ดีที่สุดคือ ไม่ใช้คำสั่งทั้งคู่ เพราะการใช้สวิตช์ /f ไม่ว่าจะก่อนหรือหลัง /r เป็นเรื่องไร้ประโยชน์ คำสั่ง /r ค้นหา bad sectors และกู้คืนข้อมูลที่อ่านได้ ซึ่งรวมถึงสิ่งที่ /f ทำอยู่แล้ว ทำให้ /f ซ้ำซ้อนเมื่อใช้กับ /r หากคุณใช้ chkdsk /r หมายความว่าคุณใช้ chkdsk /r /f อัตโนมัติ /r หมายถึงทุกอย่างที่ /f ทำ จะทำทั้งหมดรวมถึงสิ่งเพิ่มเติมที่ /r ทำ
ดังนั้น คำตอบคือ คุณควรใช้คำสั่ง chkdsk /r คำสั่งนี้เพียงพอ ไม่ต้องใส่ /f
หมายเหตุ: หากคุณต้องการค้นหาและแก้ไขข้อผิดพลาดของดิสก์เพียงอย่างเดียว ให้ใช้คำสั่ง /f เพียงอย่างเดียว
วิธีใช้ chkdsk
คุณสามารถใช้ chkdsk 2 วิธี วิธีแรกคือผ่าน Command Prompt หรือที่เรียกว่าวิธีที่ยากกว่า เพราะคุณต้องพิมพ์คำสั่งและอาจเทคนิคไปหน่อย วิธีที่สองคือใช้ Graphical User Interface วิธีนี้เหมาะกับผู้ใช้ส่วนใหญ่ โดยเฉพาะคนที่ไม่ค่อยเก่งเทคนิค ขั้นตอนสำหรับทั้ง 2 วิธีด้านล่าง
Command Prompt หรือ Power Shell
ทำตามขั้นตอนด้านล่างเพื่อรันคำสั่ง chkdsk บน Command Prompt
- กด Windows key หนึ่งครั้ง
- พิมพ์ command prompt ใน Start Search
- Right-click Command Prompt จากผลการค้นหาและเลือก Run as administrator เพื่อเปิด Command Prompt ที่มีสิทธิ์ผู้ดูแล

- ตอนนี้พิมพ์ chkdsk d: /r และกด Enter แทนที่ D ด้วยตัวอักษรไดรฟ์ที่ต้องการตรวจสอบ

Graphical User Interface
คุณสามารถใช้ chkdsk utility โดยไม่ต้อง Command Prompt หรือ Power Shell ได้ ขั้นตอนดังนี้
- ไปที่โฟลเดอร์หรือดิสก์ที่ต้องการตรวจสอบผ่าน chkdsk ในตัวอย่างเราจะตรวจสอบไดรฟ์ E
- Right click โวล्यุมเป้าหมายและเลือก Properties

- เลือกแท็บ Tools
- คลิกปุ่ม Check ในส่วน Error Checking หากคุณใช้ Windows 7 ชื่อปุ่มจะเป็น Check Now

- คุณอาจเห็นกล่องโต้ตอบบอกว่าไม่ต้องรันสแกน คุณสามารถปิดกล่องโต้ตอบและกลับไปใช้งานปกติ หรือคลิก Scan drive เพื่อบังคับรัน chkdsk utility หมายเหตุ: หากคุณคลิกปุ่มและใช้ Windows 7 คุณอาจเห็นกล่องโต้ตอบใหม่พร้อมตัวเลือก Automatically fix file system errors และ Scan for and attempt recovery of bad sectors คุณสามารถเลือก/ยกเลิกทั้งคู่ หรือเลือกตัวเลือกที่เหมาะสม หรือเลือกทั้งคู่ เมื่อเสร็จ คลิก Start เพื่อเริ่มสแกน โปรดทราบว่าการรัน chkdsk ด้วยทั้งสองตัวเลือกจะใช้เวลานานมาก อาจหลายชั่วโมง

- เมื่อสแกนเสร็จ คุณจะเห็นกล่องโต้ตอบยืนยัน คุณสามารถคลิก View details เพื่อดูรายละเอียด หรือคลิก cancel เพื่อปิดกล่องโต้ตอบ
หมายเหตุ: เมื่อเริ่มสแกน คุณอาจเห็นกล่องโต้ตอบบอกว่าดิสก์กำลังใช้งานอยู่และสแกนจะทำงานในครั้งถัดไปที่สตาร์ทอัพ คลิกปุ่ม Schedule disk check เพื่อยืนยัน หรือคลิก cancel หากไม่ต้องการสแกนตอนสตาร์ทอัพ
ปัญหากับ chkdsk
จะมีกรณีที่คุณเห็นข้อความข้อผิดพลาดเมื่อพยายามรันคำสั่ง chkdsk นี่คือข้อความข้อผิดพลาดที่พบบ่อยและขั้นตอนแก้ไข
An unspecified error occurred
หาก chkdsk ให้ข้อผิดพลาด "An unspecified error occurred" คุณจะไม่สามารถตรวจสอบดิสก์หาข้อผิดพลาดได้ ข้อผิดพลาดจะเป็นแบบนี้

หมายเหตุ: หากขั้นตอนในบทความไม่แก้ปัญหา และคุณใช้ CPU AMD ความถี่ต่ำ ให้คลิกที่นี่และดาวน์โหลด Hotfix จากเว็บไซต์ Microsoft อย่างเป็นทางการ เมื่อดาวน์โหลดเสร็จ ให้รัน Hotfix และตรวจสอบว่าปัญหาแก้ไขหรือไม่
Cannot continue in read-only mode
คุณอาจเห็นข้อผิดพลาด "Cannot continue in read-only mode" หากรันคำสั่ง chkdsk /f (ส่วนใหญ่) ข้อผิดพลาดจะเป็นแบบนี้

วิธีแก้ไข
หากเห็นข้อผิดพลาดนี้ คุณควรรันคำสั่ง chkdsk /r หรือ chkdsk [drive letter] /r คุณอาจเห็นข้อความ
"Chkdsk cannot run because the volume is in use by another process. Would you like to schedule this volume to be checked the next time the system restarts? (Y/N)"
หากเห็นข้อความนี้ ให้พิมพ์ Y และกด Enter เพื่อจัดตารางสแกน เมื่อเสร็จ ให้รีบูทและสแกนจะรันตอนสตาร์ทอัพ
Cannot lock current drive
หาก chkdsk ให้ข้อผิดพลาด "Cannot lock current drive" คุณจะไม่สามารถตรวจสอบดิสก์หาข้อผิดพลาดได้ ข้อผิดพลาดจะเป็นแบบนี้
