ฉันจะตรวจสอบว่ามีเซ็กเตอร์ที่ไม่ดีในฮาร์ดไดรฟ์ USB ที่เชื่อมต่อภายนอกหรือไม่
ฉันจะตรวจสอบว่ามีเซ็กเตอร์ที่ไม่ดีในฮาร์ดไดรฟ์ USB ที่เชื่อมต่อภายนอกหรือไม่
คำตอบ:
บางครั้งมันก็ไม่เหมาะสมที่จะใช้ความสามารถในการย้ายเซกเตอร์อัตโนมัติของไดรฟ์ดังนั้นคำถามที่เกิดขึ้นจาก ohho มีความโดดเด่น:
หากมีภาคที่มีข้อบกพร่องคุณจะต้อง:
- พิจารณาเรื่องนี้ก่อนที่จะดำเนินการใด ๆ ที่อาจทำให้เกิดการย้ายถิ่นฐาน (หรือทำแผนที่ใหม่หรือประหยัดหรือสิ่งที่คุณเรียกว่า)
ขณะที่SpinRite 6 ไม่ใช่สำหรับ Macs หน้า 2003 สำหรับเวอร์ชั่น 5 กำลัง enlightening:
บันทึกหัวข้อเกี่ยวกับการย้ายตำแหน่งอัตโนมัติและความเสี่ยงที่เกี่ยวข้องของดาต้ารอส
SpinRite ไปข้างหน้าเร็วนับทศวรรษจากปี 2003 ถึง 2013:
สำหรับคำถามที่นี่ ...
สำหรับ Mac - สำหรับ OS X - ฉันไม่รู้ว่ามีความสามารถและระมัดระวังเท่า SpinRite (ไม่มีสิ่งใดที่จะปิดใช้งานการย้ายตำแหน่งอัตโนมัติ)
ดังนั้นเป็นสิ่งที่ยืน: การตรวจสอบภาคส่วนของดิสก์บน USB พร้อม OS Xเราอาจจะ จำกัด การใช้สาธารณูปโภคที่อาจทำให้เกิดการย้ายถิ่นฐาน ฉันไม่สามารถประเมินระดับความเสี่ยงของดาต้าลิงค์ที่เกี่ยวข้องได้ แต่หากความเสี่ยงนั้นเป็นที่ยอมรับได้ฉันควรคัดท้ายก่อน:
คำแนะนำ: สิ่งที่อยู่ภายใต้คำถามที่เกี่ยวข้อง (1) นั้นใช้งานง่ายยิ่งขึ้น
ระบบปฏิบัติการเพียงอย่างเดียวไม่สามารถใช้เทคโนโลยี SMART บนไดรฟ์ที่อยู่ภายนอกบนรถโดยสารเช่น USB 2.0 และ FireWire
ที่อื่นมีข้อมูลมากมาย (และเข้าใจผิด) ดังนั้นฉันจะเน้นคำตอบส่วนนี้เพียงจุดเดียว:
kasbert / OS-X-SAT-SMART- ไดร์เวอร์บน GitHub:
…ไดรเวอร์เคอร์เนลสำหรับไดรฟ์ USB หรือ FireWire ภายนอกของ Mac OS X มันขยายพฤติกรรมของไดรเวอร์มาตรฐานโดยการให้การเข้าถึงไดรฟ์ข้อมูลสมาร์ท ส่วนต่อประสานกับข้อมูล SMART นั้นเหมือนกับไดรฟ์ตระกูล ATA ดังนั้นแอปพลิเคชันที่มีอยู่ส่วนใหญ่จึงควรใช้งานได้ ไดรเวอร์ต้องใช้กล่องหุ้มไดรฟ์ภายนอกที่สามารถใช้งาน SAT (SCSI ATA Translation) ได้ ...
หากคุณลอง KEXT ด้วย Lion แล้วเช่นเดียวกับส่วนขยายเคอร์เนลของบุคคลที่สามให้ดำเนินการด้วยความระมัดระวัง
คำสั่งในตัว OS X fsck_hfs
มีตัวเลือก-S
ที่เห็นได้ชัดว่าจะตรวจสอบว่ามีบล็อกที่ไม่ดีบนฮาร์ดดิสก์ USB ใน OS X หรือไม่
-Sทำให้fsck_hfsสแกนอุปกรณ์ทั้งหมดเพื่อหาข้อผิดพลาด I / O มันจะพยายามแมปบล็อกที่มีข้อผิดพลาดกับชื่อคล้ายกับตัวเลือก-B
ตัวอย่าง:
fsck_hfs -fy -S /dev/disk3s11
มันดูเหมือนว่าจะทำว่าเมื่อทำงานบนพาร์ติชั่นโดยไม่ต้องบล็อกเสีย แต่ฉันยังไม่ได้ตรวจสอบ / เอกสารสิ่งที่มันไม่เมื่อมีการมีบล็อกเสีย
Update: เลือดนรก! Apple ได้ลบ manpages ออกจากเว็บไซต์
เปิด Terminal.app ใน Applications / Utilities
ตัดและวางภายในเพื่อติดตั้ง Brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
ติดตั้ง e2fsprogs ด้วย Brew:
brew install e2fsprogs
พิมพ์diskutil list
เพื่อค้นหาอุปกรณ์ของคุณ (/ dev / diskX)
ทำงานbadblocks
บนอุปกรณ์ของคุณ: (แทนที่ X ด้วยหมายเลขอุปกรณ์ของคุณ)
/usr/local/Cellar/e2fsprogs/1.44.3/sbin/badblocks -v /dev/diskX
Operation not permitted while trying to determine device size
(มี / ไม่มี sudo)
ขึ้นอยู่กับระบบไฟล์ในไดรฟ์ที่คุณสามารถเรียกใช้ได้
fsck_msdos /dev/disk1s1
นี่จะตรวจสอบ FAT FS บางทีนั่นคือสิ่งที่คุณต้องการ? คำสั่งที่เป็นไปได้คือ:
fsck_cs
fsck_exfat
fsck_hfs
fsck_msdos
fsck_udf
fsck_hfs -S
สแกนเนื้อหาระบบไฟล์ทั้งหมดและบล็อกแมปด้วยข้อผิดพลาด I / O ไปยังชื่อ
วิธีเดียวที่จะรู้ได้คือการเขียนไปยังแต่ละภาคส่วนและอ่านกลับเพื่อดูว่าคุณได้สิ่งเดียวกันกลับมาหรือไม่ตรวจสอบข้อผิดพลาดระหว่างทาง
badblocks
ภายใต้ Linux ทำสิ่งนี้ badblocks
มีโหมดทดสอบการอ่าน / เขียนแบบไม่ทำลาย
ภายใต้ Windows ผมเชื่อว่าถ้าคุณเรียกchkdsk
ด้วย/F
, /B
และ/R
ตัวเลือกมันจะทดสอบภาคภาค bad แต่ละ นอกจากนี้ยังไม่เป็นอันตราย แต่ฉันไม่แน่ใจว่าจริง ๆ แล้วเขียนไปยังแต่ละภาคเพื่อทดสอบ
คำตอบ Superuser นี้แสดงให้เห็นว่า SpinRite 6 อาจทำสิ่งเดียวกัน แต่ฉันยังไม่ได้ทดสอบ
ให้ฉันแนะนำสิ่งที่คุณควรดำเนินการต่อไปหากคุณสงสัย / รู้ว่าคุณมีเซกเตอร์ที่ไม่ดี:
1) ทำสำเนาพาร์ติชันทั้งหมดของคุณไปยังอุปกรณ์อื่นโดยใช้ dd (ค้นหาชื่อพาร์ติชันของคุณโดยใช้df
) อาจใช้เวลาสักครู่อาจมากกว่าหนึ่งวันบนดิสก์ USB2 เป็น 400Gb bs=
เพิ่มความเร็วขึ้น (ตัวคูณ 5 หรือมากกว่า) sync
เติมบล็อกอินพุตด้วยเลขศูนย์ถ้ามีข้อผิดพลาดในการอ่าน
dd if=/dev/disk3s8 of=/dev/disk4s9 bs=1024k conv=noerror,sync
2) จากนั้นตรวจสอบว่ามันใช้งานได้จริงไม่เพียง แต่โครงสร้างโฟลเดอร์ แต่ยังเปิดเนื้อหา
3) หากไม่เป็นเช่นนั้นให้ลองคัดลอกเนื้อหาของพาร์ติชันของคุณในระดับไฟล์
cp -Rp /Volumes/<source>/ /Volumes/<destination>/
4) เฉพาะตอนนี้ที่คุณพยายามบันทึกให้มากที่สุดเท่าที่จะทำได้โดยไม่ต้องสัมผัสระบบไฟล์ให้รันการตรวจสอบพาร์ติชั่น -f
ตัวเลือกจะบังคับแม้ว่าจะปรากฏ ok -S
สแกนหาบล็อกที่ไม่ดี การดำเนินการนี้ไม่รับประกันว่าจะไม่ จำกัด แต่อาจบันทึกดิสก์ของคุณ
fsck_hfs -fS /dev/disk3s8