Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Linux

คู่มือทีละขั้นตอน: กู้คืน Memory Card ที่เสียหายบน Ubuntu

Memory card เป็นวิธีที่ดีในการโอนข้อมูลระหว่างอุปกรณ์มือถือ กล้องดิจิทัล และคอมพิวเตอร์ หากคุณได้รับข้อความ Damaged Memory Card – Please Format หรือข้อความคล้ายๆ จากอุปกรณ์ Android หรือ iOS ยังมีโอกาสกู้ข้อมูลได้ ตราบใดที่คุณยังไม่ได้ format การ์ด ให้ถอดการ์ดออกอย่างถูกต้อง และตรวจสอบสภาพรูปทรง บางครั้งการ์ด SD, SDHC, SDXC ขนาดเต็มอาจหลุดในเคส สามารถกดคืนที่เดิมได้เบาๆ การ์ด microSD, microSDHC, microSDXC ส่วนใหญ่ไม่มีปัญหานี้ แต่ยังทำความสะอาดจุดติดต่อได้

เมื่อต่อการ์ดกับ PC ให้แน่ใจว่าเสียบแน่นแต่เบาๆ อย่างถูกต้องเพื่อการเชื่อมต่อที่ดี รายละเอียดเล็กน้อยนี้ช่วยมากเมื่อใช้เครื่องมือของ Ubuntu กู้ข้อมูลจากระบบไฟล์ Secure Digital ที่เสียหาย

วิธีที่ 1: ซ่อมแซม Memory Card ด้วยเครื่องมือมาตรฐานของ Ubuntu

เปิด GNOME Disks Utility จากเมนู Dash, KDE หรือ Whisker menu ค้นหาชื่อไฟล์อุปกรณ์ (device file name) ของตัวอ่านการ์ดของคุณ โดยทั่วไปจะเรียกว่า Single Flash Reader หากมีตัวเลือกใต้กราฟการจัดเก็บ ให้คลิกลูกศรขวาเพื่อพยายาม mount หาก mount ได้ คุณอาจคัดลอกไฟล์ออกมาได้

หากอ่านว่า No Media แม้จะมีการ์ดในสล็อต ให้ลองถอดและเสียบการ์ดใหม่ ดูว่ามีการเปลี่ยนแปลงหรือไม่ หากคุณทำได้ ให้ลองคลิกไอคอนเกียร์ เลือก Create Disk Image แล้วบันทึกเป็นไฟล์ .img

หลังเสร็จสิ้น ให้ถอดการ์ดออก แล้วเสียบการ์ดว่างเปล่าขนาดเท่ากัน เขียน disk image นี้ลงการ์ดใหม่ด้วยเมนูเกียร์ คุณอาจ mount ระบบไฟล์ใหม่ได้ แต่จำไว้ว่าคุณจะสูญเสียข้อมูลบนการ์ดใหม่ ดังนั้นให้แน่ใจว่ามันว่างเปล่าก่อนดำเนินการ

เมื่อพาร์ติชันยังไม่ mount แต่ Ubuntu ตรวจจับไดรฟ์ คุณสามารถรัน consistency check เพื่อพยายามกู้คืนระบบไฟล์ สมมติว่าการ์ดของคุณฟอร์แมตเป็น FAT12, FAT16 หรือ FAT32 ให้รัน sudo fsck.msdos -r /dev/sdd1 จากบรรทัดคำสั่ง เพื่อพยายามกู้คืน แทนที่ส่วน sdd1 ด้วยชื่อพาร์ติชันที่แสดงใน Disks Utility คุณอาจลองใช้ fsck.ext# หากคุณฟอร์แมตการ์ดให้ทำงานกับระบบไฟล์ Linux แทน # ด้วยหมายเลข ext ที่คุณจำได้

วิธีที่ 2: ซ่อมแซม Memory Card บนระบบ Dual-boot Ubuntu

หากคุณรัน Ubuntu ควบคู่กับ Windows คุณอาจโชคดีใช้คำสั่ง chkdsk ใน command prompt ของ Windows แม้ Ubuntu จะมีการสนับสนุนกู้คืนอุปกรณ์ FAT ที่ดีกว่า Windows ก็สามารถช่วยกู้คืนอุปกรณ์ NTFS ได้บ้าง ให้รีบูตคอมพิวเตอร์ และเมื่อ GRUB ปรากฏ ให้เลือกบูทเข้า Windows ด้วยคีย์บอร์ด เปิด File Explorer ด้วย Win+E ค้นหา drive letter ที่ Windows กำหนดให้ memory card อย่า format หาก Windows ถาม

เปิด command prompt จาก Start Menu พิมพ์ chkdsk /f E: แทน E: ด้วย drive letter ที่ได้ หากได้ข้อผิดพลาด แสดงว่า Windows ก็ไม่มีโอกาสกู้คืนได้มากกว่า Ubuntu

Ubuntu มีโปรแกรมสองตัวสำหรับทำงานกับ memory card NTFS ที่เสียหาย หากคุณไม่มี Windows ให้ลอง sudo ntfsfix -d /dev/sdd1 แทน device file ด้วยชื่ออุปกรณ์ของคุณ แม้จะไม่ใช่ chkdsk เวอร์ชัน Linux แต่สามารถซ่อมแซมความไม่สอดคล้องของ NTFS บางส่วนได้ คุณอาจลอง ntfsclone -so dsk.img /dev/sdd1 เพื่อสร้าง disk image ของ memory card NTFS แม้ Disks Utility จะล้มเหลว คุณสามารถ restore กลับไปยังการ์ดว่างด้วย sudo ntfsclone -r dsk.img /dev/sdd1 แทน device files ให้ถูกต้องในทั้งสองคำสั่ง และจำไว้ว่าการ restore disk image จะลบข้อมูลทั้งหมดบนอุปกรณ์ปลายทาง เพิ่มสวิตช์ -f หาก Ubuntu บ่นว่า file system ถูกทำเครื่องหมาย dirty

วิธีที่ 3: ใช้โปรแกรม Testdisk

หากโปรแกรม Ubuntu และ Windows ทั้งคู่ช่วยไม่ได้ คุณอาจโชคดีกับโปรแกรมชื่อ Testdisk มากกว่าน่าจะไม่ได้ติดตั้งอยู่ ให้พิมพ์ sudo apt-get install testdisk จาก CLI prompt ของ Ubuntu เพื่อติดตั้ง หลังติดตั้งแล้ว ให้รัน testdisk /log /dev/sdd แทน /dev/sdd ด้วยชื่ออุปกรณ์จริง ขึ้นอยู่กับการติดตั้ง คุณอาจต้องใช้ sudo นำหน้า เพราะต้องการเข้าถึง device file โดยตรง

โทรศัพท์มือถือ แท็บเล็ต และกล้องดิจิทัลส่วนใหญ่ใช้ระบบไฟล์ FAT16 หรือ FAT32 Testdisk จะตรวจสอบ HFS และ HFS+ จาก Macintosh รวมถึง NTFS ด้วย เมื่อโปรแกรมเสร็จ ให้กลับไปที่ Disks Utility จาก Dash หรือเมนู KDE ดูว่าคุณสามารถคลิกอุปกรณ์ได้หรือไม่ คลิกลูกศรขวาเพื่อ mount คุณอาจคัดลอกไฟล์ผ่านตัวจัดการไฟล์ได้แล้ว

วิธีที่ 4: ใช้ PhotoRec กู้ไฟล์โดยไม่ต้องมีระบบไฟล์

หาก Linux มองเห็น memory card เป็น mass storage device แต่ตรวจจับระบบไฟล์ไม่ได้ คุณสามารถใช้ PhotoRec กู้ไฟล์ได้ ผู้ที่ยังไม่มีติดตั้ง สามารถดาวน์โหลดจาก repository ของ Ubuntu หรือ Debian ด้วย sudo apt-get install photorec

PhotoRec ไม่พยายามเขียนลงอุปกรณ์ จึงปลอดภัย ไปยังพื้นที่ในระบบไฟล์ของ PC ที่คุณไม่แคร์ว่าจะมีไฟล์ถูกคัดลอกไป สมมติ Linux เรียก memory card ว่า /dev/sdd ให้รัน photorec /log /dev/sdd แทน /dev/sdd ด้วยชื่อจริงของการ์ด คำสั่งนี้จะเขียนผลลัพธ์ลง photorec.log ในไดเรกทอรีเดียวกัน คุณสามารถใช้สวิตช์ /debug เพื่อข้อมูลเพิ่มเติมได้

ABOUT THE AUTHOR

คู่มือทีละขั้นตอน: กู้คืน Memory Card ที่เสียหายบน Ubuntu

Kevin Arrows

Kevin Arrows เป็นผู้เชี่ยวชาญด้านเทคโนโลยีที่มีประสบการณ์มากกว่าหนึ่งทศวรรษ เขาถือใบรับรอง Microsoft Certified Technology Specialist (MCTS) และมีความหลงใหลในการติดตามข่าวสารเทคโนโลยีล่าสุด Kevin เขียนบทความมากมายเกี่ยวกับหัวข้อเทคโนโลยีหลากหลาย แสดงให้เห็นถึงความเชี่ยวชาญในด้านการพัฒนาซอฟต์แวร์ ความปลอดภัยไซเบอร์ และการคอมพิวติ้งบนคลาวด์ ผลงานของเขาได้รับการยอมรับและเคารพจากเพื่อนร่วมงาน และเขาได้รับการขนานนามว่าสามารถอธิบายแนวคิดทางเทคนิคที่ซับซ้อนได้อย่างชัดเจนและกระชับ