Risposte:
A volte è inappropriato utilizzare le funzionalità di trasferimento automatico del settore di un'unità, quindi la domanda sollevata da ohho diventa distintiva:
Se c'è un settore difettoso, allora dovrai:
- consideralo prima di eseguire qualsiasi azione che possa causare il trasferimento (o rimappatura o risparmio, o come lo chiami).
Sebbene SpinRite 6 non sia per Mac, una pagina del 2003 per la versione 5 è illuminante:
Notare la sezione relativa al trasferimento automatico e al rischio associato di perdita di dati.
SpinRite a parte, avanti rapidamente di un decennio dal 2003 al 2013:
Alla domanda qui ...
Per Mac - per OS X - Non conosco nulla di così capace e attento come SpinRite (niente per disabilitare l'auto-riposizionamento).
Quindi, per come stanno le cose: per verificare i settori di un disco su USB con OS X , probabilmente siamo limitati all'uso di utility che possono causare il trasferimento . Non riesco a stimare il grado di rischio della perdita di dati associata, ma se tale rischio è accettabile, dovrei prima orientarmi verso:
Suggerimento: ciò che è sotto la relativa domanda (1) è immediatamente più intuitivo.
Il sistema operativo da solo non può utilizzare le tecnologie SMART su unità esterne su bus come USB 2.0 e FireWire.
Altrove ci sono molte informazioni (e incomprensioni;) quindi focalizzerò questa parte della risposta su un solo punto:
kasbert / OS-X-SAT-SMART-Driver su GitHub:
... un driver del kernel per unità esterne USB o FireWire di Mac OS X. Estende il comportamento standard del driver fornendo l'accesso all'azionamento dei dati SMART. L'interfaccia con i dati SMART è la stessa del driver della famiglia ATA, quindi la maggior parte delle applicazioni esistenti dovrebbe funzionare. Il driver richiede un contenitore di unità esterno compatibile SAT (traduzione SCSI ATA). ...
Se provi questo KEXT con Lion, allora - come con qualsiasi estensione del kernel di terze parti - procedi con cautela.
Il comando integrato di OS X fsck_hfs
ha un'opzione -S
che apparentemente controllerà se c'è un blocco difettoso su un disco rigido USB su OS X.
Dalla pagina man ufficiale :
-S Causa fsck_hfs per esplorare l'intero dispositivo di ricerca di errori di I / O. Tenterà di mappare i blocchi con errori ai nomi, in modo simile all'opzione -B .
Esempio:
fsck_hfs -fy -S /dev/disk3s11
Sembra che lo faccia quando viene eseguito su partizioni senza blocchi danneggiati, ma devo ancora controllare / documentare cosa fa quando ci sono blocchi danneggiati.
Apri Terminal.app in Applicazioni / Utility.
Taglialo e incollalo all'interno per installare Brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Installa e2fsprogs con brew:
brew install e2fsprogs
Digita diskutil list
per trovare il tuo dispositivo (/ dev / diskX)
Esegui badblocks
sul tuo dispositivo: (sostituisci la X con il tuo numero di dispositivo)
/usr/local/Cellar/e2fsprogs/1.44.3/sbin/badblocks -v /dev/diskX
Operation not permitted while trying to determine device size
(con / senza sudo)
A seconda del filesystem sull'unità è possibile eseguire
fsck_msdos /dev/disk1s1
Ciò verificherebbe un FAT FS. Forse è quello che vuoi? I comandi possibili sono:
fsck_cs
fsck_exfat
fsck_hfs
fsck_msdos
fsck_udf
fsck_hfs -S
esegue la scansione dell'intero contenuto del file system e mappa i blocchi con errori I / O sui nomi.
L'unico modo per sapere davvero è quello di scrivere in ogni settore e rileggerlo per vedere se si ottiene la stessa cosa, controllando gli errori sulla strada.
badblocks
sotto Linux fa questo. badblocks
ha una modalità di test di lettura / scrittura non distruttiva.
In Windows, credo che se si richiama chkdsk
con il /F
, /B
e /R
opzioni che metterà alla prova ogni settore per i settori danneggiati. È anche non distruttivo, ma non sono sicuro che scriva effettivamente in ciascun settore da testare.
Questa risposta di Superuser suggerisce che anche SpinRite 6 può fare la stessa cosa ma non ho ancora testato.
Lascia che ti consigli in quale ordine dovresti procedere se sospetti / sai di avere settori danneggiati:
1) Crea una copia dell'intera partizione su un altro dispositivo usando dd (cerca il nome della tua partizione usando df
). Questo potrebbe richiedere del tempo, forse più di un giorno su un disco USB2 per 400Gb. bs=
accelera (fattore 5 o più), sync
riempie i blocchi di input di zero in caso di errori di lettura.
dd if=/dev/disk3s8 of=/dev/disk4s9 bs=1024k conv=noerror,sync
2) Quindi controlla se ha funzionato, non solo la struttura delle cartelle, ma anche aprire il contenuto.
3) In caso contrario, prova a copiare il contenuto della tua partizione a livello di file.
cp -Rp /Volumes/<source>/ /Volumes/<destination>/
4) Solo ora che hai provato a salvare il più possibile senza toccare il filesystem, esegui un controllo sulla partizione. -f
L'opzione forzerà anche se appare ok, -S
scansiona i blocchi danneggiati. Questa operazione non è garantita per essere non distruttiva, ma potrebbe salvare il disco.
fsck_hfs -fS /dev/disk3s8