¿Es probable que una degradación física de un disco duro pueda hacer que los bits se "volteen" en el contenido del archivo sin que el sistema operativo "lo note" y le informe al leer el archivo? p. ej., una 'p' en un archivo de texto ASCII (binario 0111000 0 ) puede cambiar a 'q' (0111000 1 ) y luego un usuario (yo) puede abrir el archivo y ver 'q' sin darse cuenta de que hay una falla ¿ha ocurrido?
Estoy interesado en respuestas relacionadas con FAT, NTFS o ReFS ... si hace la diferencia.
Quiero saber si el sistema operativo me protege de esto, o si debería verificar mis datos para determinar si hay invariancias entre copias / a lo largo del tiempo.
windows
hard-drive
filesystems
hardware-failure
data-integrity
topo Restablecer Monica
fuente
fuente
Respuestas:
Sí , hay una cosa llamada putrefacción.
Pero no , no te afectará desapercibido.
Cuando una unidad escribe un sector en los platos, no solo escribe los bits de la misma manera que están almacenados en la RAM, sino que utiliza una codificación para asegurarse de que no haya secuencias del mismo bit que sean demasiado largas. y agrega códigos ECC, que le permiten reparar errores que afectan a unos pocos bits y detectar errores que afectan a más de unos pocos bits.
Cuando la unidad lee el sector, verifica estos códigos ECC y repara los datos, si es necesario y posible. Lo que sucede a continuación depende de las circunstancias y del firmware del disco, que está influenciado por la designación del disco.
(Esta es una de las principales diferencias entre las unidades que se venden como unidades "de escritorio", "NAS / RAID" o "videovigilancia". Una unidad RAID puede simplemente renunciar rápidamente y hacer que el controlador repare el sector para evitar la latencia en el lado del usuario. Una unidad de escritorio volverá a intentarlo una y otra vez, ya que hacer que el usuario espere unos segundos probablemente sea mejor que decirle que se pierden los datos. Ni siquiera se note.)
De todos modos, la unidad sabrá si ha habido un poco de putrefacción, generalmente se recuperará de ella, y si no puede, le dirá al controlador que a su vez le dirá al controlador qué le dirá al sistema operativo. Luego, depende del sistema operativo presentar este error al usuario y actuar en consecuencia. Por eso dice cibernard
la unidad sabrá que hay algo mal con el sector, pero no sabe qué bits han fallado. (Un solo bit que ha fallado siempre será detectado por ECC).
Tenga en cuenta que chkdsk y la reparación automática de sistemas de archivos no abordan la reparación de datos dentro de los archivos. Esos están dirigidos a la corrupción dentro de la estructura del sistema de archivos; como un tamaño de archivo diferente entre la entrada del directorio y el número de bloques asignados. La función de recuperación automática de NTFS detectará daños estructurales y evitará que afecten aún más sus datos, no reparará ningún dato que ya esté dañado.
Por supuesto, hay otras razones por las cuales los datos pueden dañarse. Por ejemplo. RAM defectuosa en un controlador puede alterar los datos incluso antes de que se envíen a la unidad. En ese caso, ningún mecanismo en el disco detectará o reparará los datos, y esta puede ser una de las razones por las cuales la estructura de un sistema de archivos está dañada. Otras razones incluyen errores simples de software, apagón al escribir el disco (aunque esto se soluciona mediante el registro en diario del sistema de archivos) o controladores de sistema de archivos defectuosos (el controlador NTFS en Linux se configuró en modo de solo lectura durante mucho tiempo, ya que NTFS fue ingeniería inversa, no documentada , y los desarrolladores no confiaron en su propio código).
Estas otras razones son la razón por la cual algunos sistemas de archivos, como ZFS, mantienen información adicional de suma de verificación para detectar errores. Están diseñados para protegerlo de muchas más cosas que pueden salir mal, además de la putrefacción.
fuente
Sí, los discos duros pueden y se degradan sin advertencia del sistema operativo. Se llama poco pudrición . Nunca he presenciado un solo error, pero he visto muchos discos duros donde sectores enteros han fallado.
Windows no tiene protección incorporada del contenido del archivo más allá de la estructura del sistema de archivos NTFS. Piense en NTFS como un libro: bueno, solo protege la tabla de contenido y verifica que las cosas coincidan. Sin embargo, si el daño está en el medio de una página, no ofrece protección. FAT no tiene nada. Los discos duros emplean la corrección de errores de ECC por sector, pero el disco no le dice a Windows. Algunos tipos de archivos tienen específicamente hashes CRC, MD5 o SHA para detectar daños, pero no arreglan nada.
Incluso entonces, el hash solo te dice que hay un problema, pero no sabe dónde se encuentra el error.
El disco duro tiene SMART que monitorea la salud del disco duro, pero a menos que el disco esté en la puerta de la muerte, el BIOS no lo advertirá. Peor aún, SMART a menudo está deshabilitado de manera predeterminada en su BIOS. Puede monitorear los números a través del software, pero diferentes unidades tienen diferentes problemas. Si tiene muchos sectores reubicados, o sus errores de ECC aumentan constantemente. Si tiene 100,000 nuevos ECC todos los días, es una mala señal.
Muchos tipos de archivos no tienen protección contra la descomposición de bits . Como TXT y BMP, que no tienen ninguna protección. Winrar tiene una opción opcional para agregar datos de paridad al archivo que hará que el archivo sea más grande, pero puede detectar (proporcionalmente a la cantidad de datos de paridad agregados) y reparar este tipo de error.
Todos los demás programas de compresión que conozco detectan errores, pero no pueden hacer nada al respecto.
Eventualmente, los errores en un sector serán tan malos que ECC no puede corregirlo, y la unidad le dará lo que lee incluso si está equivocado.
Puede usar QuickPar o similar para crear archivos de datos de paridad, pero que yo sepa, no hay forma de automatizarlo. Por ejemplo, en realidad cambia el archivo usted mismo cuando tiene que actualizar manualmente la paridad. También puede tener datos de paridad para un grupo de archivos, pero cambia 1 archivo y se debe volver a crear todo el conjunto de paridad. Este es un verdadero dolor de cabeza para todos, pero una pequeña cantidad de archivos.
fuente
Sí, es posible. Windows es solo software. El software es una serie de instrucciones que debe seguir una computadora.
Piense en otro tipo de serie de instrucciones: un libro. ¿Qué pueden lograr esas instrucciones si están escritas en un libro que se encuentra en un estante y nadie se molesta en abrir el libro y leer esas instrucciones?
Así como esas instrucciones escritas requieren que una persona lea las instrucciones y comience a seguirlas, el software de la computadora requiere hardware para hacer cosas que sean útiles. Incluso si un libro tiene instrucciones que fueron escritas con una precisión fabulosa, eso no evita problemas si una persona decide leer las instrucciones, pero luego implementarlas incorrectamente. Del mismo modo, el software no puede evitar que el hardware haga cosas malas. Entonces, el hardware roto puede triunfar físicamente sobre lo que puede hacer cualquier pieza de software, incluido Microsoft Windows.
Ahora, ReFS puede diseñarse con la intención de que el software almacene detalles sobre los datos y que el software compare esos detalles más adelante. Un concepto simple es "suma de verificación", donde el software agrega ciertos valores y se asegura de que esos valores coincidan con el resultado esperado. Cuando el hardware implementa ese software, se pueden detectar ciertos malos resultados. Esto incluso puede ser muy probable que funcione. Sin embargo, dado que el número de problemas potenciales, que podrían existir en teoría, es básicamente un número infinito, no hay garantía de que el software detecte necesariamente cada problema. (Tenga en cuenta que el software es una serie de instrucciones que se creó con anticipación).
FAT es particularmente bajo en características. FAT12 fue diseñado para disquetes y FAT16 para sistemas de hasta 4 GB (aunque la mayor parte de la implementación de Microsoft de FAT16 tendió a no funcionar por encima de 2 GB). Sin la extensión VFAT, ninguno de ellos admitía nombres de archivo de más de 11 caracteres (algunos de los cuales estarían en una parte llamada "extensión"). FAT fue diseñado simplemente para almacenar datos en un momento en que la capacidad de almacenar datos era un concepto novedoso sobre el que los adultos debían aprender. Cuando FAT se consideraba una tecnología "de vanguardia", la tecnología informática aún no era lo suficientemente frecuente y elaborada para que las personas se preocuparan por las funciones avanzadas.
NTFS agregó soporte para algunas características más, quizás más notablemente haciendo que el sistema operativo pueda realizar un seguimiento de los permisos del usuario. Hay diferentes versiones de NTFS. Por ejemplo, Moab señala que Windows Server 2008 agregó soporte para NTFS de recuperación automática, que puede detectar algunas cosas. Aún así, esa característica era nueva en Windows Server 2008, por lo que no es algo compatible con Windows XP (o Windows Server 2003 o anterior). Aún así, al revisar la lista de características, parece que esto involucró algunos metadatos que ayudan al sistema operativo a detectar problemas que son tan graves que el disco no puede montarse u otras áreas clave del disco que afectan el núcleo del sistema operativo. No parecía que cada dato, en cada archivo, se viera afectado por esta característica en particular.
Es extremadamente improbable que el software para tales sistemas operativos note tales cosas, a menos que causen problemas notables para que el sistema operativo realice tareas. Puede haber algunas excepciones, como las partes del sistema operativo que verifican los discos (CheckDsk / ChkDsk / ScanDisk / ScanDskW, dependiendo del sistema operativo), pero incluso estarán bastante limitados en lo que pueden detectar, en gran parte porque los sistemas de archivos no funcionan No almacene una gran cantidad de datos destinados a ser útiles para la comprobación del disco.
(RAID5 podría ser más propenso a detectar tales cosas, ya que cada bit tiene un bit de paridad que ayudaría a notar algo inusual. Incluso entonces, dependería de la implementación de RAID ejecutar una verificación para notar el problema. Si el problema ocurrió en una parte del disco con la que no se está trabajando activamente, el problema puede pasar desapercibido hasta que alguien intente comenzar a usar esos datos).
En tiempos más recientes, un mayor número de bits significaba que las probabilidades pequeñas, como las posibilidades de "1 en 10 millones", tenían más probabilidades de afectar las cosas. El público en general también ha aprendido sobre los "rayos cósmicos", que pueden tener un pequeño impacto en las cosas. Dado que los bits están tan apretados en dispositivos más nuevos, los requisitos físicos para representar un bit son más pequeños, por lo que incluso los impactos pequeños tienen más probabilidades de alterar la forma en que se reconoce un bit. ReFS tiene algunas características diseñadas para ayudar a detectarlas. El artículo de Wikipedia sobre ReFS se refiere a esto como "comprobación automática de integridad". Como se describe como una característica notable de este sistema de archivos, es probable que tales características estén más desarrolladas que con NTFS (y ciertamente más que FAT, que era de naturaleza comparativamente simple).
fuente