Respuestas:
A veces es inapropiado usar las capacidades de reubicación automática del sector de una unidad, por lo que la pregunta planteada por ohho se vuelve distintiva:
Si hay un sector defectuoso, entonces:
- considere esto antes de realizar cualquier acción que pueda causar la reubicación (o reasignación o preservación, o como lo llame).
Si bien SpinRite 6 no es para Mac, una página de 2003 para la versión 5 es esclarecedora:
Tenga en cuenta la sección sobre reubicación automática y el riesgo asociado de daños.
SpinRite a un lado, avance rápido una década de 2003 a 2013:
A la pregunta aquí ...
Para Mac, para OS X, no conozco nada tan capaz y cuidadoso como SpinRite (nada para deshabilitar la reubicación automática).
Por lo tanto, tal como están las cosas: para verificar los sectores de un disco en USB con OS X , es probable que estemos limitados a usar utilidades que puedan causar la reubicación . No puedo estimar el grado de riesgo de daños asociados, pero si ese riesgo es aceptable , primero debo dirigirme hacia:
Sugerencia: lo que está bajo la pregunta relacionada (1) es más fácil de usar de inmediato.
El sistema operativo por sí solo no puede usar tecnologías SMART en unidades que son externas en buses como USB 2.0 y FireWire.
En otros lugares hay una gran cantidad de información (y malentendidos), así que enfocaré esta parte de la respuesta en solo un punto:
Kasbert / OS-X-SAT-SMART-Driver en GitHub:
... un controlador de kernel para unidades externas USB o FireWire de Mac OS X. Extiende el comportamiento estándar del controlador al proporcionar acceso a los datos SMART de la unidad. La interfaz con los datos SMART es la misma que con el controlador de la familia ATA, por lo que la mayoría de las aplicaciones existentes deberían funcionar. El controlador requiere una caja de unidad externa compatible con SAT (traducción SCSI ATA). ...
Si prueba este KEXT con Lion, al igual que con cualquier extensión de kernel de terceros, proceda con precaución.
El comando incorporado de OS X fsck_hfs
tiene una opción -S
que aparentemente verificará si hay un bloqueo defectuoso en un disco duro USB en OS X.
Desde la página de manual oficial :
-S Causa que fsck_hfs escanee todo el dispositivo buscando errores de E / S. Intentará asignar los bloques con errores a los nombres, similar a la opción -B .
Ejemplo:
fsck_hfs -fy -S /dev/disk3s11
Parece estar haciendo que cuando se ejecuta en particiones sin bloques defectuosos, pero todavía tengo que comprobar / documento de lo que hace cuando no hay bloques defectuosos.
Abra el Terminal.app en Aplicaciones / Utilidades.
Corta y pega esto dentro para instalar Brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Instale e2fsprogs con brew:
brew install e2fsprogs
Escriba diskutil list
para encontrar su dispositivo (/ dev / diskX)
Ejecutar badblocks
en su dispositivo: (reemplace la X con el número de su dispositivo)
/usr/local/Cellar/e2fsprogs/1.44.3/sbin/badblocks -v /dev/diskX
Operation not permitted while trying to determine device size
(con / sin sudo)
Dependiendo del sistema de archivos en la unidad, puede ejecutar
fsck_msdos /dev/disk1s1
Esto verificaría un FAT FS. Tal vez eso es lo que quieres? Los comandos posibles son:
fsck_cs
fsck_exfat
fsck_hfs
fsck_msdos
fsck_udf
fsck_hfs -S
escanea todo el contenido del sistema de archivos y asigna bloques con errores de E / S a los nombres.
La única forma de saber realmente es escribir en cada sector y volver a leerlo para ver si recupera lo mismo, buscando errores en el camino.
badblocks
bajo Linux hace esto. badblocks
tiene un modo de prueba de lectura / escritura no destructiva.
Bajo Windows, creo que si se invoca chkdsk
con el /F
, /B
y /R
las opciones que pondrá a prueba cada sector para los sectores defectuosos. Tampoco es destructivo, pero no estoy seguro de si realmente escribe en cada sector para probar.
Esta respuesta de Superusuario sugiere que SpinRite 6 también puede hacer lo mismo, pero no lo he probado.
Permítame aconsejarle en qué orden debe proceder si sospecha / sabe que tiene sectores defectuosos:
1) Haga una copia de su partición completa a otro dispositivo usando dd (busque el nombre de su partición usando df
). Esto puede llevar un tiempo, tal vez más de un día en un disco USB2 para 400 Gb. bs=
lo acelera (factor 5 o más), sync
llena los bloques de entrada con ceros si hubo errores de lectura.
dd if=/dev/disk3s8 of=/dev/disk4s9 bs=1024k conv=noerror,sync
2) Luego verifique si realmente funcionó, no solo la estructura de la carpeta sino también el contenido.
3) Si no fuera así, intente copiar el contenido de su partición a nivel de archivo.
cp -Rp /Volumes/<source>/ /Volumes/<destination>/
4) Solo ahora, que ha intentado guardar todo lo que puede sin tocar el sistema de archivos, ejecute una verificación en la partición. -f
La opción forzará incluso si parece estar bien, -S
busca bloques defectuosos. No se garantiza que esta operación no sea restrictiva, pero podría salvar su disco.
fsck_hfs -fS /dev/disk3s8