วิธีตรวจสอบว่ามีเซ็กเตอร์ที่ไม่ดีบนฮาร์ดดิสก์ USB ภายนอกใน OS X หรือไม่


คำตอบ:


5

คำถามที่เกี่ยวข้อง

  1. แก้ไขบล็อกที่ไม่ดีบนฮาร์ดดิสก์ Mac - รวมถึงซอฟต์แวร์ที่ไม่ได้ฟรีและปิดบางตัว
  2. ฉันสามารถใช้ซอฟต์แวร์โอเพ่นซอร์สฟรีหรือซอฟต์แวร์ใดกับฮาร์ดแวร์ Mac เพื่อตรวจสอบความถูกต้องของทุกบล็อกของดิสก์…?

บางครั้งมันก็ไม่เหมาะสมที่จะใช้ความสามารถในการย้ายเซกเตอร์อัตโนมัติของไดรฟ์ดังนั้นคำถามที่เกิดขึ้นจาก ohho มีความโดดเด่น:

  • มันเกี่ยวกับการค้นพบ

เป็นหลัก

หากมีภาคที่มีข้อบกพร่องคุณจะต้อง:

  • ดูแลเกี่ยวกับข้อมูลในภาคนั้น หรือ
  • ไม่สนใจ

- พิจารณาเรื่องนี้ก่อนที่จะดำเนินการใด ๆ ที่อาจทำให้เกิดการย้ายถิ่นฐาน (หรือทำแผนที่ใหม่หรือประหยัดหรือสิ่งที่คุณเรียกว่า)

ทำไมต้องแคร์

ขณะที่SpinRite 6 ไม่ใช่สำหรับ Macs หน้า 2003 สำหรับเวอร์ชั่น 5 กำลัง enlightening:

บันทึกหัวข้อเกี่ยวกับการย้ายตำแหน่งอัตโนมัติและความเสี่ยงที่เกี่ยวข้องของดาต้ารอส

SpinRite ไปข้างหน้าเร็วนับทศวรรษจากปี 2003 ถึง 2013:


สำหรับคำถามที่นี่ ...

วิธีการตรวจสอบว่ามีเซ็กเตอร์ที่ไม่ดีบนฮาร์ดดิสก์ USB บน OS X หรือไม่

สำหรับ Mac - สำหรับ OS X - ฉันไม่รู้ว่ามีความสามารถและระมัดระวังเท่า SpinRite (ไม่มีสิ่งใดที่จะปิดใช้งานการย้ายตำแหน่งอัตโนมัติ)

ดังนั้นเป็นสิ่งที่ยืน: การตรวจสอบภาคส่วนของดิสก์บน USB พร้อม OS Xเราอาจจะ จำกัด การใช้สาธารณูปโภคที่อาจทำให้เกิดการย้ายถิ่นฐาน ฉันไม่สามารถประเมินระดับความเสี่ยงของดาต้าลิงค์ที่เกี่ยวข้องได้ แต่หากความเสี่ยงนั้นเป็นที่ยอมรับได้ฉันควรคัดท้ายก่อน:

  • ค่าสาธารณูปโภคที่ได้รับการโหวตหรือแนะนำในคำถามที่เกี่ยวข้อง (1) และ (2) ข้างต้น

คำแนะนำ: สิ่งที่อยู่ภายใต้คำถามที่เกี่ยวข้อง (1) นั้นใช้งานง่ายยิ่งขึ้น

ฉลาด

ระบบปฏิบัติการเพียงอย่างเดียวไม่สามารถใช้เทคโนโลยี SMART บนไดรฟ์ที่อยู่ภายนอกบนรถโดยสารเช่น USB 2.0 และ FireWire

ที่อื่นมีข้อมูลมากมาย (และเข้าใจผิด) ดังนั้นฉันจะเน้นคำตอบส่วนนี้เพียงจุดเดียว:

  • การนำระบบปฏิบัติการของ Apple ไปใช้งานกับเทคโนโลยี SMART ด้วยไดรฟ์ USB และ FireWire ภายนอก

ไดรเวอร์ OS X SAT SMART

kasbert / OS-X-SAT-SMART- ไดร์เวอร์บน GitHub:

…ไดรเวอร์เคอร์เนลสำหรับไดรฟ์ USB หรือ FireWire ภายนอกของ Mac OS X มันขยายพฤติกรรมของไดรเวอร์มาตรฐานโดยการให้การเข้าถึงไดรฟ์ข้อมูลสมาร์ท ส่วนต่อประสานกับข้อมูล SMART นั้นเหมือนกับไดรฟ์ตระกูล ATA ดังนั้นแอปพลิเคชันที่มีอยู่ส่วนใหญ่จึงควรใช้งานได้ ไดรเวอร์ต้องใช้กล่องหุ้มไดรฟ์ภายนอกที่สามารถใช้งาน SAT (SCSI ATA Translation) ได้ ...

หากคุณลอง KEXT ด้วย Lion แล้วเช่นเดียวกับส่วนขยายเคอร์เนลของบุคคลที่สามให้ดำเนินการด้วยความระมัดระวัง


15

คำสั่งในตัว OS X fsck_hfsมีตัวเลือก-Sที่เห็นได้ชัดว่าจะตรวจสอบว่ามีบล็อกที่ไม่ดีบนฮาร์ดดิสก์ USB ใน OS X หรือไม่

จากหน้าคนอย่างเป็นทางการ :

-Sทำให้fsck_hfsสแกนอุปกรณ์ทั้งหมดเพื่อหาข้อผิดพลาด I / O มันจะพยายามแมปบล็อกที่มีข้อผิดพลาดกับชื่อคล้ายกับตัวเลือก-B

ตัวอย่าง:

fsck_hfs -fy -S /dev/disk3s11

มันดูเหมือนว่าจะทำว่าเมื่อทำงานบนพาร์ติชั่นโดยไม่ต้องบล็อกเสีย แต่ฉันยังไม่ได้ตรวจสอบ / เอกสารสิ่งที่มันไม่เมื่อมีการมีบล็อกเสีย

Update: เลือดนรก! Apple ได้ลบ manpages ออกจากเว็บไซต์


1
นอกจากนี้เราสามารถขอรับเส้นทางของดิสก์ที่มีอยู่ในรายการ diskutil ได้
ฟรีแมน

ใช่. หรือ df ฉันชอบมันเอาท์พุทสำหรับเรื่องนี้!
Matthew Elvey

2

เปิด 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


คุณอาจต้องการปรับด้วยหมายเลขรุ่นของคุณ (1.44.3 ที่นี่) ในบรรทัด: '/usr/local/Cellar/e2fsprogs/1.44.3/sbin/badblocks -v / dev / diskX'
brunobhr

บน MacOS High Sierra 10.13.6: Operation not permitted while trying to determine device size(มี / ไม่มี sudo)
bonh

สามารถเชื่อมโยงกับการป้องกัน SIP ได้หรือไม่ osxdaily.com/2015/10/05/…
brunobhr

0

ขึ้นอยู่กับระบบไฟล์ในไดรฟ์ที่คุณสามารถเรียกใช้ได้

fsck_msdos /dev/disk1s1

นี่จะตรวจสอบ FAT FS บางทีนั่นคือสิ่งที่คุณต้องการ? คำสั่งที่เป็นไปได้คือ:

fsck_cs
fsck_exfat
fsck_hfs
fsck_msdos
fsck_udf

3
คำสั่งเหล่านี้ตรวจสอบ (และซ่อมแซมทางเลือก) โครงสร้างข้อมูลปริมาณพวกเขาไม่ได้สแกนดิสก์สำหรับการอ่าน / เขียนทับพื้นผิวของดิสก์
Gordon Davisson

1
fsck_hfs -Sสแกนเนื้อหาระบบไฟล์ทั้งหมดและบล็อกแมปด้วยข้อผิดพลาด I / O ไปยังชื่อ
siefca

0

วิธีเดียวที่จะรู้ได้คือการเขียนไปยังแต่ละภาคส่วนและอ่านกลับเพื่อดูว่าคุณได้สิ่งเดียวกันกลับมาหรือไม่ตรวจสอบข้อผิดพลาดระหว่างทาง

badblocksภายใต้ Linux ทำสิ่งนี้ badblocksมีโหมดทดสอบการอ่าน / เขียนแบบไม่ทำลาย

ภายใต้ Windows ผมเชื่อว่าถ้าคุณเรียกchkdskด้วย/F, /Bและ/Rตัวเลือกมันจะทดสอบภาคภาค bad แต่ละ นอกจากนี้ยังไม่เป็นอันตราย แต่ฉันไม่แน่ใจว่าจริง ๆ แล้วเขียนไปยังแต่ละภาคเพื่อทดสอบ

คำตอบ Superuser นี้แสดงให้เห็นว่า SpinRite 6 อาจทำสิ่งเดียวกัน แต่ฉันยังไม่ได้ทดสอบ


0

ให้ฉันแนะนำสิ่งที่คุณควรดำเนินการต่อไปหากคุณสงสัย / รู้ว่าคุณมีเซกเตอร์ที่ไม่ดี:

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.