การตรวจสอบทางกายภาพเต็มรูปแบบ hd


17

ฉันต้องการเรียกใช้การตรวจสอบทางกายภาพเต็มรูปแบบในแต่ละส่วนบนฮาร์ดไดรฟ์ภายนอกบางตัว เท่าที่ฉันรู้chkdskไม่ได้ให้ตัวเลือกนี้

มีวิธีแก้ปัญหาภายใต้chkdskหรือทดแทนที่ดี? ฉันใช้ Windows 7 บนเครื่องนี้ แต่ยินดีต้อนรับโซลูชัน Linux ที่สามารถใช้งานได้จากซีดีสด

ขอบคุณ

Adam Matan


คุณใช้ระบบปฏิบัติการอะไร ตั้งแต่ที่คุณกล่าวถึง chkdsk ผมถือว่ามัน Windows NT, XP, Vista, 7, Server 2003 หรือ Server 2008
ปล้น

คำตอบ:


28

ใน Windows NT / XP / Vista / 7 คุณสามารถเปิดพรอมต์ CMD และใช้งานได้

chkdsk /r x:

โดยที่ x คืออักษรชื่อไดรฟ์ของไดรฟ์ USB ของคุณโดยสมมติว่าไดรฟ์นั้นถูกแบ่งพาร์ติชันและมีตัวอักษรไดรฟ์กำกับอยู่

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

ใช้sudo fdisk -lเพื่อแสดงรายการไดรฟ์และพาร์ติชันทั้งหมด สำหรับแต่ละไดรฟ์ :

sudo badblocks -nvs /dev/sdx

ที่ฮาร์ดไดรฟ์ของคุณคือ / dev / sdx สิ่งนี้จะทำการทดสอบการอ่าน / เขียนแบบไม่ทำลายบนดิสก์โดยไม่ทำการตรวจสอบระบบไฟล์

หากคุณไม่สนใจข้อมูลคุณสามารถทำสิ่งนี้แทนเพื่อทำการสแกนอย่างละเอียดมากขึ้น:

sudo badblocks -wvs /dev/sdx

อ็อพชัน -w บอกให้ badblocks เขียนรูปแบบที่รู้จักแล้วอ่านข้อมูลกลับเพื่อให้แน่ใจว่าตรงกับรูปแบบนั้น มันทำเช่นนี้ 4 ครั้งโดยใช้รูปแบบ 0xaa, 0x55, 0xff และ 0x00 (สลับ 0 และ 0 กับ 1 แล้วตามด้วยทุก 1 จากนั้นก็เป็น 0 ทั้งหมด) โปรดทราบว่าสิ่งนี้จะเขียนทับข้อมูลทั้งหมดในไดรฟ์และลบพาร์ติชันทั้งหมดออกเช่นกัน

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

sudo fdisk -l

จากนั้นสำหรับแต่ละพาร์ติชัน :

sudo e2fsck -fcc /dev/sdx#

อีกครั้ง / dev / sdx เป็นฮาร์ดไดรฟ์ที่คุณต้องการสแกน # คือจำนวนพาร์ติชัน (เช่น / dev / sdb1) การระบุ c สองครั้งจะบังคับให้ fsck รันและจะใช้ badblocks เพื่อทำการทดสอบการอ่าน - เขียนแบบไม่ทำลาย หากคุณใช้ตัวเลือก c เพียงครั้งเดียวแบดบล็อคจะทำการทดสอบแบบอ่านอย่างเดียว

ฉันใช้ badblocks -wvs ในฮาร์ดไดรฟ์ใหม่ทุกตัวที่ฉันซื้อก่อนนำไปใช้งาน


1
ฉันไม่คิดว่า chkdsk / r สแกนทุกบล็อคจริงๆ ... มันวิ่งเร็วกว่าที่ฉันคาดไว้สำหรับบางอย่างที่อ่านทุกบล็อค อาจต้องการบันทึกตัวเลือกการทดสอบแบบไม่ทำลายของ badblocks เพราะเขามีข้อมูลอยู่ในดิสก์แล้ว
davr

@davr: ขอบคุณ; ฉันได้กล่าวถึงการทดสอบ badblocks แบบไม่ทำลายในคำสั่ง fsck แต่ฉันได้เพิ่ม badblocks -vs อย่างชัดเจนเพื่อให้ละเอียด chkdsk / r ตรวจสอบบล็อกที่ไม่ดีและใช้เวลาสักครู่เมื่อฉันเรียกใช้ แต่อาจไม่ละเอียดพอ ๆ กับ badblocks -w คุณแน่ใจหรือว่าคุณไม่ได้นึกถึง chkdsk / f หรือ chkdsk / p ซึ่งจะแก้ไขข้อผิดพลาดของระบบไฟล์ แต่จะไม่สแกนหาบล็อกที่ไม่ดี
ปล้น

@davr: ฉันคิดอย่างหนึ่งสิ่ง ... chkdsk อาจไม่ตรวจสอบบันทึกการบูตหรือตารางพาร์ทิชัน เนื่องจากใช้ชื่อไดรฟ์ข้อมูลเท่านั้น (เช่นอักษรชื่อไดรฟ์จุดเชื่อมต่อหรือชื่อโวลุ่ม) เป็นอาร์กิวเมนต์ซึ่งแนะนำให้คุณตรวจสอบโลจิคัลวอลุ่มสำหรับข้อผิดพลาดของสื่อเท่านั้นและทุกอย่างที่อยู่นอกไดรฟ์ข้อมูลที่ระบุ ที่ไม่ควรสร้างความแตกต่างมากนักในแง่ของความเร็วในการสแกน นั่นคือสิ่งที่คุณกำลังพูดถึง?
34429 rob ปล้น

1
การใช้งาน fsck ของคุณเป็นข้อมูลอ้างอิงถึง e2fsck หุ้น fsck ไม่ได้รวม-cบรรทัดคำสั่งหาเรื่อง นอกจากคำตอบที่ดี
DaveParillo

ใช่แล้วเดฟ ขอบคุณ; ฉันได้ย้ายคำแนะนำแบดบล็อคไปข้างหน้าตั้งแต่เขาใช้ Windows แต่แก้ไขคำสั่ง e2fsck และย้ายไปยังจุดสิ้นสุดสำหรับทุกคนที่ทำงานข้ามสิ่งนี้และใช้งาน Linux
ปล้น

5

ฉันต้องการเรียกใช้การตรวจสอบทางกายภาพเต็มรูปแบบในแต่ละส่วนบนฮาร์ดไดรฟ์ภายนอกบางตัว

ดาวน์โหลดและเรียกใช้HD Tuneเลือกไดรฟ์ที่คุณต้องการสแกนจากเมนูแบบเลื่อนลงคลิกแท็บข้อผิดพลาดในการสแกน (ให้แน่ใจว่ากล่องสแกนอย่างรวดเร็วเป็นที่ชัดเจน) และกดปุ่มเริ่มต้น

ป้อนคำอธิบายรูปภาพที่นี่

HD Tune นั้นฟรีสำหรับการใช้งานส่วนตัวและพกพา (ไม่จำเป็นต้องติดตั้ง)


1
ฟรีแวร์ ?? ทดลองใช้ 15 วัน! มันเป็นเพียงแค่ HD Tune ที่เป็นฟรีแวร์
Loren Pechtel

ขออภัยแก้ไขโพสต์ ... ไม่ได้สร้างความแตกต่างมากนักเนื่องจากคุณสมบัติที่ฉันอ้างถึงมีให้ในรุ่นฟรีอย่างที่คุณบอกได้จากหน้าจอ

1

ผู้ผลิตไดรฟ์หลายรายเช่น Western Digital และ Seagate มีเครื่องมือที่จะทำการตรวจสอบประเภทนี้ มักจะเป็นเครื่องมือ Windows


เท่าที่ฉันรู้นี่เป็นเพียงการทดสอบตัวเองของ SMART ซึ่งไม่ใช่การสแกนไดรฟ์เต็มรูปแบบ
endolith

endolith- การทดสอบจาก WD semm เพื่อก้าวข้าม SMART ดาวน์โหลดฟรีถ้าคุณมีไดรฟ์ WD
เดฟเอ็ม

1

ใน Windows ฉันจะใช้ HDTune เวอร์ชันฟรีเพื่อสแกนหาเซกเตอร์เสีย อย่างไรก็ตามโปรแกรม Linux BadBlocks นั้นดีกว่ามากให้รายการที่ถูกต้องของบล็อกที่ไม่ดีทุกบล็อกและสนับสนุนทั้งการตรวจสอบการอ่านและการเขียน (แม้ว่าการเขียนจะเป็นการทำลาย)


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

1

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

ผลที่สุดก็คือระบบปฏิบัติการที่ทำเครื่องหมาย "บล็อกที่ไม่ดี" ในรูปแบบของสแกนดิสมักจะไม่มีจุดหมาย

ด้วยที่กล่าวว่าฉันจะใช้การทดสอบตัวเองขยาย SMART smartmontoolsควรทำงาน คุณยังสามารถรับจำนวนบล็อกที่มีการแมปใหม่ได้อีกด้วย

โปรดทราบว่าใน linux แบบธรรมดาdd if=/dev/sdx of=/dev/nullที่ sdx เป็นอุปกรณ์บล็อกของดิสก์จะทำการอ่านดิสก์แบบลอจิคัลอย่างเต็มรูปแบบ หากบล็อกใดไม่สามารถอ่านได้คุณจะได้รับข้อผิดพลาด หากคุณไม่สนใจที่จะปิดบังข้อมูลคุณสามารถdd if=/dev/zero of=/dev/sdxเขียนทับดิสก์ทั้งหมดทำให้ไดรฟ์ทำการแมปใหม่ตามความจำเป็น


1
แทนที่จะใช้ 'dd' ควรใช้คำสั่ง linux 'badblocks' ซึ่งออกแบบมาสำหรับงานนี้โดยเฉพาะ
davr

1
ประเด็นของฉันคือ "งานนี้" ล้าสมัยไปตามแนวคิดของ "บล็อกที่ไม่ดี"
Captain Segfault

ฮาร์ดไดรฟ์ไม่ได้แก้ไขบล็อกที่ไม่ดีจนกว่าคุณจะเขียนถึงพวกเขา วิธีที่ดีวิธีหนึ่งในการเขียนถึงพวกเขาคือการใช้แบดบล็อกในโหมดไม่ทำลาย : D
endolith

ฉันหวังว่านี่เป็นเรื่องจริง คุณกำลังสับสนดิสก์ภายในกับดิสก์ USB ภายนอก กล่องหุ้มไดรฟ์ USB ต้องการเฟิร์มแวร์ที่ดีกว่าด้วยการรายงาน SMART ซึ่งส่วนใหญ่ขาด
Nicolay77

@endolith ฮาร์ดไดรฟ์บางตัวย้ายที่วางบล็อก suspicios เมื่ออ่านด้วย อย่างน้อยบางองค์กร HDD-s
Roland Pihlakas

-1

ฉันไม่เคยกระตือรือร้นกับไดรฟ์ภายนอก USB มากเกินไปเพราะมันไม่ได้มีอยู่จริงเมื่อเครื่องมือที่ดีที่สุดบางอย่างเช่นScanDiskถูกเขียนขึ้น ฉันชอบรุ่นของ ScanDisk ที่มาพร้อมกับ Windows 98 SE โดยเฉพาะ

ดังนั้นถ้ามันเป็นไดรฟ์ภายนอกคุณอาจจะใส่ลงในเครื่องคอมพิวเตอร์แล้วรันfsck -fบนไดรฟ์จากลินุกซ์ LiveCD เช่นที่Rescue CD


1
ScanDisk ล้าสมัยแล้ว fsck -f จะบังคับให้ fsck ทำงาน แต่จะไม่ทำการทดสอบสื่อทางกายภาพ
ปล้น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.