วิธีซ่อมแซม Bad Blocks บน Linux



ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา

ผู้ใช้ที่บูตคู่การแจกจ่าย Linux บางรุ่นด้วย Microsoft Windows บางรุ่นอาจพยายามลดขนาดหรือขยายพาร์ติชันบางส่วนเพื่อให้มีพื้นที่มากขึ้นสำหรับระบบปฏิบัติการหนึ่งหรืออีกระบบหนึ่ง ท้ายที่สุดคุณอาจได้รับคำเตือนจาก GParted ใน Linux หรือ chkdsk ใน Windows ว่ามีเซกเตอร์เสีย บางครั้งผู้ใช้ Linux แต่ละรายอาจได้รับสิ่งเดียวกัน อย่างไรก็ตามผู้ใช้อาจได้รับการแจ้งเตือนเกี่ยวกับการปลอมแปลงเซกเตอร์เสีย 2 ประเภทที่แตกต่างกันเหมือนกัน หนึ่งคือการแจ้งเตือนแบบดั้งเดิมของเซกเตอร์เสียที่ระบุปัญหาเกี่ยวกับรูปทรงเรขาคณิตของแผ่นดิสก์หรือเซลล์หน่วยความจำ NAND นี่คือสิ่งที่คนส่วนใหญ่หมายถึงเมื่อพวกเขาบ่นเกี่ยวกับบล็อกที่ไม่ดีแม้ว่าจะมีความแตกต่างทางเทคนิคเล็กน้อยระหว่างเซกเตอร์เสียและบล็อกที่ไม่ดี อย่างไรก็ตามเครื่องแทบไม่ได้ตั้งค่าสถานะเซกเตอร์ไม่ถูกต้องว่าเสีย



สิ่งเหล่านี้เรียกว่าซอฟต์เซกเตอร์เสียหรือซอฟท์แวร์บล็อกเสียและสามารถแก้ไขได้โดยใช้การทำงานของระบบไฟล์อย่างง่าย อย่างไรก็ตามเมื่อพิจารณาถึงอันตรายจากการเขียนลงในบล็อกที่ไม่ถูกต้องคุณควรเริ่มการตรวจสอบของคุณด้วยการตรวจสอบข้อมูล SMART เมื่อต้องจัดการกับปริมาณคงที่ นี่ไม่ใช่การทำลายล้างและสามารถกำจัดปัญหาทางเรขาคณิตก่อนที่คุณจะดำเนินการต่อ หากคุณไม่ได้ทำงานกับโวลุ่มคงที่คุณอาจต้องเริ่มการตรวจสอบด้วยวิธีการต่อไปนี้



วิธีที่ 1: การตรวจสอบข้อมูล SMART

เป็นเรื่องง่ายที่จะเชื่อว่าเซกเตอร์เสียเหล่านี้เป็นเพียงข้อผิดพลาดของซอฟต์แวร์ แต่มีวิธีตรวจสอบว่าเป็นเช่นนั้นหรือไม่ การใช้ข้อมูล SMART ทำให้ง่ายต่อการตรวจสอบเฟิร์มแวร์ของดิสก์และทราบอย่างแน่นอน เปิดยูทิลิตี้ดิสก์ GNOME จาก Dash in Unity, เมนู Whisker ใน Xfce4, เมนู Accessories ใน LXDE หรือจากเมนู GNOME Applications ใน KDE คุณสามารถเริ่มได้โดยพิมพ์ gnome-disks ที่เทอร์มินัลแล้วกดปุ่ม Enter คลิกเมนูถัดจากตัวควบคุมหน้าต่างด้านขวามือหลังจากไฮไลต์ฮาร์ดดิสก์ของคุณด้วยตัวชี้ในคอลัมน์ทางซ้ายมือ ในการติดตั้ง GNU / Linux ส่วนใหญ่ยูทิลิตี้ Disks จะใช้ค่าเริ่มต้นเป็นฮาร์ดดิสก์หลักของคุณ



เลือก SMART Data & Self-Tests จากเมนู คุณยังสามารถกด CTRL ค้างไว้แล้วกด S เพื่อเปิดหน้าต่างนี้ นี่จะแสดงให้คุณเห็นสภาพปัจจุบันของไดรฟ์ของคุณ หากค่าว่างเปล่าให้คลิกที่ปุ่มเริ่มการทดสอบตัวเองเพื่อบังคับให้ดิสก์ของคุณเรียกใช้การตรวจสอบตัวเอง บรรทัดการประเมินโดยรวมที่ด้านบนจะบอกคุณว่า GNOME Disks Utility คิดอย่างไรกับไดรฟ์ของคุณ

คุณอาจต้องเลื่อนดูคุณสมบัติ SMART แม้กระทั่งบนจอแสดงผลแบบเต็มหน้าจอ ให้ความสนใจเป็นพิเศษกับตัวเลือกที่เรียกว่าการนับการจัดสรรใหม่ นี่แสดงให้คุณเห็นว่ามีการจัดสรรเซกเตอร์ไปแล้วกี่ภาค หากมีเซกเตอร์เสียจำนวนมากอาจเป็นความคิดที่ดีที่จะเปลี่ยนไดรฟ์ก่อนที่จะล้มเหลวอย่างสมบูรณ์



วิธีที่ 2: การตรวจสอบ Superblock ที่ถูกต้อง

บางครั้งคุณอาจพบว่าข้อมูล SMART แสดงทุกอย่างตามลำดับ แต่คุณอาจได้รับข้อผิดพลาด“ Bad Superblock” จากยูทิลิตี้ดิสก์บางอย่าง หากคุณกำลังทำงานกับการ์ด SD, แท่งหน่วยความจำ USB หรือหน่วยความจำอื่น ๆ คุณจะไม่สามารถอ่านข้อมูล SMART ได้และยังอาจมีข้อผิดพลาดบางประการ สิ่งนี้อาจเป็นปัญหาซอฟต์แวร์ พิจารณาปัญหาในการเรียกใช้คำสั่งเช่น:

fsck.ext4 / dev / sda

สิ่งนี้มากกว่าจะบ่งบอกว่าคุณมี superblock ที่ไม่ดีซึ่งหมายถึง master block ในระบบไฟล์ของคุณ นี่เป็นผลมาจากข้อผิดพลาด CLI ไม่ใช่บล็อกเสียของแท้ เนื่องจาก / dev / sdb อ้างถึงไดรฟ์และไม่ใช่พาร์ติชันคำสั่ง fsck ของคุณจะมองหา superblock ที่ไม่มีและคิดว่ามีบางอย่างผิดปกติ โชคดีที่นี่ไม่ใช่คำสั่งทำลายล้าง วิ่ง:

sudo fsck.ext4 / dev / sda1

อาจบอกคุณได้ว่าระบบไฟล์ของคุณสะอาดแล้ว ตรวจสอบให้แน่ใจว่าหมายเลขที่มาหลังการขยายตรงกับเวอร์ชันต่อเสียงของคุณ

คุณอาจได้รับข้อผิดพลาดนี้หากคุณพยายามเรียกใช้ ext2 / 3/4 fsck บนไดรฟ์ข้อมูล FAT12 / 16/32, NTFS หรือ HFS / HFS + ตัวตรวจสอบความสอดคล้องจะสับสนและคิดว่ามีบางอย่างผิดปกติ แต่ในความเป็นจริงแล้วประเภทโครงสร้างไฟล์ไม่ตรงกับที่คาดไว้ เรียกใช้ fsck.vfat หรือ dosfsck กับไดรฟ์ข้อมูล FAT ไม่ว่าคุณจะใช้บิตเวอร์ชันใดก็ตาม คุณสามารถใช้สวิตช์ -t หลัง dosfsck หรือ fsck.vfat (fsck.msdos บน Linux บางเวอร์ชัน) เพื่อทำเครื่องหมายคลัสเตอร์ที่อ่านไม่ได้ว่าเป็นบล็อกที่ไม่ถูกต้อง

วิธีที่ 3: การตรวจสอบ Bad Blocks ใน NTFS Volumes

สมมติว่าคุณกำลังบูท Microsoft Windows และ Linux แบบคู่และคุณมี superblock หรือข้อผิดพลาดของเซกเตอร์เสียอื่น ๆ ในไดรฟ์ข้อมูล NTFS จากนั้นรีสตาร์ทใน Windows และจากบรรทัดคำสั่งให้เรียกใช้ chkdsk / rc: แทนที่ c: ด้วยอักษรระบุไดรฟ์ของ ปริมาณ NTFS ที่เป็นปัญหา Windows มักจะต้องรีบูตเครื่องเพื่อทำการสแกนพื้นผิว อาจใช้เวลาสักครู่ดังนั้นหากดูเหมือนว่าระบบปฏิบัติการของคุณไม่ตอบสนองแสดงว่าเป็นเพียงเพราะระยะเวลาที่เป็นปัญหา หากคุณได้รับข้อผิดพลาดเกี่ยวกับการไม่มีสิทธิ์ที่ถูกต้องให้คลิกขวาพร้อมรับคำสั่งในเมนูเริ่มแล้วเลือกเรียกใช้ในฐานะผู้ดูแลระบบก่อนดำเนินการต่อ

หากคุณกำลังทำงานกับไดรฟ์ข้อมูล NTFS เฉพาะภายใต้ Linux คุณก็ไม่ต้องขอความช่วยเหลือมากนัก แต่หากข้อผิดพลาดของบล็อกที่ไม่ถูกต้องเป็นเพียงประเภทที่ไม่ตรงกันคุณก็มีวิธีแก้ไขได้ เรียกใช้ sudo ntfsfix / dev / sdb1 แทนที่ตัวอักษรและตัวเลขหลัง / dev / sd ด้วยอุปกรณ์และตัวระบุพาร์ติชันที่ถูกต้อง โปรดจำไว้ว่าคุณสามารถเรียกใช้ sudo fdisk-l หรือกลับไปที่ GNOME Disks Utility ได้ตลอดเวลาหากติดตั้งเพื่อตรวจสอบชื่อของทุกโวลุ่มที่เชื่อมต่อกับระบบของคุณ คุณสามารถเรียกใช้เป็น sudo ntfsfix -d / dev / sdb1 หากคุณแน่ใจว่าต้องการล้างบิตสกปรก

หากคุณแน่ใจว่าไดรฟ์ข้อมูล NTFS มีบล็อกที่ไม่ดีซึ่งไม่ได้เกิดจากรูปทรงของฮาร์ดแวร์จริงเช่นเมื่อคุณโคลนดิสก์เก่าที่มีเซกเตอร์เสียไปยังไดรฟ์ข้อมูลใหม่ให้เรียกใช้ sudo ntfsfix -bd / dev / sdb1 ปริมาณที่คุณต้องการ การดำเนินการนี้จะรีเซ็ตรายการเครื่องหมายบล็อกที่ไม่ถูกต้อง

วิธีที่ 4: การใช้ยูทิลิตี้ badblocks Linux

เมื่อบูตเข้าสู่เวอร์ชัน ISO Linux ที่ใช้งานอยู่หรือพบวิธีอื่นในการยกเลิกการต่อเชื่อมระบบไฟล์ ext2, ext3 หรือ ext4 คุณสามารถเรียกใช้ sudo fsck.ext4 -c / dev / sda1 เพื่อทำการสแกนแบบอ่านอย่างเดียวสำหรับบล็อกที่ไม่ดี โดยปกติคุณจะต้องใช้ตัวระบุโวลุ่มที่ถูกต้องหลัง / dev / sd และหมายเลขเวอร์ชันต่อที่ถูกต้องหลัง fsck.ext เพื่อให้ทำงานได้อย่างถูกต้อง หากคุณระบุ -cc แทนโปรแกรมจะใช้การทดสอบการอ่าน - เขียนแบบไม่ทำลายล้างที่ครอบคลุมยิ่งขึ้น

นี่เป็นวิธีปกติในการใช้ยูทิลิตี้ badblocks แต่ในทางเทคนิคคุณสามารถใช้งานได้โดยโดดเดี่ยวเช่นกัน เรียกใช้ sudo badblocks -n บนชื่ออุปกรณ์เพื่อเรียกใช้ด้วยตัวเองและรายงาน badblock ในเทอร์มินัลของคุณ คุณสามารถใช้ตัวเลือก -w เพื่อใช้การทดสอบโหมดการเขียนได้ แต่อย่าใช้อ็อพชัน -n และ -w ร่วมกันเนื่องจากอ็อพชันเหล่านี้ไม่สามารถใช้ร่วมกันได้ คุณไม่ควรใช้อ็อพชัน -w บนไดรฟ์ข้อมูลที่มีข้อมูลไม่ว่าในกรณีใดเนื่องจากจะลบทุกอย่างที่สะอาด ใช้ตัวเลือก -n ที่ช้ากว่าเนื่องจากจะรักษาข้อมูลของคุณในกรณีนี้ ตัวเลือก -w เหมาะสำหรับปริมาณที่คุณไม่คิดจะลบ ตัวเลือก -v สามารถใช้ร่วมกับอย่างใดอย่างหนึ่งและจะให้เอาต์พุตแบบละเอียดบางส่วนของเทอร์มินัลที่มีประโยชน์สำหรับการตรวจสอบความเสียหายของข้อมูล คุณสามารถใช้ตัวเลือก -o พร้อมชื่อไฟล์ข้อความเพื่อเขียนข้อมูลเพื่อให้คุณสามารถดูได้ในภายหลัง คุณอาจต้องการเรียกใช้เป็น sudo badblocks -nv -o badblocks.log / dev / sdb1 เพื่อรับสแนปชอตเนื่องจากคุณจะเห็นข้อมูลจำนวนมากหากมีบล็อกที่ไม่ดีจริง

อ่าน 5 นาที