ค้นหาเว็บไซต์

วิธีตรวจสอบ Bad Sectors หรือ Bad Blocks บนฮาร์ดดิสก์ใน Linux


ให้เราเริ่มต้นด้วยการกำหนดเซกเตอร์/บล็อกเสีย ซึ่งเป็นส่วนหนึ่งของดิสก์ไดรฟ์หรือหน่วยความจำแฟลชที่ไม่สามารถอ่านหรือเขียนได้อีกต่อไป อันเป็นผลมาจากความเสียหายทางกายภาพที่ได้รับการแก้ไขบนพื้นผิวดิสก์หรือทรานซิสเตอร์หน่วยความจำแฟลชที่ล้มเหลว

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

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

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

ที่กล่าวว่าด้านล่างเป็นวิธีการ:

ตรวจสอบเซกเตอร์เสียในดิสก์ Linux โดยใช้เครื่องมือ badblocks

โปรแกรม badblocks ช่วยให้ผู้ใช้สามารถสแกนอุปกรณ์เพื่อหาเซกเตอร์หรือบล็อกเสีย อุปกรณ์อาจเป็นฮาร์ดดิสก์หรือดิสก์ไดรฟ์ภายนอก ที่แสดงด้วยไฟล์ เช่น /dev/sdc

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

sudo fdisk -l

จากนั้นสแกนดิสก์ไดรฟ์ Linux ของคุณเพื่อตรวจสอบเซกเตอร์/บล็อกเสียโดยพิมพ์:

sudo badblocks -v /dev/sda10 > badsectors.txt

ในคำสั่งด้านบน badblocks กำลังสแกนอุปกรณ์ /dev/sda10 (อย่าลืมระบุอุปกรณ์จริงของคุณ) โดยมี -v เปิดใช้งานเพื่อแสดง รายละเอียดการดำเนินการ นอกจากนี้ ผลลัพธ์ของการดำเนินการจะถูกจัดเก็บไว้ในไฟล์ badsectors.txt โดยการเปลี่ยนเส้นทางเอาต์พุต

ในกรณีที่คุณค้นพบเซกเตอร์เสียบนดิสก์ไดรฟ์ของคุณ ให้ยกเลิกการต่อเชื่อมดิสก์และสั่งระบบปฏิบัติการไม่ให้เขียนไปยังเซกเตอร์ที่รายงานดังต่อไปนี้

คุณจะต้องใช้คำสั่ง e2fsck (สำหรับระบบไฟล์ ext2/ext3/ext4) หรือ fsck พร้อมด้วยไฟล์ badsectors.txt และไฟล์อุปกรณ์ ดังคำสั่งด้านล่าง

ตัวเลือก -l บอกให้คำสั่งเพิ่มหมายเลขบล็อกที่แสดงอยู่ในไฟล์ที่ระบุด้วยชื่อไฟล์ (badsectors.txt) ลงในรายการบล็อกที่เสีย

------------ Specifically for ext2/ext3/ext4 file-systems ------------ 
sudo e2fsck -l badsectors.txt /dev/sda10

OR

------------ For other file-systems ------------ 
sudo fsck -l badsectors.txt /dev/sda10

สแกนเซกเตอร์เสียบนดิสก์ Linux โดยใช้ Smartmontools

วิธีการนี้มีความน่าเชื่อถือและมีประสิทธิภาพมากกว่าสำหรับดิสก์สมัยใหม่ (ฮาร์ดไดรฟ์ ATA/SATA และ SCSI/SAS และโซลิดสเตตไดรฟ์) ซึ่งมาพร้อมกับระบบ S.M.A.R.T (เทคโนโลยีการตรวจสอบตนเอง การวิเคราะห์ และการรายงาน) ที่ช่วยตรวจจับ รายงาน และอาจบันทึกสถานะความสมบูรณ์ เพื่อให้คุณสามารถระบุความล้มเหลวของฮาร์ดแวร์ที่กำลังจะเกิดขึ้นได้

คุณสามารถติดตั้ง smartmontools ได้โดยการรันคำสั่งด้านล่าง:

------------ On Debian/Ubuntu based systems ------------ 
sudo apt-get install smartmontools

------------ On RHEL/CentOS based systems ------------ 
sudo yum install smartmontools

เมื่อการติดตั้งเสร็จสมบูรณ์ ให้ใช้ smartctl ซึ่งควบคุมระบบ S.M.A.R.T ที่รวมอยู่ในดิสก์ คุณสามารถดูหน้าคนหรือหน้าช่วยเหลือได้ดังนี้:

man smartctl
smartctl -h

ตอนนี้รันคำสั่ง smartctrl และตั้งชื่ออุปกรณ์ของคุณเป็นอาร์กิวเมนต์ เช่นเดียวกับในคำสั่งต่อไปนี้ แฟล็ก -H หรือ --health รวมอยู่ด้วย เพื่อแสดงผลการทดสอบการประเมินสุขภาพตนเองโดยรวม SMART

sudo smartctl -H /dev/sda10

ผลลัพธ์ข้างต้นบ่งชี้ว่าฮาร์ดดิสก์ของคุณแข็งแรงดี และอาจไม่พบปัญหาฮาร์ดแวร์ขัดข้องในเร็วๆ นี้

สำหรับภาพรวมของข้อมูลดิสก์ ให้ใช้ตัวเลือก -a หรือ --all เพื่อพิมพ์ข้อมูล SMART ทั้งหมดที่เกี่ยวข้องกับดิสก์และ -x หรือ --xall ซึ่งแสดงข้อมูล SMART และ non-SMART ทั้งหมดเกี่ยวกับดิสก์

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